diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Functions/Zle/match-words-by-style | 6 |
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. |