19 lines
630 B
Diff
19 lines
630 B
Diff
|
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
|