From c275839033b9ad04886c67837daeb5f35eafa709 Mon Sep 17 00:00:00 2001 From: "Barton E. Schaefer" Date: Wed, 13 Jan 2016 19:50:24 -0800 Subject: 37567: use (Z:n:) to split the buffer into words so line breaks are treated as whitespace --- ChangeLog | 5 +++++ 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 + + * 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 * 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. -- cgit 1.4.1