zsh-workers
 help / color / mirror / code / Atom feed
* [PATCH 1/2] Add an XFail test: The exec-last-command optimization is applied to try/always.
@ 2020-01-15 18:02 Daniel Shahaf
  2020-01-15 18:02 ` [PATCH 2/2] Do execute the always block even when the try/always block itself is the last command Daniel Shahaf
  0 siblings, 1 reply; 2+ messages in thread
From: Daniel Shahaf @ 2020-01-15 18:02 UTC (permalink / raw)
  To: zsh-workers

---
 Test/A01grammar.ztst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst
index d3a591761..1e0e9a04e 100644
--- a/Test/A01grammar.ztst
+++ b/Test/A01grammar.ztst
@@ -928,3 +928,7 @@ F:Note that the behaviour of 'exit' inside try-list inside a function is unspeci
 >PIPE
 >and true
 >or false
+
+ $ZTST_testdir/../Src/zsh -fc '{ ( ) } always { echo foo }'
+-f:exec last command optimization inhibited for try/always
+>foo

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 2/2] Do execute the always block even when the try/always block itself is the last command.
  2020-01-15 18:02 [PATCH 1/2] Add an XFail test: The exec-last-command optimization is applied to try/always Daniel Shahaf
@ 2020-01-15 18:02 ` Daniel Shahaf
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Shahaf @ 2020-01-15 18:02 UTC (permalink / raw)
  To: zsh-workers

Fixes the test added in the previous commit.
---
Is this correct?

I guess it'll have to wait for 5.9, or at least 5.8.1?  (as opposed to 5.8.0)

Cheers,

Daniel


 Src/loop.c           | 2 +-
 Test/A01grammar.ztst | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Src/loop.c b/Src/loop.c
index 538afb8dc..57858a150 100644
--- a/Src/loop.c
+++ b/Src/loop.c
@@ -742,7 +742,7 @@ exectry(Estate state, int do_exec)
 
     /* The :try clause */
     ++try_tryflag;
-    execlist(state, 1, do_exec);
+    execlist(state, 1, 0);
     --try_tryflag;
 
     /* Don't record errflag here, may be reset.  However, */
diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst
index 1e0e9a04e..0dbf468f6 100644
--- a/Test/A01grammar.ztst
+++ b/Test/A01grammar.ztst
@@ -930,5 +930,5 @@ F:Note that the behaviour of 'exit' inside try-list inside a function is unspeci
 >or false
 
  $ZTST_testdir/../Src/zsh -fc '{ ( ) } always { echo foo }'
--f:exec last command optimization inhibited for try/always
+0:exec last command optimization inhibited for try/always
 >foo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-01-15 18:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15 18:02 [PATCH 1/2] Add an XFail test: The exec-last-command optimization is applied to try/always Daniel Shahaf
2020-01-15 18:02 ` [PATCH 2/2] Do execute the always block even when the try/always block itself is the last command Daniel Shahaf

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).