diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Zle/zle_main.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 18cdabe01..7449386e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-05-08 Peter Stephenson <p.stephenson@samsung.com> + + * 42751: Src/Zle/zle_main.c: Protect shell status around + time function execution in line editor. + 2018-05-02 Oliver Kiddle <okiddle@yahoo.co.uk> * Eitan Adler: 42740: Completion/BSD/Command/_systat: diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index be2b062b0..b78c47eed 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(); |