GNU bug report logs -
#62767
29.0.90; [PATCH] *lisp/emacs-lisp/package.el: set variables after info package
Previous Next
Full log
View this message in rfc822 format
lin Sun via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes:
> Hi Philip,
>
> I had researched these three calls with the "require 'info", and
> updated the patch for better performance.
> The 1 th and 3rd can be rewritten with the new form, but the 2nd one
> is necessary, and should not be changed.
> @@ -4427,7 +4426,7 @@ package-quickstart-refresh
> "(Re)Generate the `package-quickstart-file'."
> (interactive)
> (package-initialize 'no-activate)
> - (require 'info)
> + (require 'info) ; insure Info-directory-list avaliable for package-activate
"insure" -> "ensure"?
> (let ((package--quickstart-pkgs ())
> ;; Pretend we haven't activated anything yet!
> (package-activated-list ())
> @@ -4472,10 +4471,10 @@ package-quickstart-refresh
> (current-buffer))
> (let ((info-dirs (butlast Info-directory-list)))
> (when info-dirs
> - (pp `(progn (require 'info)
> - (info-initialize)
> - (setq Info-directory-list
> - (append ',info-dirs Info-directory-list)))
> + (pp `(with-eval-after-load 'info
> + (info-initialize)
> + (setq Info-directory-list
> + (append ',info-dirs Info-directory-list)))
> (current-buffer))))
I did some testing, and noticed that `with-eval-after-load' returns nil
to its caller when the feature is not loaded. That is, when `info' is
not already loaded, you are effectively calling (pp nil). This is not
feature-equivalent to the original code, so this might require the
`require' form.
--
Best,
RY
This bug report was last modified 1 year and 235 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.