File name completion still has problems when there's only one file
in a directory. If it makes any difference I have FCEDIT=vi. The
misbehavior is hard to explain, but here goes. Let's use /System on Mac
OS 10.5:

$ ls /System
Library

If I go again and hit tab here:

$ ls /System/
             ^
then "Library/" appears appended to "/System/". However, the cursor is
positioned here:

$ ls /System/Library/
            ^
and vi editing goes into control mode instead of staying in input mode.
>From there things get very confused. Perhaps the simplest way out is to
enter these vi commands:

        1) Control-L

                The line is redrawn with the cursor the beginning of
                the command line:

                $ ls /System/Library/
                  ^

        2) $

                The cursor goes one character position past the last
                slash as though there were a character after the last
                slash (actually, it's not as though -- a character
                really has been magically appended):

                $ ls /System/Library/
                                     ^

        3) x

                This deletes the character that has been magically
                appended, and the cursor skips back to the y in Library:

                $ ls /System/Library/
                                   ^

        4) a

                Vi editing goes back into input mode, but the y in
                Library is over-struck with a slash:

                $ ls /System/Librar//
                                    ^

        5) J

                This is the first character of the Java directory in
                the Library directory:

                $ ls /System/Librar/J
                                     ^

        6) TAB

                File name completion is once again functional, but
                Library still appears messed up:

                $ ls /System/Librar/Java/
                                         ^

        7) ESC

                Go back into vi control mode:

                $ ls /System/Librar/Java/
                                        ^

        8) Control-L

                Redraw the line. This cleans up the appearance of
                Library. This time the cursor stays at the end of the
                command line instead of moving to the beginning:

                $ ls /System/Library/Java/
                                         ^

I suppose that's about as clear as mud, especially for people who use
emacs editing. But, maybe file name completion works better with emacs
editing.

                                        Terrence Doyle
_______________________________________________
ast-users mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-users

Reply via email to