From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18024 invoked by alias); 5 Jul 2016 04:58:09 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 21729 Received: (qmail 590 invoked from network); 5 Jul 2016 04:58:04 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.1 Date: Tue, 05 Jul 2016 04:57:58 +0000 From: Daniel Shahaf To: zsh-users@zsh.org Subject: ${(k)widgets} v. 'zle -la' Message-ID: <20160705045758.GA18441@tarsus.local2> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) $ zsh -f % bindkey zzzzzz foobar % zle -la | grep foobar % print -rl -- ${(k)widgets} | grep foobar foobar % Is it intentional that 'foobar' is listed by 'zle -la' but not by ${(k)widgets}? I'd expected those two to enumerate the same set of widgets. Observations: - The manual speaks of "all existing widgets" for the former and of "all defined widgets" for the latter. - The thingy has the 'DISABLED' flag: (gdb) p *(Thingy)thingytab->getnode2(thingytab, "foobar") $1 = {next = 0x7ffff5e73688 , nam = 0x6fb210 "foobar", flags = 1, rc = 1, widget = 0x0, samew = 0x0}