mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-12-29 16:25:35 +01:00
35469: test UNDO_CHANGE_NO to determine whether to start over or use the next history event
This commit is contained in:
parent
806f73a0b3
commit
9f3dc6605a
2 changed files with 12 additions and 3 deletions
|
@ -1,5 +1,8 @@
|
|||
2015-06-14 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 35469: Functions/Zle/smart-insert-last-word: test UNDO_CHANGE_NO
|
||||
to determine whether to start over or use the next history event
|
||||
|
||||
* 35467: Completion/Unix/Command/_du: complete files for non-GNU du
|
||||
|
||||
2015-06-12 Peter Stephenson <p.stephenson@samsung.com>
|
||||
|
|
|
@ -47,13 +47,15 @@ setopt extendedglob nohistignoredups
|
|||
zle auto-suffix-retain
|
||||
|
||||
# Not strictly necessary:
|
||||
# (($+_ilw_hist)) || integer -g _ilw_hist _ilw_count _ilw_cursor _ilw_lcursor
|
||||
# (($+_ilw_hist)) || integer -g _ilw_hist _ilw_count _ilw_cursor _ilw_lcursor _ilw_changeno
|
||||
|
||||
integer cursor=$CURSOR lcursor=$CURSOR
|
||||
local lastcmd pattern numeric=$NUMERIC
|
||||
|
||||
# Save state for repeated calls
|
||||
if (( HISTNO == _ilw_hist && cursor == _ilw_cursor )); then
|
||||
if (( HISTNO == _ilw_hist && cursor == _ilw_cursor &&
|
||||
UNDO_CHANGE_NO == _ilw_changeno ))
|
||||
then
|
||||
NUMERIC=$[_ilw_count+1]
|
||||
lcursor=$_ilw_lcursor
|
||||
else
|
||||
|
@ -61,7 +63,8 @@ else
|
|||
_ilw_lcursor=$lcursor
|
||||
fi
|
||||
# Handle the up to three arguments of .insert-last-word
|
||||
if (( $+1 )); then
|
||||
if (( $+1 ))
|
||||
then
|
||||
if (( $+3 )); then
|
||||
((NUMERIC = -($1)))
|
||||
else
|
||||
|
@ -117,3 +120,6 @@ fi
|
|||
|
||||
LBUFFER[lcursor+1,cursor+1]=$lastcmd[-NUMERIC]
|
||||
_ilw_cursor=$CURSOR
|
||||
|
||||
# This is necessary to update UNDO_CHANGE_NO immediately
|
||||
zle split-undo && _ilw_changeno=$UNDO_CHANGE_NO
|
||||
|
|
Loading…
Reference in a new issue