]> git.eshelyaron.com Git - emacs.git/commitdiff
(Ffile_name_all_completions, Ffile_name_completion):
authorRichard M. Stallman <rms@gnu.org>
Sat, 2 Sep 1995 01:19:53 +0000 (01:19 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 2 Sep 1995 01:19:53 +0000 (01:19 +0000)
Look for handler for FILE as well as for DIRNAME.

src/dired.c

index 834729a0319400c274b1e9ba125a50243e12e544..de93a67adc416e92c8bbc761e1b1c32085e0a696 100644 (file)
@@ -236,12 +236,18 @@ Returns nil if DIR contains no name starting with FILE.")
 {
   Lisp_Object handler;
 
-  /* If the file name has special constructs in it,
+  /* If the directory name has special constructs in it,
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (dirname, Qfile_name_completion);
   if (!NILP (handler))
     return call3 (handler, Qfile_name_completion, file, dirname);
 
+  /* If the file name has special constructs in it,
+     call the corresponding file handler.  */
+  handler = Ffind_file_name_handler (file, Qfile_name_completion);
+  if (!NILP (handler))
+    return call3 (handler, Qfile_name_completion, file, dirname);
+
   return file_name_completion (file, dirname, 0, 0);
 }
 
@@ -254,12 +260,18 @@ These are all file names in directory DIR which begin with FILE.")
 {
   Lisp_Object handler;
 
-  /* If the file name has special constructs in it,
+  /* If the directory name has special constructs in it,
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (dirname, Qfile_name_all_completions);
   if (!NILP (handler))
     return call3 (handler, Qfile_name_all_completions, file, dirname);
 
+  /* If the file name has special constructs in it,
+     call the corresponding file handler.  */
+  handler = Ffind_file_name_handler (file, Qfile_name_all_completions);
+  if (!NILP (handler))
+    return call3 (handler, Qfile_name_all_completions, file, dirname);
+
   return file_name_completion (file, dirname, 1, 0);
 }