# HG changeset patch # User Richard M. Stallman # Date 785176984 0 # Node ID d149c4dc84f31eea57db47d8d15681dab4c0ff88 # Parent fd7810a1535a61afe511089753518f361038fe28 (Fload): Call Fsubstitute_in_file_name after trying handler. diff -r fd7810a1535a -r d149c4dc84f3 src/lread.c --- a/src/lread.c Fri Nov 18 16:41:07 1994 +0000 +++ b/src/lread.c Fri Nov 18 16:43:04 1994 +0000 @@ -361,13 +361,17 @@ #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)