comparison lisp/emacs-lisp/autoload.el @ 81790:8aa7f1b66163

(update-directory-autoloads): Remove duplicates without also removing entries from other directories.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 10 Jul 2007 14:13:16 +0000
parents 6416cbdef0fa
children e29d41367d51
comparison
equal deleted inserted replaced
81789:98fb807fb54e 81790:8aa7f1b66163
557 (files (apply 'nconc 557 (files (apply 'nconc
558 (mapcar (lambda (dir) 558 (mapcar (lambda (dir)
559 (directory-files (expand-file-name dir) 559 (directory-files (expand-file-name dir)
560 t files-re)) 560 t files-re))
561 dirs))) 561 dirs)))
562 (done ())
562 (this-time (current-time)) 563 (this-time (current-time))
563 ;; Files with no autoload cookies or whose autoloads go to other 564 ;; Files with no autoload cookies or whose autoloads go to other
564 ;; files because of file-local autoload-generated-file settings. 565 ;; files because of file-local autoload-generated-file settings.
565 (no-autoloads nil) 566 (no-autoloads nil)
566 (autoload-modified-buffers nil)) 567 (autoload-modified-buffers nil))
590 (not (time-less-p last-time file-time))) 591 (not (time-less-p last-time file-time)))
591 ;; file unchanged 592 ;; file unchanged
592 (push file no-autoloads) 593 (push file no-autoloads)
593 (setq files (delete file files))))))) 594 (setq files (delete file files)))))))
594 ((not (stringp file))) 595 ((not (stringp file)))
595 ((not (and (file-exists-p file) 596 ((or (not (file-exists-p file))
596 ;; Remove duplicates as well, just in case. 597 ;; Remove duplicates as well, just in case.
597 (member file files))) 598 (member file done))
598 ;; Remove the obsolete section. 599 ;; Remove the obsolete section.
599 (autoload-remove-section (match-beginning 0))) 600 (autoload-remove-section (match-beginning 0)))
600 ((not (time-less-p (nth 4 form) 601 ((not (time-less-p (nth 4 form)
601 (nth 5 (file-attributes file)))) 602 (nth 5 (file-attributes file))))
602 ;; File hasn't changed. 603 ;; File hasn't changed.
603 nil) 604 nil)
604 (t 605 (t
605 (autoload-remove-section (match-beginning 0)) 606 (autoload-remove-section (match-beginning 0))
606 (if (autoload-generate-file-autoloads 607 (if (autoload-generate-file-autoloads
607 file (current-buffer) buffer-file-name) 608 file (current-buffer) buffer-file-name)
608 (push file no-autoloads)))) 609 (push file no-autoloads))))
610 (push file done)
609 (setq files (delete file files))))) 611 (setq files (delete file files)))))
610 ;; Elements remaining in FILES have no existing autoload sections yet. 612 ;; Elements remaining in FILES have no existing autoload sections yet.
611 (dolist (file files) 613 (dolist (file files)
612 (if (autoload-generate-file-autoloads file nil buffer-file-name) 614 (if (autoload-generate-file-autoloads file nil buffer-file-name)
613 (push file no-autoloads))) 615 (push file no-autoloads)))