Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

lastcol



-----BEGIN PGP SIGNED MESSAGE-----

This patch makes lastcol maintenance not depend on lastcmd, and makes
it work with vi-end-of-line correctly.

 -zefram

 *** Src/Zle/zle.h	1997/01/11 17:59:10	1.15
 --- Src/Zle/zle.h	1997/01/11 19:04:59
 ***************
 *** 59,64 ****
 --- 59,65 ----
   #define ZLE_MENUCMP	(1<<1)    /* DON'T invalidate completion list */
   #define ZLE_YANK	(1<<3)
   #define ZLE_LINEMOVE	(1<<4)    /* command is a line-oriented movement */
 + #define ZLE_LASTCOL     (1<<5)    /* command maintains lastcol correctly */
   #define ZLE_KILL	(1<<6)
   #define ZLE_KEEPSUFFIX	(1<<9)    /* DON'T remove added suffix */
   
 ***************
 *** 105,111 ****
   /* flags associated with last command */
   ZLEXTERN int lastcmd;
   
 ! /* column position before last LINEMOVE movement */
   ZLEXTERN int lastcol;
   
   /* != 0 if we're getting a vi range */
 --- 106,113 ----
   /* flags associated with last command */
   ZLEXTERN int lastcmd;
   
 ! /* Column position of vi ideal cursor.  -1 if it is unknown -- most *
 !  * movements and changes do this.                                   */
   ZLEXTERN int lastcol;
   
   /* != 0 if we're getting a vi range */
 *** Src/Zle/zle_bindings.c	1997/01/11 17:59:10	1.8
 --- Src/Zle/zle_bindings.c	1997/01/11 19:12:46
 ***************
 *** 60,78 ****
       C("beginning-of-line", beginningofline, 0)
       C("beginning-of-line-hist", beginningoflinehist, 0)
       C("capitalize-word", capitalizeword, 0)
 !     C("clear-screen", clearscreen, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("complete-word", completeword, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("copy-prev-word", copyprevword, 0)
       C("copy-region-as-kill", copyregionaskill, ZLE_KEEPSUFFIX)
       C("delete-char", deletechar, ZLE_KEEPSUFFIX)
       C("delete-char-or-list", deletecharorlist, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("delete-word", deleteword, ZLE_KEEPSUFFIX)
 !     C("describe-key-briefly", describekeybriefly, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("digit-argument", digitargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("down-case-word", downcaseword, 0)
       C("down-history", downhistory, 0)
 !     C("down-line-or-history", downlineorhistory, ZLE_LINEMOVE)
 !     C("down-line-or-search", downlineorsearch, ZLE_LINEMOVE)
       C("emacs-backward-word", emacsbackwardword, 0)
       C("emacs-forward-word", emacsforwardword, 0)
       C("end-of-buffer-or-history", endofbufferorhistory, 0)
 --- 60,78 ----
       C("beginning-of-line", beginningofline, 0)
       C("beginning-of-line-hist", beginningoflinehist, 0)
       C("capitalize-word", capitalizeword, 0)
 !     C("clear-screen", clearscreen, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("complete-word", completeword, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("copy-prev-word", copyprevword, 0)
       C("copy-region-as-kill", copyregionaskill, ZLE_KEEPSUFFIX)
       C("delete-char", deletechar, ZLE_KEEPSUFFIX)
       C("delete-char-or-list", deletecharorlist, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("delete-word", deleteword, ZLE_KEEPSUFFIX)
 !     C("describe-key-briefly", describekeybriefly, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
 !     C("digit-argument", digitargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("down-case-word", downcaseword, 0)
       C("down-history", downhistory, 0)
 !     C("down-line-or-history", downlineorhistory, ZLE_LINEMOVE | ZLE_LASTCOL)
 !     C("down-line-or-search", downlineorsearch, ZLE_LINEMOVE | ZLE_LASTCOL)
       C("emacs-backward-word", emacsbackwardword, 0)
       C("emacs-forward-word", emacsforwardword, 0)
       C("end-of-buffer-or-history", endofbufferorhistory, 0)
 ***************
 *** 104,115 ****
       C("kill-region", killregion, ZLE_KILL)
       C("kill-whole-line", killwholeline, ZLE_KILL)
       C("kill-word", killword, ZLE_KILL)
 !     C("list-choices", listchoices, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("list-expand", listexpand, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("magic-space", magicspace, 0)
       C("menu-complete", menucomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("menu-expand-or-complete", menuexpandorcomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("neg-argument", negargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("overwrite-mode", overwritemode, 0)
       C("pound-insert", poundinsert, 0)
       C("push-input", pushinput, 0)
 --- 104,115 ----
       C("kill-region", killregion, ZLE_KILL)
       C("kill-whole-line", killwholeline, ZLE_KILL)
       C("kill-word", killword, ZLE_KILL)
 !     C("list-choices", listchoices, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
 !     C("list-expand", listexpand, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("magic-space", magicspace, 0)
       C("menu-complete", menucomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("menu-expand-or-complete", menuexpandorcomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("neg-argument", negargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("overwrite-mode", overwritemode, 0)
       C("pound-insert", poundinsert, 0)
       C("push-input", pushinput, 0)
 ***************
 *** 118,141 ****
       C("quoted-insert", quotedinsert, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("quote-line", quoteline, 0)
       C("quote-region", quoteregion, 0)
 !     C("redisplay", redisplay, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("redo", redo, 0)
       C("reverse-menu-complete", reversemenucomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("run-help", processcmd, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("self-insert", selfinsert, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("self-insert-unmeta", selfinsertunmeta, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("send-break", sendbreak, 0)
 !     C("set-mark-command", setmarkcommand, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("spell-word", spellword, 0)
       C("transpose-chars", transposechars, 0)
       C("transpose-words", transposewords, 0)
       C("undefined-key", undefinedkey, 0)
       C("undo", undo, 0)
 !     C("universal-argument", universalargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("up-case-word", upcaseword, 0)
       C("up-history", uphistory, 0)
 !     C("up-line-or-history", uplineorhistory, ZLE_LINEMOVE)
 !     C("up-line-or-search", uplineorsearch, ZLE_LINEMOVE)
       C("vi-add-eol", viaddeol, 0)
       C("vi-add-next", viaddnext, 0)
       C("vi-backward-blank-word", vibackwardblankword, 0)
 --- 118,141 ----
       C("quoted-insert", quotedinsert, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("quote-line", quoteline, 0)
       C("quote-region", quoteregion, 0)
 !     C("redisplay", redisplay, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("redo", redo, 0)
       C("reverse-menu-complete", reversemenucomplete, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("run-help", processcmd, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("self-insert", selfinsert, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("self-insert-unmeta", selfinsertunmeta, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("send-break", sendbreak, 0)
 !     C("set-mark-command", setmarkcommand, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("spell-word", spellword, 0)
       C("transpose-chars", transposechars, 0)
       C("transpose-words", transposewords, 0)
       C("undefined-key", undefinedkey, 0)
       C("undo", undo, 0)
 !     C("universal-argument", universalargument, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("up-case-word", upcaseword, 0)
       C("up-history", uphistory, 0)
 !     C("up-line-or-history", uplineorhistory, ZLE_LINEMOVE | ZLE_LASTCOL)
 !     C("up-line-or-search", uplineorsearch, ZLE_LINEMOVE | ZLE_LASTCOL)
       C("vi-add-eol", viaddeol, 0)
       C("vi-add-next", viaddnext, 0)
       C("vi-backward-blank-word", vibackwardblankword, 0)
 ***************
 *** 153,159 ****
       C("vi-delete-char", videletechar, ZLE_KEEPSUFFIX)
       C("vi-digit-or-beginning-of-line", vidigitorbeginningofline, 0)
       C("vi-down-line-or-history", vidownlineorhistory, ZLE_LINEMOVE)
 !     C("vi-end-of-line", viendofline, 0)
       C("vi-fetch-history", vifetchhistory, 0)
       C("vi-find-next-char", vifindnextchar, 0)
       C("vi-find-next-char-skip", vifindnextcharskip, 0)
 --- 153,159 ----
       C("vi-delete-char", videletechar, ZLE_KEEPSUFFIX)
       C("vi-digit-or-beginning-of-line", vidigitorbeginningofline, 0)
       C("vi-down-line-or-history", vidownlineorhistory, ZLE_LINEMOVE)
 !     C("vi-end-of-line", viendofline, ZLE_LASTCOL)
       C("vi-fetch-history", vifetchhistory, 0)
       C("vi-find-next-char", vifindnextchar, 0)
       C("vi-find-next-char-skip", vifindnextcharskip, 0)
 ***************
 *** 191,198 ****
       C("vi-replace-chars", vireplacechars, 0)
       C("vi-rev-repeat-find", virevrepeatfind, 0)
       C("vi-rev-repeat-search", virevrepeatsearch, 0)
 !     C("vi-set-buffer", visetbuffer, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("vi-set-mark", visetmark, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("vi-substitute", visubstitute, 0)
       C("vi-swap-case", viswapcase, 0)
       C("vi-undo-change", viundochange, 0)
 --- 191,198 ----
       C("vi-replace-chars", vireplacechars, 0)
       C("vi-rev-repeat-find", virevrepeatfind, 0)
       C("vi-rev-repeat-search", virevrepeatsearch, 0)
 !     C("vi-set-buffer", visetbuffer, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
 !     C("vi-set-mark", visetmark, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("vi-substitute", visubstitute, 0)
       C("vi-swap-case", viswapcase, 0)
       C("vi-undo-change", viundochange, 0)
 ***************
 *** 201,208 ****
       C("vi-yank", viyank, 0)
       C("vi-yank-eol", viyankeol, 0)
       C("vi-yank-whole-line", viyankwholeline, 0)
 !     C("where-is", whereis, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
 !     C("which-command", processcmd, ZLE_MENUCMP | ZLE_KEEPSUFFIX)
       C("yank", yank, ZLE_YANK)
       C("yank-pop", yankpop, ZLE_YANK)
       C(NULL, NULL, 0)
 --- 201,208 ----
       C("vi-yank", viyank, 0)
       C("vi-yank-eol", viyankeol, 0)
       C("vi-yank-whole-line", viyankwholeline, 0)
 !     C("where-is", whereis, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
 !     C("which-command", processcmd, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL)
       C("yank", yank, ZLE_YANK)
       C("yank-pop", yankpop, ZLE_YANK)
       C(NULL, NULL, 0)
 *** Src/Zle/zle_hist.c	1997/01/11 17:59:11	1.10
 --- Src/Zle/zle_hist.c	1997/01/11 19:12:25
 ***************
 *** 85,91 ****
   	downlineorhistory();
   	return;
       }
 !     if ((lastcmd & ZLE_LINEMOVE) != ZLE_LINEMOVE)
   	lastcol = cs - findbol();
       cs = findbol();
       while (zmult) {
 --- 85,91 ----
   	downlineorhistory();
   	return;
       }
 !     if (lastcol == -1)
   	lastcol = cs - findbol();
       cs = findbol();
       while (zmult) {
 ***************
 *** 141,147 ****
   	uphistory();
       }
       vifirstnonblank();
 -     lastcol = cs - findbol();
   }
   
   
 --- 141,146 ----
 ***************
 *** 156,162 ****
   	downlineorsearch();
   	return;
       }
 !     if ((lastcmd & ZLE_LINEMOVE) != ZLE_LINEMOVE)
   	lastcol = cs - findbol();
       cs = findbol();
       while (zmult) {
 --- 155,161 ----
   	downlineorsearch();
   	return;
       }
 !     if (lastcol == -1)
   	lastcol = cs - findbol();
       cs = findbol();
       while (zmult) {
 ***************
 *** 195,201 ****
   	uplineorhistory();
   	return;
       }
 !     if ((lastcmd & ZLE_LINEMOVE) != ZLE_LINEMOVE)
   	lastcol = cs - findbol();
       while (zmult) {
   	int x = findeol();
 --- 194,200 ----
   	uplineorhistory();
   	return;
       }
 !     if (lastcol == -1)
   	lastcol = cs - findbol();
       while (zmult) {
   	int x = findeol();
 ***************
 *** 251,257 ****
   	downhistory();
       }
       vifirstnonblank();
 -     lastcol = cs - findbol();
   }
   
   /**/
 --- 250,255 ----
 ***************
 *** 265,271 ****
   	uplineorsearch();
   	return;
       }
 !     if ((lastcmd & ZLE_LINEMOVE) != ZLE_LINEMOVE)
   	lastcol = cs - findbol();
       while (zmult) {
   	int x = findeol();
 --- 263,269 ----
   	uplineorsearch();
   	return;
       }
 !     if (lastcol == -1)
   	lastcol = cs - findbol();
       while (zmult) {
   	int x = findeol();
 *** Src/Zle/zle_main.c	1997/01/11 17:59:11	1.18
 --- Src/Zle/zle_main.c	1997/01/11 19:11:38
 ***************
 *** 392,397 ****
 --- 392,398 ----
   	zleactive = 1;
   	resetneeded = 1;
   	errflag = retflag = 0;
 + 	lastcol = -1;
   	initmodifier(&zmod);
   	prefixflag = 0;
   	feepflag = 0;
 ***************
 *** 478,483 ****
 --- 479,486 ----
   	}
   	if (func->flags & ZLE_LINEMOVE)
   	    vilinerange = 1;
 + 	if(!(func->flags & ZLE_LASTCOL))
 + 	    lastcol = -1;
   	func->ifunc();
       }
   }
 *** Src/Zle/zle_move.c	1997/01/04 17:47:27	1.4
 --- Src/Zle/zle_move.c	1997/01/11 19:13:38
 ***************
 *** 306,311 ****
 --- 306,312 ----
   	cs = findeol() + 1;
       }
       cs--;
 +     lastcol = 1<<30;
   }
   
   /**/

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBMtfotXD/+HJTpU/hAQHTygP9FWzdKhvf9pX9h9Cvybwo2GPcGs3VnOH3
JX1giqhSHTB841zM/qQsM0uej7Ef73rCINvr0L8unX49RhNqDwLBQHnD65Ueu7bT
jdAXZGzKJvV8J7+39r5BuwJF4wuNTzJA58+uJFI4W1G9UeEMphvNlCG2p3AZCjC6
NyoUpc9+xpU=
=U2Ds
-----END PGP SIGNATURE-----



Messages sorted by: Reverse Date, Date, Thread, Author