zsh-workers
 help / color / mirror / code / Atom feed
* A weird smart-insert-last-word bug
@ 2018-11-03  0:03 Wayne Davison
  2018-11-03  0:37 ` Bart Schaefer
  0 siblings, 1 reply; 3+ messages in thread
From: Wayne Davison @ 2018-11-03  0:03 UTC (permalink / raw)
  To: Zsh list

[-- Attachment #1: Type: text/plain, Size: 1381 bytes --]

Here's something I've seen very sporadically but I couldn't work out a test
case before today.
I make use of smart-insert-last-word like this:

zlewidget '' insert-last-word smart-insert-last-word
zstyle :insert-last-word match '[^,]??*'
zstyle :insert-last-word auto-previous 1

Every now and then it destroys some part of the command line when starting
a new insert sequence.  This seems to be caused by its simple conditional
at the start of its file being inadequate to know when it is really
continuing:

if (( HISTNO == _ilw_hist && cursor == _ilw_cursor &&
UNDO_CHANGE_NO == _ilw_changeno ))

Since I have hist_ignore_space set, this makes it possible to trigger the
bug on successive command lines when typing a series of commands that begin
with a space.  Imagine that the underscore char is a leading space:

echo foo
echo bar
_echo <Esc>.
_echo <Esc>.<Esc>.
testing12<Esc>.

at that point the command buffer will be "testinfoo".  Note that it took 2
space-starting commands to be able to trigger the bug on a successive
command-line and that the column has to line up with the column where it
left off on the prior line.

The bug can also happen during an edit on a single line if you initiate the
function a second time from the column where it left off, even though some
editing has happened in between. For example:

echo <Esc>.<Bksp><Bksp><Bksp>bug<Esc>.

..wayne..

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-08  2:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-03  0:03 A weird smart-insert-last-word bug Wayne Davison
2018-11-03  0:37 ` Bart Schaefer
2018-11-08  1:58   ` Wayne Davison

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).