From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5262 invoked by alias); 3 Nov 2014 08:51:34 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 33594 Received: (qmail 22626 invoked from network); 3 Nov 2014 08:51:20 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1415004332; bh=RL6r/SslmJVyIOIe+dqV3nlgbJft5GQ6k/Bd2Xq1/So=; h=In-reply-to:From:References:To:Subject:Date:From:Subject; b=D+aoPkV3NmRyIPB8hPyZHWtk+Pc5JZC0Xwch1tFzd4Hu0TEgBJWXYUYp/ER6U/SAgoGMXQNzMOJBjDr2h3bS0y47yoxLTSjjE5K4WstBlwVX3DhufwA03UrbC/Hy92EA8adA9yftSWaiD3ATrUUjOY9fpqZZptaGKbj7lTCsih7eTgRyjI7LmfTyg6WM/6difvuGnXZ8Vl4w5WX3DgmGK1CgWRSQrVIBaqrE0+Of9550T8+XsaqrfPLBJLAjUXgG5Z7qIkPpD5/rIkA0EdSzIUsmKyVJFLr6bmWErqYXMeBFK3mQXaxQJiR1di/t7fd5v3YXkT46ipYGvx4Zcb2Dqw== DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s2048; d=yahoo.co.uk; b=mJcdr3w6lcYWONldnVXT+JZq4aGcjf9xFAhqAq72Br5GbWILeizZTTXRKGev/BSrJnEwiruguK2svVr+FKhE86yXKj7GuDjbAAxDa0WXlHFB8IiM9YV2XG1vRonGqArCOxEOJjzg3mDLWIBA1nLxAMuhKaCsqx3YkGJRBQj94USU1Z8IjxTGRUxTE2RbXX4k4IsaXGpJTQQIC/82HbGRKe0NqQpLnfcxeJnw7kImWumBOjGKA96JDKsb0FBPkx44vuI4d7qlLpuP7X9qTz73OR0vAR29yyjx35OhQ1TyrDWIIkFwFJ/AHnK+NNnq/oKxh8hldydQRKM8sPQzYZqXqA==; X-Yahoo-Newman-Id: 43757.53087.bm@smtp106.mail.ir2.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: CoA9F90VM1kjConzxWstwB_P66JIz_cnr6AGQmn4Xbnx6cW uM_q6ENmpb7LhCbaPOHzN6k1KOXSWLGkkfO16hx7rLt1lGajUvFHBTcSM8VR x6S9Mh1roBIsJptgTB.sH0YgtL1Mfwn3qXH5ikSnRV3OszPYq8CPAcrkoe7y 1FMJIk4fyVVZJSDQUur6Otu0KB6XZPbUXnmxc7NHZtYnWOkamBO6g92MENjj 3Pl.hhUr27PMxNIuWEcZSbmlyNJSNntn21yejKz3m9cjADmQUI9_Dkne3bL7 a_2xUcNpcGGiqOJgwknPH4u3dAz0D2pujGKjLKspmxiV1fGsSIGSHBcb7Sge FfwhWJeKK2VP.tYk1N7ZmOb9m3Ww29vA65GnJ6CUvx4BDh8FmAHtzlySmuje sEAuHGlqmH3J2z68Bmhr1DZKctJM9xOOk3J.GYW1onrR.fgx9n73MXF4SWW5 SOnCvxAReWftCJmMh7AlCrZIKdJG22QhMe4jli._PF7iNgz3uJl1SXfSgmPT 7Vses03PeaiZ6fKS5A1AeI6YOPnqgog-- X-Yahoo-SMTP: opAkk_CswBAce_kJ3nIPlH80cJI- In-reply-to: <1050927145304.ZM23258@candle.brasslantern.com> From: Oliver Kiddle References: <1050927145304.ZM23258@candle.brasslantern.com> To: Zsh workers Subject: PATCH: give precedence to local keymaps (was Re: More on getkeycmd()) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <18643.1415004319.1@thecus.kiddle.eu> Date: Mon, 03 Nov 2014 09:45:30 +0100 Message-ID: <18653.1415004330@thecus.kiddle.eu> I'd like to back out the change in 21770: At the time, on 27 Sep 2005, Bart wrote: > It occurred to me that the patch I posted in 21760 causes longer bindings > in the local map to hide prefixes in the global map. That's probably not > the desired behavior; the change would be as follows. Should this get > committed also? I find in practice that this hiding is my desired behaviour. The alternative is shorter bindings in the global map hiding longer ones in the local map. If you want to preserve the global binding, simply don't bind longer ones in the local map. The other way around tends to be less possible because the global map has a wider purpose. Oliver diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index 2e54e7f..e21e769 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -1435,10 +1435,9 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp) loc = ((f = keybind(localkeymap, keybuf, &s)) != t_undefinedkey); ispfx = keyisprefix(localkeymap, keybuf); } - if (!loc && !ispfx) { + if (!loc) f = keybind(km, keybuf, &s); - ispfx = keyisprefix(km, keybuf); - } + ispfx |= keyisprefix(km, keybuf); if (f != t_undefinedkey) { lastlen = keybuflen;