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

Re: [PATCH] exec compatibility



On 2007-05-06 at 22:56 -0700, Bart Schaefer wrote:
> One thing that rather annoys me about all this is that
> 
> 	zsh% - exec sh
> and
> 	zsh% exec - sh
> 
> seem no longer to be equivalent.  Am I wrong about that?

Uhm, I think so.  Test results below, and I didn't change anything that
would affect the prefix processing of - as the first modifier and I was
very careful to ensure that a single - would be left unmolested, with
this:
  while (next && *next == '-' && strlen(next) >= 2) {
bit in the options processing for the BINF_EXEC case.  That code's still
there in pws's improved patch.  So - always sets BINF_DASH which will be
handled as before.

Perhaps with a commit an extra comment should be added just above that
line, noting that - needs to be carefully left alone as it's a
precommand modifier in its own right.  I really shouldn't have left that
unremarked upon in the code.


Nuked ~/dbg/bin/zsh* and ~/dbg/lib/zsh
Took cvs HEAD and patched with pws's patch.  Built and installed, with
--prefix=$HOME/dbg set.

Below:
 * Double-nesting of ./dbg/bin/zsh to protect against an accidental
   extra EOF or similar mishap
 * leading [N] is SHLVL, so "$ [2]" means there's a Ctrl-D in there


-pdp@xxxxxxxxxxxxxxxx:p0[0:20](1032)~% ./dbg/bin/zsh
[2]-pdp@xxxxxxxxxxxxxxxx:p0[0:20](1025)~% ./dbg/bin/zsh
[3]-pdp@xxxxxxxxxxxxxxxx:p0[0:20](1001)~% exec -l sh
$ echo $0
-sh
$ [2]-pdp@xxxxxxxxxxxxxxxx:p0[0:21](1026)~% ./dbg/bin/zsh
[3]-pdp@xxxxxxxxxxxxxxxx:p0[0:21](1001)~% - exec sh
$ echo $0
-sh
$ [2]-pdp@xxxxxxxxxxxxxxxx:p0[0:21](1027)~% ./dbg/bin/zsh
[3]-pdp@xxxxxxxxxxxxxxxx:p0[0:21](1001)~% exec - sh
$ echo $0
-sh
$ [2]-pdp@xxxxxxxxxxxxxxxx:p0[0:21](1028)~% 



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