From b1fd4fc50e2e5df674e766afe49d2cbd36de4595 Mon Sep 17 00:00:00 2001 From: Ryan Thompson Date: Mon, 14 Nov 2011 18:01:25 -0800 Subject: [PATCH] Load system and user config files after init. Should help with #107. ALMOST ENTIRELY UNTESTED. --- starter-kit.el | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/starter-kit.el b/starter-kit.el index 0098e50f80..c5dc246355 100644 --- a/starter-kit.el +++ b/starter-kit.el @@ -57,10 +57,21 @@ (smex-initialize) (global-set-key (kbd "M-x") 'smex) - (when (file-exists-p esk-system-config) (load esk-system-config)) - (when (file-exists-p esk-user-config) (load esk-user-config)) - (when (file-exists-p esk-user-dir) - (mapc 'load (directory-files esk-user-dir nil "^[^#].*el$")))) + (defun esk-eval-after-init (form) + "Add `(lambda () FORM)' to `after-init-hook'. + + If Emacs has already finished initialization, also eval FORM immediately." + (let ((func (list 'lambda nil form))) + (add-hook 'after-init-hook func) + (when after-init-time + (eval form)))) + + (esk-eval-after-init + '(progn + (when (file-exists-p esk-system-config) (load esk-system-config)) + (when (file-exists-p esk-user-config) (load esk-user-config)) + (when (file-exists-p esk-user-dir) + (mapc 'load (directory-files esk-user-dir nil "^[^#].*el$")))))) (provide 'starter-kit) ;;; starter-kit.el ends here