vi bug fixes

Paul Fox pgf at brightstareng.com
Thu Mar 6 13:14:52 UTC 2008


once in a while i happen to do more "real" editing using busybox
vi than usual.  yesterday was one of those days, and i noticed
several bugs, which i fixed, and have committed.

    - if you "/pattern", and then immediately "?" to repeat in
	the other direction (or vice versa) , vi now changes
	search direction correctly

    - the "dot" (i.e. '.') command now properly re-inits its
	buffer between redoable commands.  the command recording
	buffer wasn't being terminated properly, and could end up
	with extra characters at the end, which when "played
	back" could give surprising results.

    - the 'c', 'd', and 'y' commands now properly distinguish
	between both motions that represent just part of a line
	vs. whole lines, and also those that are multiline vs. 
	single line.  among commands that now work correctly are
	"c%" and "2cw", whether the motions span lines or not. 

	also, partial-line backward motions (like 'b', '0', '^')
	no longer include the current character in their action
	span.  (e.g. "db", with the cursor on the 'b' in
	'foobar' will leave 'bar', not 'ar' as it did before.)

    - made a few more motions work with 'c' and 'd':  'l', SPACE,
	BS, and DEL.  (it was trying to use 'c<SPACE>' to change a
	character that got me going on all of this.)

i did enough testing that i'm pretty sure nothing is worse than
it was, but please mention it if you notice that anything bad has
happened.

paul
=---------------------
 paul fox, pgf at brightstareng.com



More information about the busybox mailing list