Richard Stallman <[EMAIL PROTECTED]> writes: [...]
> Does this give good results? > > *** fns.c 18 Jan 2005 19:52:01 -0500 1.382 > --- fns.c 08 Apr 2005 22:22:22 -0400 > *************** > *** 66,71 **** > --- 66,72 ---- > 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,3452 **** > CHECK_SYMBOL (feature); > > /* Record the presence of `require' in this file > ! even if the feature specified is already loaded. */ > ! LOADHIST_ATTACH (Fcons (Qrequire, feature)); > ! > tem = Fmemq (feature, Vfeatures); > > if (NILP (tem)) > --- 3445,3459 ---- > 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 (! 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)) Did you perhaps mean to use load_in_progress instead of Vloads_in_progress? Lute. Index: src/fns.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/fns.c,v retrieving revision 1.384 diff -c -r1.384 fns.c *** src/fns.c 10 Apr 2005 19:02:24 -0000 1.384 --- src/fns.c 13 Apr 2005 08:42:48 -0000 *************** *** 66,72 **** 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; --- 66,72 ---- extern int minibuffer_auto_raise; extern Lisp_Object minibuf_window; extern Lisp_Object Vlocale_coding_system; ! extern int load_in_progress; Lisp_Object Qstring_lessp, Qprovide, Qrequire; Lisp_Object Qyes_or_no_p_history; *************** *** 3460,3466 **** 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))) --- 3460,3466 ---- 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) { tem = Fcons (Qrequire, feature); if (NILP (Fmember (tem, Vcurrent_load_list))) Index: src/lread.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/lread.c,v retrieving revision 1.329 diff -c -r1.329 lread.c *** src/lread.c 10 Apr 2005 00:28:37 -0000 1.329 --- src/lread.c 13 Apr 2005 08:42:51 -0000 *************** *** 1,6 **** /* Lisp parsing and input streams. Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998, ! 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Emacs. --- 1,6 ---- /* Lisp parsing and input streams. Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998, ! 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. *************** *** 193,199 **** /* A list of file names for files being loaded in Fload. Used to check for recursive loads. */ ! Lisp_Object Vloads_in_progress; /* Non-zero means load dangerous compiled Lisp files. */ --- 193,199 ---- /* A list of file names for files being loaded in Fload. Used to check for recursive loads. */ ! static Lisp_Object Vloads_in_progress; /* Non-zero means load dangerous compiled Lisp files. */ _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel