Index: head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c =================================================================== --- head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c (revision 169435) +++ head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c (revision 169436) @@ -1,17 +1,17 @@ ---- Src/Zle/zle_misc.c.orig Mon Sep 10 19:48:51 2001 -+++ Src/Zle/zle_misc.c Thu Mar 25 04:36:46 2004 -@@ -94,6 +94,14 @@ +--- Src/Zle/zle_misc.c.orig Mon Feb 13 19:58:39 2006 ++++ Src/Zle/zle_misc.c Thu Jul 13 17:52:43 2006 +@@ -111,6 +111,14 @@ return ret; } - if (cs + zmult <= ll) { + if (zlecs + zmult <= zlell) { +#ifdef ZSH_EUC + if (locale_is_euc) { + if (zmult == 1 && + _mbmap_euc[line[cs]] & _MB1 && + _mbmap_euc[line[cs+1]] & _MB2) + cs += 1; + } +#endif - cs += zmult; + zlecs += zmult; backdel(zmult); return 0; Property changes on: head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c =================================================================== --- head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c (revision 169435) +++ head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c (revision 169436) @@ -1,38 +1,40 @@ ---- Src/Zle/zle_move.c.orig Sat Jul 3 22:18:00 1999 -+++ Src/Zle/zle_move.c Thu May 9 17:55:46 2002 -@@ -159,6 +159,17 @@ +--- Src/Zle/zle_move.c.orig Tue Nov 1 19:20:25 2005 ++++ Src/Zle/zle_move.c Thu Jul 13 17:57:11 2006 +@@ -159,7 +159,18 @@ int - forwardchar(char **args) + forwardchar(UNUSED(char **args)) { +- zlecs += zmult; +#ifdef ZSH_EUC + if (locale_is_euc) { + if (zmult == 1) { -+ if (_mbmap_euc[line[cs]] & _MB1 && -+ cs+1 <= ll && -+ _mbmap_euc[line[cs+1]] & _MB2) { -+ cs++; ++ if (_mbmap_euc[line[zlecs]] & _MB1 && ++ zlecs+1 <= zlell && ++ _mbmap_euc[line[zlecs+1]] & _MB2) { ++ zlecs++; + } + } + } +#endif - cs += zmult; - if (cs > ll) - cs = ll; ++ zlecs += zmult; + if (zlecs > zlell) + zlecs = zlell; + if (zlecs < 0) @@ -171,6 +182,17 @@ int - backwardchar(char **args) + backwardchar(UNUSED(char **args)) { +#ifdef ZSH_EUC + if (locale_is_euc) { + if (zmult == 1) { -+ if (_mbmap_euc[line[cs-1]] & _MB2 && -+ cs-2 >=0 && -+ _mbmap_euc[line[cs-2]] & _MB1) { -+ cs--; ++ if (_mbmap_euc[line[zlecs-1]] & _MB2 && ++ zlecs-2 >=0 && ++ _mbmap_euc[line[zlecs-2]] & _MB1) { ++ zlecs--; + } + } + } +#endif - cs -= zmult; - if (cs > ll) - cs = ll; + zlecs -= zmult; + if (zlecs > zlell) + zlecs = zlell; Property changes on: head/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property