Re: [v2 PATCH] eval: Reset handler when entering a subshell

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/03/2019 13:57, Herbert Xu wrote:
On Sat, Mar 02, 2019 at 01:28:44PM +0000, Harald van Dijk wrote:

That is *a* real bug here, not *the* real bug. This leaves the buggy
behaviour of the "command" built-in intact in the test case I included in
the message you replied to.

I don't quite understand.  Could you explain what is still buggy
after the following patch?

I gave this example in my previous message:

  command . /dev/stdin <<EOF
  set -o invalid
  echo a
  EOF
  echo b

Ordinarily, "set -o invalid" is a "special built-in utility error", for which the consequence is that a non-interactive shell "shall exit". If it weren't a special built-in utility, it would be an "other utility (not a special built-in) error", for which a non-interactive shell "shall not exit".

The effect of the command built-in is that "if the command_name is the same as the name of one of the special built-in utilities, the special properties in the enumerated list at the beginning of Special Built-In Utilities shall not occur." This is ambiguous as to whether it is just about the special properties associated with the . command, or whether it includes those associated with the set command called indirectly, but it must be one or the other. If it includes the set command, then the shell shall not exit, and the correct output is a followed by b. If it does not include the set command, then the shell shall exit, and the correct output is nothing. dash outputs b, which is wrong in either case.

Cheers,
Harald van Dijk



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux