# HG changeset patch # User Richard M. Stallman # Date 781609928 0 # Node ID dfcf54257f10217493bbc312e5ef1487f14ef0ff # Parent a8e59db60df6ae898c9ffe4843ee23048f43e5e7 (file_name_completion): Ignore files "." and ".." in first pass. (Ffile_name_completion): Perform the completion even if the name part is empty. diff -r a8e59db60df6 -r dfcf54257f10 src/dired.c --- a/src/dired.c Sat Oct 08 09:51:31 1994 +0000 +++ b/src/dired.c Sat Oct 08 09:52:08 1994 +0000 @@ -233,13 +233,6 @@ Lisp_Object file, dirname; { Lisp_Object handler; - /* Don't waste time trying to complete a null string. - Besides, this case happens when user is being asked for - a directory name and has supplied one ending in a /. - We would not want to add anything in that case - even if there are some unique characters in that directory. */ - if (STRINGP (file) && XSTRING (file)->size == 0) - return file; /* If the file name has special constructs in it, call the corresponding file handler. */ @@ -351,7 +344,17 @@ directoryp = ((st.st_mode & S_IFMT) == S_IFDIR); tem = Qnil; - if (!directoryp) + if (directoryp) + { +#ifndef TRIVIAL_DIRECTORY_ENTRY +#define TRIVIAL_DIRECTORY_ENTRY(n) (!strcmp (n, ".") || !strcmp (n, "..")) +#endif + /* "." and ".." are never interesting as completions, but are + actually in the way in a directory contains only one file. */ + if (!passcount && TRIVIAL_DIRECTORY_ENTRY (dp->d_name)) + continue; + } + else { /* Compare extensions-to-be-ignored against end of this file name */ /* if name is not an exact match against specified string */