summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2013-10-10 09:54:00 -0700
committerBart Schaefer <schaefer@zsh.org>2013-10-10 09:54:00 -0700
commit5faab39a7e87d180e52bb6ebb9bf101f176cc40b (patch)
tree68cb70d094557e27ab60acf67f47c9b7f37add94
parentb077d6ee9c0728eddfa526fd17e637fe8a6e6e29 (diff)
parentc35a561a9c0ea5f3190141c7ccf28720c100485a (diff)
downloadzsh-5faab39a7e87d180e52bb6ebb9bf101f176cc40b.tar.gz
zsh-5faab39a7e87d180e52bb6ebb9bf101f176cc40b.zip
Merge branch 'master' of git://git.code.sf.net/p/zsh/code
-rw-r--r--ChangeLog22
-rw-r--r--Completion/Linux/Command/_btrfs2
-rw-r--r--Src/exec.c13
-rw-r--r--Src/hist.c6
-rw-r--r--Test/E02xtrace.ztst9
5 files changed, 51 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a8dc3b9e0..524f54242 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2013-10-10 Peter Stephenson <p.stephenson@samsung.com>
+
+ * 31810: Test/E02xtrace.ztst: tests for simple cases of XTRACE
+ output for conditions.
+
+ * 31809: Src/exec.c: make whitespace clear in trace output for
+ patterns.
+
+2013-10-08 Peter Stephenson <p.w.stephenson@ntlworld.com>
+
+ * Eric Cook: 31801: Completion/Linux/Command/_btrfs: some
+ additional variables need to be local.
+
+2013-10-08 Barton E. Schaefer <schaefer@zsh.org>
+
+ * 31797: partly fix long-standing history expansion bug in which
+ in some circumstances a default history expansion would occur even
+ when there is neither an event nor a word designator, which is
+ contradictory to the documentation. There are still some cases in
+ which expansion is attempted when it should not be, but in most of
+ those cases the expansion simply fails.
+
2013-10-07 Peter Stephenson <p.stephenson@samsung.com>
* 31794: Src/hist.c: further refinement that SHAREHISTORY should
diff --git a/Completion/Linux/Command/_btrfs b/Completion/Linux/Command/_btrfs
index eac827050..da2514e99 100644
--- a/Completion/Linux/Command/_btrfs
+++ b/Completion/Linux/Command/_btrfs
@@ -1,7 +1,7 @@
#compdef btrfs
local curcontext="$curcontext" curstate state line expl grp cmd ret=1
-local -a groups args
+local -a groups args cmds_1 cmds_2 cmds_3 cmds_4 cmds_5 cmds_6
groups=( subvolume filesystem device scrub balance inspect-internal help version )
cmds_1=( create delete list snapshot get-default set-default find-new help )
diff --git a/Src/exec.c b/Src/exec.c
index 1c44565f9..de1b4848e 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1845,9 +1845,22 @@ quote_tokenized_output(char *str, FILE *file)
case '*':
case '?':
case '$':
+ case ' ':
putc('\\', file);
break;
+ case '\t':
+ fputs("$'\\t'", file);
+ continue;
+
+ case '\n':
+ fputs("$'\\n'", file);
+ continue;
+
+ case '\r':
+ fputs("$'\\r'", file);
+ continue;
+
case '=':
if (s == str)
putc('\\', file);
diff --git a/Src/hist.c b/Src/hist.c
index d1af30a29..bd650e81e 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -521,6 +521,12 @@ histsubchar(int c)
}
c = ingetc();
}
+ if (ptr == buf &&
+ (c == '}' || c == ';' || c == '\'' || c == '"' || c == '`')) {
+ /* Neither event nor word designator, no expansion */
+ safeinungetc(c);
+ return bangchar;
+ }
*ptr = 0;
if (!*buf) {
if (c != '%') {
diff --git a/Test/E02xtrace.ztst b/Test/E02xtrace.ztst
index 2420aebd7..093a587bd 100644
--- a/Test/E02xtrace.ztst
+++ b/Test/E02xtrace.ztst
@@ -118,3 +118,12 @@
?+./fnfile:5> :
?+./fnfile:6> fn
?+./fnfile:3> print This is fn.
+
+ set -x
+ [[ 'f o' = 'f x'* || 'b r' != 'z o' && 'squashy sound' < 'squishy sound' ]]
+ [[ -e nonexistentfile || ( -z '' && -t 3 ) ]]
+ set +x
+0:Trace for conditions
+?+(eval):2> [[ 'f o' == f\ x* || 'b r' != z\ o && 'squashy sound' < 'squishy sound' ]]
+?+(eval):3> [[ -e nonexistentfile || -z '' && -t 3 ]]
+?+(eval):4> set +x