diff options
| author | Richard M. Stallman | 1995-02-12 04:29:53 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-02-12 04:29:53 +0000 |
| commit | 273e08292b75d93ed25f74f1ba3cbdd873e30339 (patch) | |
| tree | baef000c4e5a3c9f34530f04d2166097bb611c6c /src | |
| parent | 1f98e9ea8b412bc79b62580ea25566dc3a806fb5 (diff) | |
| download | emacs-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.c | 12 |
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 | ||
| 201 | Lisp_Object Qexpand_file_name; | 201 | Lisp_Object Qexpand_file_name; |
| 202 | Lisp_Object Qsubstitute_in_file_name; | ||
| 202 | Lisp_Object Qdirectory_file_name; | 203 | Lisp_Object Qdirectory_file_name; |
| 203 | Lisp_Object Qfile_name_directory; | 204 | Lisp_Object Qfile_name_directory; |
| 204 | Lisp_Object Qfile_name_nondirectory; | 205 | Lisp_Object Qfile_name_nondirectory; |
| @@ -225,7 +226,6 @@ Lisp_Object Qinsert_file_contents; | |||
| 225 | Lisp_Object Qwrite_region; | 226 | Lisp_Object Qwrite_region; |
| 226 | Lisp_Object Qverify_visited_file_modtime; | 227 | Lisp_Object Qverify_visited_file_modtime; |
| 227 | Lisp_Object Qset_visited_file_modtime; | 228 | Lisp_Object Qset_visited_file_modtime; |
| 228 | Lisp_Object Qsubstitute_in_file_name; | ||
| 229 | 229 | ||
| 230 | DEFUN ("find-file-name-handler", Ffind_file_name_handler, Sfind_file_name_handler, 2, 2, 0, | 230 | DEFUN ("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, | |||
| 4183 | syms_of_fileio () | 4189 | syms_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); |