Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
	T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:from:date:message-id:subject:to:content-type;
        bh=/4m1V8hLUI8+E3+Ius+BRm5ShQETD6CP8uoe64yv40k=;
        b=yj+9XDgxHr1SOpb2wV5G1mZWNF0OPD2sXn6s4AMDzIFu/TLNTLuLD5zjgyKfr7nnKC
         ja1EdjY7fp3zxSzFLBR8WQzE3383Yop7eY7Jdu50TdqB9UudH/D67A2jzL2peIByoffL
         +/R0mJ84R1TtPzCK0tbE1BJ0+mUVD7591QXeqmkjKZsc4HLlF4zk2/rj80SPg0FjgRH2
         7D+UpEqaZBbHZn02eiA7nq6UDJde+rdqrLQketRAFQ8+eeGYlsyPIUaYnz6pOxGtIuY6
         hn+xpzDr6pdBvwC+jTx/A8HMRz8zUCzMPGiSi9mnLrPVqQXOqNYDa/q7+uoAH/N64WCt
         dbHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to
         :content-type;
        bh=/4m1V8hLUI8+E3+Ius+BRm5ShQETD6CP8uoe64yv40k=;
        b=G/24IvKJ21gparfLza2pmUTVu6d5S+jg2prL7C3/4CgiG8KY7Jls2tD5b7yHEAiE14
         3NQTeOaR1rsfgZoEUtyQ619REGezmLFpnMag0InCojfr5hUCTzz6h+xX/P5A5f1IpWxD
         c4UBI4jxa4E3Ev5nureBJ5qa1tk/MkQVVdUDuNVzlN0L7wGunSh5uhtZMsAQe4qgIT+t
         j+vAnwZ+N8icE+j1m5jsy3CCVc8LD4P6kKw2zkmW4JYZquSZLSnNyjaKgCWHAqZMWfBU
         cmIdBsbL3ohjcpH8VhzujpSAdUnLwArllsduuHj5grotcgD69NRLh3As8sESobXsanGL
         64Gg==
X-Gm-Message-State: ALoCoQkdodoymapAnjGL7lF6vx/4vSNPzSjdUpAcNSL0DoDsd29LaVhm0lpm5TLhUIVFFWz94+HFe3jRJL6rpEmPdsJ2aWXpJA==
X-Received: by 10.25.83.209 with SMTP id h200mr5520129lfb.129.1452965134414;
 Sat, 16 Jan 2016 09:25:34 -0800 (PST)
MIME-Version: 1.0
From: Sebastian Gniazdowski <sgniazdowski@gmail.com>
Date: Sat, 16 Jan 2016 18:25:14 +0100
Message-ID: <CAKc7PVAGtkxB=QU8W_Uvy7msDqh82W-q78Cwp4uqW0op-VztxA@mail.gmail.com>
Subject: compadd -Q -U completes $(( without inserting upon it
To: Zsh hackers list <zsh-workers@zsh.org>
Content-Type: multipart/mixed; boundary=001a1141dadcb55671052976cee3
X-Seq: zsh-workers 37651

--001a1141dadcb55671052976cee3
Content-Type: text/plain; charset=UTF-8

Hello,
I have two completers, first one:

PREFIX='open'
SUFFIX=''
IPREFIX=""
ISUFFIX=""
words=( 'open' )
builtin compadd -Q -U 'open 0 + 1 close'

second one:
PREFIX='$(('
SUFFIX=''
IPREFIX=""
ISUFFIX=""
words=( '$((' )
builtin compadd -Q -U '$(( 0 + 1 ))'

With first one, if I do "open<TAB>", I get: "open 0 + 1 close". With
second one, when I do "$((<TAB>", I get "$(($(( 0 + 1 ))'.

This looks like zsh source has embedded tweaks to make math
($compstate[context] is "math" in second case) completing work more
reasonably. Is there a way to overcome this?

Video:
https://asciinema.org/a/9o1wwp76t0z2j2fz15aoucwym

To test the attached files:

autoload compadd_test ; zle -N compadd_test
autoload compadd_test2 ; zle -N compadd_test2

then:

zstyle ':completion:*' completer compadd_test _complete

or:

zstyle ':completion:*' completer compadd_test2 _complete

Best regards,
Sebastian Gniazdowski

--001a1141dadcb55671052976cee3
Content-Type: application/octet-stream; name=compadd_test
Content-Disposition: attachment; filename=compadd_test
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ijhdr7uk0

UFJFRklYPSdvcGVuJwpTVUZGSVg9JycKSVBSRUZJWD0iIgpJU1VGRklYPSIiCndvcmRzPSggJ29w
ZW4nICkKCmJ1aWx0aW4gY29tcGFkZCAtUSAtVSAnb3BlbiAwICsgMSBjbG9zZScKCiMgdmltOmZ0
PXpzaAo=
--001a1141dadcb55671052976cee3
Content-Type: application/octet-stream; name=compadd_test2
Content-Disposition: attachment; filename=compadd_test2
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ijhdr7v51

UFJFRklYPSckKCgnClNVRkZJWD0nJwpJUFJFRklYPSIiCklTVUZGSVg9IiIKd29yZHM9KCAnJCgo
JyApCgpidWlsdGluIGNvbXBhZGQgLVEgLVUgJyQoKCAwICsgMSApKScKCiMgdmltOmZ0PXpzaAo=
--001a1141dadcb55671052976cee3--

