diff options
Diffstat (limited to 'source/ap/ksh93/patches/ksh-20120801-tabfix.patch')
-rw-r--r-- | source/ap/ksh93/patches/ksh-20120801-tabfix.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/ap/ksh93/patches/ksh-20120801-tabfix.patch b/source/ap/ksh93/patches/ksh-20120801-tabfix.patch new file mode 100644 index 00000000..962763ed --- /dev/null +++ b/source/ap/ksh93/patches/ksh-20120801-tabfix.patch @@ -0,0 +1,18 @@ +diff -up ksh-20120801/src/cmd/ksh93/edit/emacs.c.tabfix ksh-20120801/src/cmd/ksh93/edit/emacs.c +--- ksh-20120801/src/cmd/ksh93/edit/emacs.c.tabfix 2012-07-17 22:44:44.000000000 +0200 ++++ ksh-20120801/src/cmd/ksh93/edit/emacs.c 2013-03-07 15:58:59.902161711 +0100 +@@ -1011,10 +1011,13 @@ static int escape(register Emacs_t* ep,r + ep->ed->e_tabcount=0; + else + { ++ int oldi = i; + i=ed_getchar(ep->ed,0); + ed_ungetchar(ep->ed,i); +- if(isdigit(i)) ++ if(isdigit(i) && oldi=='=') + ed_ungetchar(ep->ed,ESC); ++ else if (isdigit(i) || i=='\t') ++ ep->ed->e_tabcount=0; + } + } + else |