Hi,
one user found regression in ksh. It was introduced with this bugfix:
> 12-07-02 A bug in the edit modes which <tab> after a directory
> did not refresh the input line has been fixed.
with the change in emacs.c:escape(...):
i = '\\';
case '*': /* filename expansion */
case '=': /* escape = - list all matching file names */
ep->mark = cur;
if(ed_expand(ep->ed,(char*)out,&cur,&eol,i,count) < 0)
{
if(ep->ed->e_tabcount==1)
{
ep->ed->e_tabcount=2;
ed_ungetchar(ep->ed,cntl('\t'));
return(-1);
}
beep();
}
- else if(i=='=')
+ else if(i=='=' || (i=='\\' && out[cur-1]=='/'))
{
draw(ep,REFRESH);
if(count>0)
ep->ed->e_tabcount=0;
else
{
i=ed_getchar(ep->ed,0);
ed_ungetchar(ep->ed,i);
if(isdigit(i))
ed_ungetchar(ep->ed,ESC);
}
}
after directory completion, it falls through the new if condition and
because next input is digit, it's not used.
Reproducer
mkdir -p test/123abc
set -o emacs
cd tes[tab]/123abc
results in
cd test/abc
I guess isdigit check should be done only if (original)i=='=', but I do
not know what exactly that fix was supposed to fix, so I was not able to
test it.
Michal
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers