Recursively add dirs from 'my-usr-el-dir' to 'load-path'.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sat, 05 Nov 2011 22:28:34 +0200
changeset 765 bbeae3f53afa
parent 764 1e356bb92737
child 766 31b6b63917df
Recursively add dirs from 'my-usr-el-dir' to 'load-path'.
.emacs
--- a/.emacs	Sat Nov 05 11:23:57 2011 +0200
+++ b/.emacs	Sat Nov 05 22:28:34 2011 +0200
@@ -8,14 +8,28 @@
 
 ;; ======================================================================
 ;; Load path.
+
+(defun my-find-subdirs (dir)
+  (if (file-directory-p dir)
+      (cons dir (apply 'append (mapcar 'my-find-subdirs (directory-files dir t "^[^.]")) ) )
+    ))
+(defun my-add-subdirs-to-load-path (dir)
+  (mapc
+   (lambda (d)
+     (add-to-list 'load-path d t)
+     (message "Load-path updated with: %s" d)
+     )
+   (my-find-subdirs dir)) )
+
 (defvar my-usr-el-dir
   (expand-file-name "~/usr/share/emacs/site-lisp")
   "Here live additional lisp packages.")
-(add-to-list 'load-path my-usr-el-dir t)
+(my-add-subdirs-to-load-path my-usr-el-dir)
+
 (defvar my-lisp-dir
   (expand-file-name "~/.emacs.d/my-lisp")
   "Here live my lisp packages.")
-(add-to-list 'load-path my-lisp-dir t)
+(my-add-subdirs-to-load-path my-lisp-dir)
 
 (defvar my-autoload (concat my-lisp-dir "/autoload-my.el")
   "Path to autoload for mode files.")