X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=load-dir.el;h=bdb9f5949233420cee0751443c330509d6fc3066;hb=86a8a14b66b27727a503df09b7e0ca1198431660;hp=1ac7ed25cd1672e01d1a7dd37bc4fbc9e7cbbe8d;hpb=5909fea6b8ad5b95d9af7cad6824f11d944bdfd6;p=emacs-init.git diff --git a/load-dir.el b/load-dir.el index 1ac7ed2..bdb9f59 100644 --- a/load-dir.el +++ b/load-dir.el @@ -35,7 +35,8 @@ subdirectories." (read-directory-name (concat (if recurse "Recursively l" "L") "oad all Emacs lisp files from directory: ") - default-directory default-directory t))))) + default-directory default-directory t)))) + errors) ;; For non-interactive use (when (not (called-interactively-p 'any)) (unless directory @@ -66,9 +67,19 @@ subdirectories." (member (concat (file-name-sans-extension file) ".elc") file-list)))) - (load file)) + (condition-case err + (load file) + (error + (message "error while loading %s: %s" file err) + (setq errors (cons (file-name-nondirectory file) errors))))) ((and (file-directory-p file) recurse) - (load-dir file t))))))) + (setq errors (nconc (load-dir file t) errors)))))) + (if errors + (progn + (setq inhibit-startup-screen t) + (display-buffer "*Messages*") + (message "Errors occured while loading: %s" (mapconcat 'identity errors " ")))) + errors)) (provide 'load-dir)