On Fri, Nov 18, 2005 at 03:53:38PM -0500, Arnaud Bergeron wrote: > I noticed that, using ksh, if you try to tab-complete any filename > that has a '[' in it while there are more than one file in the > directory will fail. Simple example: [...] > So this leads to my question. Is it a design feature, a POSIX > requierment, or simply something that has gone unnoticed?
ksh would need some kind of incremental parser for both parsing scripts as well for doing tab-completion. Unfortunately, using a common parser for normal use (parse a script) and for special interactive use (completion) isn't trivial. The edit implementations (both emacs and vi) use lots of ad-hoc stuff. I'd the idea of using a common parser implemented with yacc(1), but Otto pointed out that this wouldn't help much but also bloat ksh. So, for now, completion won't work for some pathological cases ('{', '@', and other unusual characters). Fixing this would be more than one or two days of work. But have a look at at&t ksh -- it even sucks more if it comes to completion. Ciao, Kili