1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-12-28 16:15:02 +01:00

47997: Disable XTRACE around user-defined completion widgets.

This commit is contained in:
Bart Schaefer 2021-02-11 19:13:47 -08:00
parent 073092f89d
commit 2cf6032a30
4 changed files with 17 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2021-02-11 Bart Schaefer <schaefer@zsh.org>
* unposted: NEWS, README: mention the effects of 47997.
* 47997: Src/Zle/compcore.c: disable xtrace around completions
2021-02-07 Oliver Kiddle <opk@zsh.org>
* 47944: Completion/BSD/Command/_bsd_pkg,

5
NEWS
View file

@ -30,6 +30,11 @@ The compinit function learnt a -w option to explain why compdump runs.
The zsh/datetime module's strftime builtin learnt an -n option to omit
the trailing newline when printing a formatted time.
The XTRACE option is now disabled while running user-defined completion
widgets. This corresponds to long-standing behavior of other user ZLE
widgets. Use the _complete_debug widget to capture XTRACE output, or
use "functions -T" to enable tracing of specific completion functions.
Changes from 5.7.1-test-3 to 5.8
--------------------------------

3
README
View file

@ -92,6 +92,9 @@ not set the new, fourth field will continue to work under both 5.8 and 5.9.
(As it happens, adding a comma after "bold" will make both 5.8 and 5.9 do the
right thing, but this should be viewed as an unsupported hack.)
The XTRACE option is now disabled while running user-defined completion
widgets. See NEWS.
Incompatibilities between 5.7.1 and 5.8
---------------------------------------

View file

@ -821,6 +821,7 @@ callcompfunc(char *s, char *fn)
sfcontext = SFC_CWIDGET;
NEWHEAPS(compheap) {
LinkList largs = NULL;
int oxt = isset(XTRACE);
if (*cfargs) {
char **p = cfargs;
@ -830,7 +831,9 @@ callcompfunc(char *s, char *fn)
while (*p)
addlinknode(largs, dupstring(*p++));
}
opts[XTRACE] = 0;
cfret = doshfunc(shfunc, largs, 1);
opts[XTRACE] = oxt;
} OLDHEAPS;
sfcontext = osc;
endparamscope();