aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1995-02-12 04:29:53 +0000
committerRichard M. Stallman1995-02-12 04:29:53 +0000
commit273e08292b75d93ed25f74f1ba3cbdd873e30339 (patch)
treebaef000c4e5a3c9f34530f04d2166097bb611c6c /src
parent1f98e9ea8b412bc79b62580ea25566dc3a806fb5 (diff)
downloademacs-273e08292b75d93ed25f74f1ba3cbdd873e30339.tar.gz
emacs-273e08292b75d93ed25f74f1ba3cbdd873e30339.zip
(Fexpand_file_name): Look for a handler for defalt.
(syms_of_fileio): Minor rearrangement.
Diffstat (limited to 'src')
-rw-r--r--src/fileio.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/fileio.c b/src/fileio.c
index d47a17c0536..3bfe54b15ee 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -199,6 +199,7 @@ restore_point_unwind (location)
199} 199}
200 200
201Lisp_Object Qexpand_file_name; 201Lisp_Object Qexpand_file_name;
202Lisp_Object Qsubstitute_in_file_name;
202Lisp_Object Qdirectory_file_name; 203Lisp_Object Qdirectory_file_name;
203Lisp_Object Qfile_name_directory; 204Lisp_Object Qfile_name_directory;
204Lisp_Object Qfile_name_nondirectory; 205Lisp_Object Qfile_name_nondirectory;
@@ -225,7 +226,6 @@ Lisp_Object Qinsert_file_contents;
225Lisp_Object Qwrite_region; 226Lisp_Object Qwrite_region;
226Lisp_Object Qverify_visited_file_modtime; 227Lisp_Object Qverify_visited_file_modtime;
227Lisp_Object Qset_visited_file_modtime; 228Lisp_Object Qset_visited_file_modtime;
228Lisp_Object Qsubstitute_in_file_name;
229 229
230DEFUN ("find-file-name-handler", Ffind_file_name_handler, Sfind_file_name_handler, 2, 2, 0, 230DEFUN ("find-file-name-handler", Ffind_file_name_handler, Sfind_file_name_handler, 2, 2, 0,
231 "Return FILENAME's handler function for OPERATION, if it has one.\n\ 231 "Return FILENAME's handler function for OPERATION, if it has one.\n\
@@ -745,6 +745,12 @@ See also the function `substitute-in-file-name'.")
745 handler = Ffind_file_name_handler (name, Qexpand_file_name); 745 handler = Ffind_file_name_handler (name, Qexpand_file_name);
746 if (!NILP (handler)) 746 if (!NILP (handler))
747 return call3 (handler, Qexpand_file_name, name, defalt); 747 return call3 (handler, Qexpand_file_name, name, defalt);
748 if (!NILP (defalt))
749 {
750 handler = Ffind_file_name_handler (defalt, Qexpand_file_name);
751 if (!NILP (handler))
752 return call3 (handler, Qexpand_file_name, name, defalt);
753 }
748 754
749 /* Use the buffer's default-directory if DEFALT is omitted. */ 755 /* Use the buffer's default-directory if DEFALT is omitted. */
750 if (NILP (defalt)) 756 if (NILP (defalt))
@@ -4183,6 +4189,7 @@ DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 5, 0,
4183syms_of_fileio () 4189syms_of_fileio ()
4184{ 4190{
4185 Qexpand_file_name = intern ("expand-file-name"); 4191 Qexpand_file_name = intern ("expand-file-name");
4192 Qsubstitute_in_file_name = intern ("substitute-in-file-name");
4186 Qdirectory_file_name = intern ("directory-file-name"); 4193 Qdirectory_file_name = intern ("directory-file-name");
4187 Qfile_name_directory = intern ("file-name-directory"); 4194 Qfile_name_directory = intern ("file-name-directory");
4188 Qfile_name_nondirectory = intern ("file-name-nondirectory"); 4195 Qfile_name_nondirectory = intern ("file-name-nondirectory");
@@ -4209,9 +4216,9 @@ syms_of_fileio ()
4209 Qwrite_region = intern ("write-region"); 4216 Qwrite_region = intern ("write-region");
4210 Qverify_visited_file_modtime = intern ("verify-visited-file-modtime"); 4217 Qverify_visited_file_modtime = intern ("verify-visited-file-modtime");
4211 Qset_visited_file_modtime = intern ("set-visited-file-modtime"); 4218 Qset_visited_file_modtime = intern ("set-visited-file-modtime");
4212 Qsubstitute_in_file_name = intern ("substitute-in-file-name");
4213 4219
4214 staticpro (&Qexpand_file_name); 4220 staticpro (&Qexpand_file_name);
4221 staticpro (&Qsubstitute_in_file_name);
4215 staticpro (&Qdirectory_file_name); 4222 staticpro (&Qdirectory_file_name);
4216 staticpro (&Qfile_name_directory); 4223 staticpro (&Qfile_name_directory);
4217 staticpro (&Qfile_name_nondirectory); 4224 staticpro (&Qfile_name_nondirectory);
@@ -4237,7 +4244,6 @@ syms_of_fileio ()
4237 staticpro (&Qinsert_file_contents); 4244 staticpro (&Qinsert_file_contents);
4238 staticpro (&Qwrite_region); 4245 staticpro (&Qwrite_region);
4239 staticpro (&Qverify_visited_file_modtime); 4246 staticpro (&Qverify_visited_file_modtime);
4240 staticpro (&Qsubstitute_in_file_name);
4241 4247
4242 Qfile_name_history = intern ("file-name-history"); 4248 Qfile_name_history = intern ("file-name-history");
4243 Fset (Qfile_name_history, Qnil); 4249 Fset (Qfile_name_history, Qnil);