mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-19 11:31:26 +01:00
49353: Fix comments in sourced file.
If the file was sourced from an interactive shell with INTERACTIVE_COMMENTS not set, comments were not parsed. Note there is a remaining edge case where the sourced file is in fact entered at the comment line.
This commit is contained in:
parent
014fbfa46b
commit
db46c9cd58
3 changed files with 15 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2021-09-09 Peter Stephenson <p.w.stephenson@ntlworld.com>
|
||||
|
||||
* 49353: Src/exe.c, Test/A01grammar.ztst: In sourced file,
|
||||
always parse comments normally, ignoring INTERACTIVE_COMMENTS.
|
||||
|
||||
2021-09-08 Bart Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 49391: Doc/Zsh/zle.yo: document default bracketed-paste bindings
|
||||
|
|
|
@ -4622,7 +4622,7 @@ getoutput(char *cmd, int qt)
|
|||
char *s;
|
||||
|
||||
int onc = nocomments;
|
||||
nocomments = (interact && unset(INTERACTIVECOMMENTS));
|
||||
nocomments = (interact && !sourcelevel && unset(INTERACTIVECOMMENTS));
|
||||
prog = parse_string(cmd, 0);
|
||||
nocomments = onc;
|
||||
|
||||
|
|
|
@ -944,3 +944,12 @@ F:Note that the behaviour of 'exit' inside try-list inside a function is unspeci
|
|||
if : ${(e)a}; then echo x; fi
|
||||
1:Status on bad substitution in if without else
|
||||
?(eval):2: bad substitution
|
||||
|
||||
echo 'echo foo # comment
|
||||
echo $(
|
||||
echo bar # comment
|
||||
)' >source_comments.zsh
|
||||
$ZTST_testdir/../Src/zsh -f -o extendedglob -is -c '. ./source_comments.zsh'
|
||||
0:Comments should be handled in command subst in interactively sourced files
|
||||
>foo
|
||||
>bar
|
||||
|
|
Loading…
Reference in a new issue