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 . _echo .. testing12. 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 .bug. ..wayne..