From 392b9e10f233890bb4ec3db6af9174b28e234b06 Mon Sep 17 00:00:00 2001 From: James Bunton Date: Sat, 30 Jul 2016 17:54:13 +1000 Subject: [PATCH] load-path improvements --- init.el | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/init.el b/init.el index 23d4a92..85aaa33 100644 --- a/init.el +++ b/init.el @@ -1,12 +1,29 @@ ;;; -*- lexical-binding: t -*- -(add-to-list 'load-path "~/.emacs.d/lisp/") +(require 'cl-lib) -(dolist (name (directory-files "~/.emacs.d/packages/")) - (let ((dirname (concat "~/.emacs.d/packages/" name))) - (if (not (equal "." (substring name 0 1))) - (if (file-accessible-directory-p dirname) - (add-to-list 'load-path dirname))))) +(defvar my/original-load-path load-path) + +(defun my/add-to-load-path (dirname) + (and (string-match-p "^[^\\.]" dirname) + (file-accessible-directory-p dirname) + (cl-remove-if-not (lambda (file) (string-match-p "\\.el$" file)) (directory-files dirname)) + (add-to-list 'load-path dirname))) + +(defun my/setup-load-path () + (setq load-path my/original-load-path) + + (my/add-to-load-path "~/.emacs.d/lisp") + + (dolist (name (directory-files "~/.emacs.d/packages")) + (let ((dirname (concat "~/.emacs.d/packages/" name))) + (my/add-to-load-path dirname) + (my/add-to-load-path (concat dirname "/lisp")))) + + (message "Set load-path: %S" load-path)) + + +(my/setup-load-path) (load-library "my-backups") (load-library "my-completion") -- 2.39.2