changeset 67497:6f5564740da6

(Frequire): Treat evaluating from a source file like loading the file.
author Richard M. Stallman <rms@gnu.org>
date Sun, 11 Dec 2005 05:10:08 +0000
parents 199bdb85a35f
children 30baecf371f9
files src/fns.c
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/fns.c	Sun Dec 11 05:09:00 2005 +0000
+++ b/src/fns.c	Sun Dec 11 05:10:08 2005 +0000
@@ -3559,14 +3559,20 @@
 {
   register Lisp_Object tem;
   struct gcpro gcpro1, gcpro2;
+  int from_file = load_in_progress;
 
   CHECK_SYMBOL (feature);
 
   /* Record the presence of `require' in this file
      even if the feature specified is already loaded.
      But not more than once in any file,
-     and not when we aren't loading a file.  */
-  if (load_in_progress)
+     and not when we aren't loading or reading from a file.  */
+  if (!from_file)
+    for (tem = Vcurrent_load_list; CONSP (tem); tem = XCDR (tem))
+      if (NILP (XCDR (tem)) && STRINGP (XCAR (tem)))
+	from_file = 1;
+
+  if (from_file)
     {
       tem = Fcons (Qrequire, feature);
       if (NILP (Fmember (tem, Vcurrent_load_list)))