From: Glenn Morris Date: Mon, 6 Oct 2014 07:00:33 +0000 (-0700) Subject: * lisp/Makefile.in (obsolete-autoloads): Write to a separate file, X-Git-Tag: emacs-25.0.90~2635^2~679^2~110 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=87666a0567f4e349e758cbe61161f0ac89018a43;p=emacs.git * lisp/Makefile.in (obsolete-autoloads): Write to a separate file, to workaround autoloads bug. (AUTOGENEL): Add obsolete/loaddefs.el. * lisp/loadup.el: Load obsolete/loaddefs.el if present. * lisp/subr.el (do-after-load-evaluation): Don't warn about obsolete/loaddefs.el. Fixes: debbugs:17407 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 53b2333e59d..034651d13c7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,12 @@ 2014-10-06 Glenn Morris + * Makefile.in (obsolete-autoloads): Write to a separate file, + to workaround autoloads bug. (Bug#17407) + (AUTOGENEL): Add obsolete/loaddefs.el. + * loadup.el: Load obsolete/loaddefs.el if present. + * subr.el (do-after-load-evaluation): + Don't warn about obsolete/loaddefs.el. + * menu-bar.el (menu-bar-games-menu): Remove landmark. It has zero relationship to a game. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 5733ea52715..83c76bff3ea 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -68,6 +68,7 @@ AUTOGENEL = loaddefs.el \ cedet/semantic/loaddefs.el \ cedet/ede/loaddefs.el \ cedet/srecode/loaddefs.el \ + obsolete/loaddefs.el \ org/org-loaddefs.el # Value of max-lisp-eval-depth when compiling initially. @@ -194,7 +195,7 @@ autoloads: $(LOADDEFS) obsolete-autoloads: ${lisp}/obsolete/*.el $(emacs) -l autoload \ --eval '(setq generate-autoload-cookie ";;;###obsolete-autoload")' \ - --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ + --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/obsolete/loaddefs.el")))' \ -f batch-update-autoloads ${lisp}/obsolete # This is required by the bootstrap-emacs target in ../src/Makefile, so diff --git a/lisp/loadup.el b/lisp/loadup.el index 9c052b284b8..cbd3838d0e0 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -144,6 +144,8 @@ ;; In case loaddefs hasn't been generated yet. (file-error (load "ldefs-boot.el"))) +(load "obsolete/loaddefs.el" t) + (load "emacs-lisp/nadvice") (load "minibuffer") (load "abbrev") ;lisp-mode.el and simple.el use define-abbrev-table. diff --git a/lisp/subr.el b/lisp/subr.el index 2435285bf0f..585f9368c53 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -3879,7 +3879,9 @@ This function is called directly from the C code." ;; discard the file name regexp (mapc #'funcall (cdr a-l-element)))) ;; Complain when the user uses obsolete files. - (when (string-match-p "/obsolete/[^/]*\\'" abs-file) + (when (save-match-data + (and (string-match "/obsolete/\\([^/]*\\)\\'" abs-file) + (not (equal "loaddefs.el" (match-string 1 abs-file))))) ;; Maybe we should just use display-warning? This seems yucky... (let* ((file (file-name-nondirectory abs-file)) (msg (format "Package %s is obsolete!"