]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fload): Call Fsubstitute_in_file_name after trying handler.
authorRichard M. Stallman <rms@gnu.org>
Fri, 18 Nov 1994 16:43:04 +0000 (16:43 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 18 Nov 1994 16:43:04 +0000 (16:43 +0000)
src/lread.c

index c08e5fc8c1a5b428e8a6ba1ad054c75e4227bd35..a753eb91868f23dfd7cadf6856ca72e649ad171b 100644 (file)
@@ -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)