diff options
-rw-r--r-- | shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c | 10 | ||||
-rw-r--r-- | shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c | 40 |
2 files changed, 26 insertions, 24 deletions
diff --git a/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c b/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c index e19b39fefcea..44a265e6afb5 100644 --- a/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c +++ b/shells/zsh+euc_hack/files/patch-Src::Zle::zle_misc.c @@ -1,9 +1,9 @@ ---- 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 && @@ -12,6 +12,6 @@ + cs += 1; + } +#endif - cs += zmult; + zlecs += zmult; backdel(zmult); return 0; diff --git a/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c b/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c index b4215fbe64cc..83c7e2064390 100644 --- a/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c +++ b/shells/zsh+euc_hack/files/patch-Src::Zle::zle_move.c @@ -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; |