diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-11-18 16:43:04 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-11-18 16:43:04 +0000 |
commit | 07a0bda3c9ca05fb3e3f7c232d28410247d83df0 (patch) | |
tree | 879d6875496c3132d476d72241672b7791e0752a /src | |
parent | 58cabff0518a237897d9f8e343b91b87cb15eafe (diff) | |
download | emacs-07a0bda3c9ca05fb3e3f7c232d28410247d83df0.tar.gz |
(Fload): Call Fsubstitute_in_file_name after trying handler.
Diffstat (limited to 'src')
-rw-r--r-- | src/lread.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lread.c b/src/lread.c index c08e5fc8c1a..a753eb91868 100644 --- a/src/lread.c +++ b/src/lread.c @@ -361,13 +361,17 @@ Return t if file exists.") #endif /* DOS_NT */ CHECK_STRING (str, 0); - str = Fsubstitute_in_file_name (str); /* If file name is magic, call the handler. */ handler = Ffind_file_name_handler (str, Qload); if (!NILP (handler)) return call5 (handler, Qload, str, noerror, nomessage, nosuffix); + /* Do this after the handler to avoid + the need to gcpro noerror, nomessage and nosuffix. + (Below here, we care only whether they are nil or not.) */ + str = Fsubstitute_in_file_name (str); + /* Avoid weird lossage with null string as arg, since it would try to load a directory as a Lisp file */ if (XSTRING (str)->size > 0) |