From 8436e23177b5fe7f705ed88e6e334af64585cab1 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 2 Sep 1995 01:19:53 +0000 Subject: [PATCH 1/1] (Ffile_name_all_completions, Ffile_name_completion): Look for handler for FILE as well as for DIRNAME. --- src/dired.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/dired.c b/src/dired.c index 834729a031..de93a67adc 100644 --- a/src/dired.c +++ b/src/dired.c @@ -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); } -- 2.20.1