diff -urp zsh-head/Src/Zle/zleparameter.c zsh-bindkey-crash/Src/Zle/zleparameter.c --- zsh-head/Src/Zle/zleparameter.c Tue Mar 7 13:31:44 2006 +++ zsh-bindkey-crash/Src/Zle/zleparameter.c Mon May 21 18:52:20 2007 @@ -75,6 +75,8 @@ createspecialhash(char *name, GetNodeFun static char * widgetstr(Widget w) { + if (!w) + return dupstring("undefined"); if (w->flags & WIDGET_INT) return dupstring("builtin"); if (w->flags & WIDGET_NCOMP) { @@ -127,6 +129,8 @@ scanpmwidgets(UNUSED(HashTable ht), Scan for (i = 0; i < thingytab->hsize; i++) for (hn = thingytab->nodes[i]; hn; hn = hn->next) { + if (!((Thingy) hn)->widget) + continue; pm.node.nam = hn->nam; if (func != scancountparams && ((flags & (SCANPM_WANTVALS|SCANPM_MATCHVAL)) ||