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

Re: DEBUG_CMD_LINE (Was Re: PATCH: skip command from debug trap)



On Thu, Aug 7, 2008 at 8:06 AM, Peter Stephenson <pws@xxxxxxx> wrote:
> On Thu, 7 Aug 2008 11:40:30 +0100
> Stephane Chazelas <Stephane_Chazelas@xxxxxxxx> wrote:
>> On Thu, Aug 07, 2008 at 11:14:38AM +0100, Peter Stephenson wrote:
>> [...]
>> > > BTW, shouldn't PROMPT_SUBST be enabled by default in sh and ksh
>> > > emulation?
>> >
>> > If they do that, then presumably yes.
>> [...]
>>
>> It's required by SUSv3 for non-priviledged users for systems
>> supporting the User Portability Utilities option (so include the
>> sh of Unix conformant systems, but not necessarily POSIX
>> conformant ones I suppose).
>
> Looks like it's already set up for ksh.  It should probably be turned on
> for other Bourne-style shells.  I suppose it wasn't done originally because
> at the time that meant old-fashioned, fairly limited Bourne shells, but
> nowadays it doesn't.  "promptvars" is on by default in bash.

Perhaps it is time to change the default in zsh as well. I don't think
it  ikely someone sets PS4 with backticks and $() and so on and
expects to see exactly those strings in trace output.

However if older zsh compatibility is a concern here, the usual thing
to do is warn that the option is changing, and after a release or so
make the change.

>
> Index: Doc/Zsh/options.yo
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/Doc/Zsh/options.yo,v
> retrieving revision 1.61
> diff -u -r1.61 options.yo
> --- Doc/Zsh/options.yo  12 Jun 2008 13:45:05 -0000      1.61
> +++ Doc/Zsh/options.yo  7 Aug 2008 12:04:46 -0000
> @@ -1009,7 +1009,7 @@
>  )
>  pindex(PROMPT_SUBST)
>  cindex(prompt, parameter expansion)
> -item(tt(PROMPT_SUBST) <K>)(
> +item(tt(PROMPT_SUBST) <K> <S>)(
>  If set, em(parameter expansion), em(command substitution) and
>  em(arithmetic expansion) are performed in prompts.  Substitutions
>  within prompts do not affect the command status.
> Index: Src/options.c
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/Src/options.c,v
> retrieving revision 1.43
> diff -u -r1.43 options.c
> --- Src/options.c       31 Jul 2008 08:44:21 -0000      1.43
> +++ Src/options.c       7 Aug 2008 12:04:47 -0000
> @@ -198,7 +198,7 @@
>  {{NULL, "promptcr",          OPT_ALL},                  PROMPTCR},
>  {{NULL, "promptpercent",      OPT_NONBOURNE},           PROMPTPERCENT},
>  {{NULL, "promptsp",          OPT_ALL},                  PROMPTSP},
> -{{NULL, "promptsubst",       OPT_KSH},                  PROMPTSUBST},
> +{{NULL, "promptsubst",       OPT_BOURNE},               PROMPTSUBST},
>  {{NULL, "pushdignoredups",    OPT_EMULATE},             PUSHDIGNOREDUPS},
>  {{NULL, "pushdminus",        OPT_EMULATE},              PUSHDMINUS},
>  {{NULL, "pushdsilent",       0},                        PUSHDSILENT},
>
> --
> Peter Stephenson <pws@xxxxxxx>                  Software Engineer
> CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
> Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070
>



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