diff --git a/lisp/acdw.el b/lisp/acdw.el index 1a699bb..f1c1a8d 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -57,10 +57,19 @@ each hook in HOOKS." (defun refresh-emacs () "Reload Emacs's configuration files." (interactive) - (dolist (file (list (locate-user-emacs-file "early-init.el") - (locate-user-emacs-file "init.el" ".emacs"))) - (when (file-exists-p file) - (load-file file)))) + (dolist (file (append + ;; Load lisp libraries first, in case their functionality is + ;; used by {early-,}init.el + (let* ((dir (expand-file-name "lisp/" user-emacs-directory)) + (full-name (lambda (f) + (concat (file-name-as-directory dir) f)))) + (mapcar full-name (directory-files dir nil "\\.el\\'"))) + ;; Load regular init files + (list (locate-user-emacs-file "early-init.el") + (locate-user-emacs-file "init.el" ".emacs")))) + (with-message (format "Loading %s" file) + (when (file-exists-p file) + (load-file file))))) (defun expand-file-name-exists-p (&rest expand-file-name-args) "Call `expand-file-name' on EXPAND-FILE-NAME-ARGS, returning