47997: Disable XTRACE around user-defined completion widgets.

declarednull
Bart Schaefer 3 years ago
parent 073092f89d
commit 2cf6032a30

@ -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,

@ -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
--------------------------------

@ -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
---------------------------------------

@ -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();

Loading…
Cancel
Save