From b6666b5f60a5c3cf5abd4e3003ed58c5042b08ff Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 25 May 2005 14:18:45 +0000 Subject: [PATCH] (normal-top-level): Allow modification of load-path while iterating over it. --- lisp/ChangeLog | 23 ++++++++++++++--------- lisp/startup.el | 16 +++++++++++----- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3a87822af49..b57e18d462b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2005-05-25 Stefan Monnier + + * startup.el (normal-top-level): Allow modification of load-path while + we're iterating over it. + 2005-05-25 Juanma Barranquero * thumbs.el (thumbs-thumbsdir-max-size, thumbs-temp-file) @@ -22,15 +27,15 @@ 2005-05-24 Nick Roberts - * progmodes/gdb-ui.el (gdb-inferior-io-mode-map): Bind - gdb-inferior-io-eof to C-d. + * progmodes/gdb-ui.el (gdb-inferior-io-mode-map): + Bind gdb-inferior-io-eof to C-d. * dired.el (dired-dnd-popup-notice): Use message-box. 2005-05-23 Masatake YAMATO - * bindings.el (mode-line-major-mode-keymap): Bind - [mode-line down-mouse-1] to `mouse-major-mode-menu'. + * bindings.el (mode-line-major-mode-keymap): + Bind [mode-line down-mouse-1] to `mouse-major-mode-menu'. * faces.el (mode-line-highlight): New face. @@ -394,7 +399,7 @@ 2005-05-19 Carsten Dominik - * textmodes/reftex.el (reftex-isearch-minor-mode): Moved the + * textmodes/reftex.el (reftex-isearch-minor-mode): Move the definition of this variable from reftex-global.el to reftex.el, because it is needed in the menu. @@ -417,8 +422,8 @@ (makefile-add-this-line-macro): Simplify and integrate into `makefile-pickup-macros. (makefile-pickup-filenames-as-targets): Simplify. - (makefile-previous-dependency, makefile-match-dependency): Don't - stumble over `::'. + (makefile-previous-dependency, makefile-match-dependency): + Don't stumble over `::'. 2005-05-19 Nick Roberts @@ -432,8 +437,8 @@ * help-fns.el (describe-variable): Remove hyperlinks in a variable's value as these are quite frequently inappropriate. - * follow.el (follow-submit-feedback, follow-mode): Remove - references to post-command-idle-hook. + * follow.el (follow-submit-feedback, follow-mode): + Remove references to post-command-idle-hook. 2005-05-18 Daniel Pfeiffer diff --git a/lisp/startup.el b/lisp/startup.el index b7d1a1d34df..53539c6185f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -368,11 +368,17 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." ;; of that dir into load-path, ;; Look for a leim-list.el file too. Loading it will register ;; available input methods. - (dolist (dir load-path) - (let ((default-directory dir)) - (load (expand-file-name "subdirs.el") t t t)) - (let ((default-directory dir)) - (load (expand-file-name "leim-list.el") t t t))) + (let ((tail load-path) dir) + (while tail + (setq dir (car tail)) + (let ((default-directory dir)) + (load (expand-file-name "subdirs.el") t t t)) + (let ((default-directory dir)) + (load (expand-file-name "leim-list.el") t t t)) + ;; We don't use a dolist loop and we put this "setq-cdr" command at + ;; the end, because the subdirs.el files may add elements to the end + ;; of load-path and we want to take it into account. + (setq tail (cdr tail)))) (unless (eq system-type 'vax-vms) ;; If the PWD environment variable isn't accurate, delete it. (let ((pwd (getenv "PWD"))) -- 2.39.2