summaryrefslogtreecommitdiff
path: root/Functions
diff options
context:
space:
mode:
Diffstat (limited to 'Functions')
-rw-r--r--Functions/Zle/history-beginning-search-menu16
1 files changed, 8 insertions, 8 deletions
diff --git a/Functions/Zle/history-beginning-search-menu b/Functions/Zle/history-beginning-search-menu
index dadcc40cb..916639adc 100644
--- a/Functions/Zle/history-beginning-search-menu
+++ b/Functions/Zle/history-beginning-search-menu
@@ -40,7 +40,7 @@ local -a display
local search=$LBUFFER
-search=${search//(#m)[\][()\\*?#<>~]/\\$MATCH/}
+search=${search//(#m)[\][()\\*?#<>~^]/\\$MATCH}
if [[ $WIDGET = *-space* ]]; then
# We need to quote metacharacters in the search string
# since they are otherwise active in the reverse subscript.
@@ -72,6 +72,12 @@ zle -R "Enter digit${${width##1}:+s}:" $display
integer i
local char chars
+# Hmmm... this isn't great. The only way of clearing the display
+# appears to be to overwrite it completely. I think that's because
+# displaying strings in this way doesn't set the completion list
+# properly.
+display=(${display//?/ })
+
# Abort on first non-digit entry instead of requiring all
# characters to be typed (as "read -k$width chars" would do).
for (( i = 0; i < $width; i++ )); do
@@ -83,12 +89,6 @@ for (( i = 0; i < $width; i++ )); do
chars+=$char
done
-# Hmmm... this isn't great. The only way of clearing the display
-# appears to be to overwrite it completely. I think that's because
-# displaying strings in this way doesn't set the completion list
-# properly.
-display=(${display//?/ })
-
if [[ $chars -eq 0 || $chars -gt $n ]]; then
zle -R '' $display
return 1
@@ -112,7 +112,7 @@ fi
# go to the last one. This allows accept-line-and-down-history etc.
# to work.
local -a lines
-local matchq=${matches[$chars]//(#m)[\][()\\*?#<>~]/\\$MATCH}
+local matchq=${matches[$chars]//(#m)[\][()\\*?#<>~^]/\\$MATCH}
lines=(${(kon)history[(R)$matchq]})
HISTNO=$lines[-1]