* lisp/initz.el (initz-get-files): Add optional argument `all'.
[elisp/initz.git] / lisp / initz-list.el
index 5350d6b..af56b0a 100644 (file)
   (when (or (eq major-mode 'initz-list-mode)
            (eq major-mode 'initz-error-mode))
     (setq ad-return-value
-         (mapcar
-          (function (lambda (list)
-                      (cons (cons (caar list) (1+ (cdar list)))
-                            (cons (cadr list) (1+ (cddr list))))))
-          ad-return-value))))
+         (mapcar #'(lambda (list)
+                     (cons (cons (caar list) (1+ (cdar list)))
+                           (cons (cadr list) (1+ (cddr list)))))
+                 ad-return-value))))
 
 (defun initz-list-delete-whole-line ()
   "Delete whole line at point."
 
 (defun initz-list-input-dir (&optional default)
   "Input the dir."
-  (let* ((completing-list (mapcar
-                          (function (lambda (list)
-                                      (symbol-name (car list))))
-                          initz-init-alist))
+  (let* ((completing-list (mapcar #'(lambda (list)
+                                     (symbol-name (car list)))
+                                 initz-init-alist))
         (default (if (stringp default) default "misc")))
     (completing-read
      (format initz-list-input-dir-message-format
             initz-directory default)
-     (mapcar
-      (function (lambda (name)
-                 (cons name name)))
-      completing-list)
+     (mapcar #'(lambda (name)
+                (cons name name))
+            completing-list)
      nil t nil nil default)))
 
 (defun initz-list-input-module (dir)
     (if initz-list-input-module-completing
        (completing-read
         (format initz-list-input-module-message-format dir)
-        (mapcar
-         (function (lambda (feature)
-                     (let ((name (symbol-name feature)))
-                       (cons name name))))
-         features)
+        (mapcar #'(lambda (feature)
+                    (let ((name (symbol-name feature)))
+                      (cons name name)))
+                features)
         nil nil init)
       (read-string
-        (format initz-list-input-module-message-format dir)
-        init))))
+       (format initz-list-input-module-message-format dir)
+       init))))
 
 (defun initz-list-insert-file (dir startup-file)
   "Insert the STARTUP-FILE at DIR section."
     (let ((sort-start (point))
          (initz-features (initz-features)))
       (mapc
-       (function (lambda (file)
-                  (let* ((module (initz-get-module-name file))
-                         (loaded (memq (intern module) initz-features))
-                         start)
-                    (insert-char ?\  4)
-                    (setq start (point))
-                    (insert module)
-                    (when loaded (insert initz-list-loaded-mark))
-                    (insert "\n")
-                    (add-text-properties
-                     start (1- (point))
-                     `(face ,(if loaded
-                                 'initz-list-module-face 
-                               'initz-list-unloaded-module-face)
-                       mouse-face highlight
-                       start-open t rear-nonsticky t
-                       help-echo ,file))
-                    (put-text-property start (point) :file file))))
-       (initz-get-files 'startup node))
+       #'(lambda (file)
+          (let* ((module (initz-get-module-name file))
+                 (loaded (memq (intern module) initz-features))
+                 start)
+            (insert-char ?\  4)
+            (setq start (point))
+            (insert module)
+            (when loaded (insert initz-list-loaded-mark))
+            (insert "\n")
+            (add-text-properties start (1- (point))
+                                 `(face ,(if loaded
+                                             'initz-list-module-face 
+                                           'initz-list-unloaded-module-face)
+                                   mouse-face highlight
+                                   start-open t rear-nonsticky t
+                                   help-echo ,file))
+            (put-text-property start (point) :file file)))
+       (initz-get-files 'startup node initz-list-all-modules))
       (sort-lines nil sort-start (point)))
     (set-buffer-modified-p nil)
     (setq buffer-read-only t)))
   (interactive)
   (let ((file (get-text-property (point) :file)))
     (when file
-      (condition-case nil
-         (when (save-window-excursion
-                 (byte-compile-file file))
-           (let* ((compile-file (initz-get-correspondence-file file))
-                  (startup-directory (file-name-directory file))
-                  (flavor-directory (file-name-directory compile-file)))
-             (install-file (file-name-nondirectory compile-file)
-                           startup-directory flavor-directory t t))
-           (setq initz-compile-error-files
-                 (delete file initz-compile-error-files)))
-       (error)))))
+      (let ((compile-file (initz-get-correspondence-file file)))
+       (when (file-newer-than-file-p file compile-file)
+         (condition-case nil
+             (when (save-window-excursion
+                     (byte-compile-file file))
+               (let ((startup-directory (file-name-directory file))
+                     (flavor-directory (file-name-directory compile-file)))
+                 (install-file (file-name-nondirectory compile-file)
+                               startup-directory flavor-directory t t))
+               (setq initz-compile-error-files
+                     (delete file initz-compile-error-files)))
+           (error)))))))
 
 (defun initz-list-delete-file ()
   "Delete the file under point."
   "Load the file under point."
   (interactive)
   (let* ((file (get-text-property (point) :file)))
-    (initz-list-byte-compile-file)
-    (when (initz-load-file (initz-get-correspondence-file file))
-      (setq initz-load-error-files
-           (delete file initz-load-error-files)))))
+      (when (and (initz-list-byte-compile-file)
+                (initz-load-file (initz-get-correspondence-file file)))
+       (setq initz-load-error-files
+             (delete file initz-load-error-files)))))
 
 ;;;###autoload
 (defun initz-list-new-file ()
    (format initz-list-enter-message-format
           (substitute-command-keys "\\[initz-list-find-file]")))
   (insert "\n")
-  (mapc
-   (function (lambda (alist)
-              (let ((sym (car alist)))
-                (funcall
-                 (intern (concat "initz-list-node-"
-                                 (symbol-name
-                                  initz-list-default-node-status)))
-                 sym))))
-   initz-init-alist)
+  (mapc #'(lambda (alist)
+           (let ((sym (car alist)))
+             (funcall (intern (concat "initz-list-node-"
+                                      (symbol-name
+                                       initz-list-default-node-status)))
+                      sym)))
+       initz-init-alist)
   (set-buffer-modified-p nil)
   (setq buffer-read-only t)
   (goto-char (point-min))