summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Functions/Zle/match-words-by-style6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 53e76e2db..a086bded7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,11 @@
* 37590: Src/Zle/zle_hist.c, Src/Zle/zle_main.c: Invoke
zle-line-pre-redraw during isearch.
+2016-01-13 Barton E. Schaefer <schaefer@zsh.org>
+
+ * 37567: Functions/Zle/match-words-by-style: use (Z:n:) to split
+ the buffer into words so line breaks are treated as whitespace
+
2016-01-13 Daniel Shahaf <d.s@daniel.shahaf.name>
* 37591: Src/hashtable.c, Test/A02alias.ztst: 37591: 'alias -L':
diff --git a/Functions/Zle/match-words-by-style b/Functions/Zle/match-words-by-style
index b387828f3..54e019d23 100644
--- a/Functions/Zle/match-words-by-style
+++ b/Functions/Zle/match-words-by-style
@@ -111,20 +111,20 @@ done
case $wordstyle in
(*shell*) local bufwords
# This splits the line into words as the shell understands them.
- bufwords=(${(z)LBUFFER})
+ bufwords=(${(Z:n:)LBUFFER})
nwords=${#bufwords}
wordpat1="${(q)bufwords[-1]}"
# Take substring of RBUFFER to skip over $skip characters
# from the cursor position.
- bufwords=(${(z)RBUFFER[1+$skip,-1]})
+ bufwords=(${(Z:n:)RBUFFER[1+$skip,-1]})
wordpat2="${(q)bufwords[1]}"
spacepat='[[:space:]]#'
# Assume the words are at the top level, i.e. if we are inside
# 'something with spaces' then we need to ignore the embedded
# spaces and consider the whole word.
- bufwords=(${(z)BUFFER})
+ bufwords=(${(Z:n:)BUFFER})
if (( ${#bufwords[$nwords]} > ${#wordpat1} )); then
# Yes, we're in the middle of a shell word.
# Find out what's in front.