summaryrefslogtreecommitdiff
path: root/src/fns.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2005-04-10 00:28:00 +0000
committerRichard M. Stallman <rms@gnu.org>2005-04-10 00:28:00 +0000
commit9d5c2e7e2ce8f046fc32ab785cfb70277fc98aca (patch)
tree1ee068ea74e87cf3f82ac7631a85be3f81cc21a4 /src/fns.c
parent6183d8422dc7e32df05454c13b6fa6c97cf5cbbb (diff)
downloademacs-9d5c2e7e2ce8f046fc32ab785cfb70277fc98aca.tar.gz
(Vloads_in_progress): Add extern.
(Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil.
Diffstat (limited to 'src/fns.c')
-rw-r--r--src/fns.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c
index 9a3121a3391..d85a6adfeb1 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -66,6 +66,7 @@ int use_file_dialog;
extern int minibuffer_auto_raise;
extern Lisp_Object minibuf_window;
extern Lisp_Object Vlocale_coding_system;
+extern Lisp_Object Vloads_in_progress;
Lisp_Object Qstring_lessp, Qprovide, Qrequire;
Lisp_Object Qyes_or_no_p_history;
@@ -3444,9 +3445,15 @@ The normal messages at start and end of loading FILENAME are suppressed. */)
CHECK_SYMBOL (feature);
/* Record the presence of `require' in this file
- even if the feature specified is already loaded. */
- LOADHIST_ATTACH (Fcons (Qrequire, feature));
-
+ 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 (! NILP (Vloads_in_progress))
+ {
+ tem = Fcons (Qrequire, feature);
+ if (NILP (Fmember (tem, Vcurrent_load_list)))
+ LOADHIST_ATTACH (tem);
+ }
tem = Fmemq (feature, Vfeatures);
if (NILP (tem))