* Re: Suppress print_exit_value for single function
[not found] ` <20180505151054.k4iwezfirs3uemsk@tarpaulin.shahaf.local2>
@ 2018-05-08 9:00 ` Peter Stephenson
0 siblings, 0 replies; only message in thread
From: Peter Stephenson @ 2018-05-08 9:00 UTC (permalink / raw)
Cc: Zsh hackers' list
On Sat, 5 May 2018 15:10:54 +0000
Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
> So, isn't the answer to that to teach the C code not to write the
> return value of a sched function to the global value of $? — but to
> keep printing printexitvalue warnings for sched functions?
Hook functions and the like are supposed to do this --- but I think when
I added the ability to run sched on a timer maintained by the line
editor, instead of just before a prompt as used to happen before that,
this got lost.
pws
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index be2b062..b78c47e 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -631,6 +631,8 @@ raw_getbyte(long do_keytmout, char *cptr)
continue;
}
if (selret == 0) {
+ zlong save_lastval;
+
/*
* Nothing ready and no error, so we timed out.
*/
@@ -648,6 +650,7 @@ raw_getbyte(long do_keytmout, char *cptr)
break;
case ZTM_FUNC:
+ save_lastval = lastval;
while (firstnode(timedfns)) {
Timedfn tfdat = (Timedfn)getdata(firstnode(timedfns));
/*
@@ -661,6 +664,7 @@ raw_getbyte(long do_keytmout, char *cptr)
break;
tfdat->func();
}
+ lastval = save_lastval;
/* Function may have messed up the display */
if (resetneeded)
zrefresh();
^ permalink raw reply [flat|nested] only message in thread