Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Suppress print_exit_value for single function



On Sat, 5 May 2018 15:10:54 +0000
Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> 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();




Messages sorted by: Reverse Date, Date, Thread, Author