From b12c16850521328a396bb62c3b07558f9308c621 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 10 Sep 2004 18:03:33 +0000 Subject: 20348: rejig WIDGETSTYLE and add WIDGETFUNC --- Src/Zle/zle_params.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'Src') diff --git a/Src/Zle/zle_params.c b/Src/Zle/zle_params.c index efbad97f5..d5fa6dd26 100644 --- a/Src/Zle/zle_params.c +++ b/Src/Zle/zle_params.c @@ -93,6 +93,8 @@ static struct zleparam { zleunsetfn, NULL }, { "WIDGET", PM_SCALAR | PM_READONLY, NULL, FN(get_widget), zleunsetfn, NULL }, + { "WIDGETFUNC", PM_SCALAR | PM_READONLY, NULL, FN(get_widgetfunc), + zleunsetfn, NULL }, { "WIDGETSTYLE", PM_SCALAR | PM_READONLY, NULL, FN(get_widgetstyle), zleunsetfn, NULL }, { NULL, 0, NULL, NULL, NULL, NULL } @@ -280,6 +282,21 @@ get_widget(UNUSED(Param pm)) return bindk->nam; } +/**/ +static char * +get_widgetfunc(UNUSED(Param pm)) +{ + Widget widget = bindk->widget; + int flags = widget->flags; + + if (flags & WIDGET_INT) + return ".internal"; /* Don't see how this can ever be returned... */ + else if (flags & WIDGET_NCOMP) + return widget->u.comp.func; + else + return widget->u.fnnam; +} + /**/ static char * get_widgetstyle(UNUSED(Param pm)) @@ -292,7 +309,7 @@ get_widgetstyle(UNUSED(Param pm)) else if (flags & WIDGET_NCOMP) return widget->u.comp.wid; else - return widget->u.fnnam; + return ""; } /**/ -- cgit 1.4.1