]> code.delx.au - gnu-emacs/commitdiff
* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
authorGlenn Morris <rgm@gnu.org>
Mon, 25 Apr 2016 21:28:00 +0000 (17:28 -0400)
committerGlenn Morris <rgm@gnu.org>
Mon, 25 Apr 2016 21:28:00 +0000 (17:28 -0400)
Future-proof against non-time-values.

; Do not merge to master.

lisp/emacs-lisp/autoload.el

index e688d6be7253fa09c275ead531e8b2d96b5926d8..eb6b746bd8022cf6455881977d55f14953bcbf37 100644 (file)
@@ -800,13 +800,14 @@ write its autoloads into the specified file instead."
                   ;; Remove the obsolete section.
                   (autoload-remove-section (match-beginning 0))
                   (setq last-time (nth 4 form))
-                  (dolist (file file)
-                    (let ((file-time (nth 5 (file-attributes file))))
-                      (when (and file-time
-                                 (not (time-less-p last-time file-time)))
-                        ;; file unchanged
-                        (push file no-autoloads)
-                        (setq files (delete file files))))))
+                  (when (listp last-time)
+                    (dolist (file file)
+                      (let ((file-time (nth 5 (file-attributes file))))
+                        (when (and file-time
+                                   (not (time-less-p last-time file-time)))
+                          ;; file unchanged
+                          (push file no-autoloads)
+                          (setq files (delete file files)))))))
                  ((not (stringp file)))
                  ((or (not (file-exists-p file))
                        ;; Remove duplicates as well, just in case.
@@ -815,8 +816,9 @@ write its autoloads into the specified file instead."
                        (member (expand-file-name file) autoload-excludes))
                    ;; Remove the obsolete section.
                   (autoload-remove-section (match-beginning 0)))
-                 ((not (time-less-p (nth 4 form)
-                                     (nth 5 (file-attributes file))))
+                 ((and (listp (nth 4 form))
+                       (not (time-less-p (nth 4 form)
+                                         (nth 5 (file-attributes file)))))
                   ;; File hasn't changed.
                   nil)
                  (t