GNU bug report logs - #65050
29.1.50; upgrading of multiple packages should only call package-quickstart-refresh once

Previous Next

Package: emacs;

Reported by: Kai Ma <justksqsf <at> gmail.com>

Date: Fri, 4 Aug 2023 10:20:02 UTC

Severity: wishlist

Found in version 29.1.50

To reply to this bug, email your comments to 65050 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#65050; Package emacs. (Fri, 04 Aug 2023 10:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kai Ma <justksqsf <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 04 Aug 2023 10:20:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kai Ma <justksqsf <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1.50; upgrading of multiple packages should only call
 package-quickstart-refresh once
Date: Fri, 04 Aug 2023 18:19:11 +0800
Severity: wishlist

When a user requests package upgrades via M-x list-packages, the
function package-menu-execute is invoked, which upgrades each marked
package one by one.  However, if the user has package-quickstart set to
t, each package installation/upgrade would cause a call to the very
costly package-quickstart-refresh.  If there are more than a handful of
packages to upgrade, the total consumed time would become much longer
than it could be.

It is therefore desirable that package-menu-execute (or some other more
appropriate function) masks package-quickstart before upgrading all the
packages.

(There is a related problem: package-install during initialization would
also trigger package-quickstart-refresh, but that's another topic.)



In GNU Emacs 29.1.50 (build 1, x86_64-apple-darwin22.6.0, NS
 appkit-2299.70 Version 13.5 (Build 22G74)) of 2023-08-03 built on
 Kais-MacBook.local
Repository revision: 7280e6aaa1978c6e26c4286db9c446fa74637fa4
Repository branch: emacs-29
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.5

Configured using:
 'configure --with-xwidgets --with-ns --with-tree-sitter -C
 'LDFLAGS=-L/usr/local/opt/llvm/lib -L/usr/local/opt/bison/lib
 -L/usr/local/opt/flex/lib' 'CPPFLAGS=-I/usr/local/opt/llvm/include
 -I/usr/local/opt/flex/include''

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM XWIDGETS ZLIB

Important settings:
  value of $LC_ALL: zh_CN.utf-8
  value of $LANG: zh_CN.utf-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  bug-reference-prog-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  windmove-mode: t
  shell-dirtrack-mode: t
  display-line-numbers-mode: t
  hl-todo-mode: t
  rainbow-delimiters-mode: t
  copilot-mode: t
  symbol-overlay-mode: t
  diff-hl-margin-local-mode: t
  diff-hl-margin-mode: t
  diff-hl-mode: t
  recentf-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  doom-modeline-mode: t
  winner-mode: t
  winum-mode: t
  which-key-mode: t
  global-hl-line-mode: t
  projectile-mode: t
  vertico-multiform-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  evil-leader-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  diredfl-global-mode: t
  evil-mode: t
  evil-local-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  prescient-persist-mode: t
  global-ligature-mode: t
  ligature-mode: t
  pixel-scroll-precision-mode: t
  save-place-mode: t
  adaptive-wrap-prefix-mode: t
  server-mode: t
  electric-pair-mode: t
  global-so-long-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  hs-minor-mode: t

Load-path shadows:
/Users/kaima/.emacs.d/elpa/transient-20230723.1411/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient
/Users/kaima/.emacs.d/elpa/eglot-1.15/eglot hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/eglot
/Users/kaima/.emacs.d/elpa/eldoc-1.14.0/eldoc hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eldoc

Features:
(shadow evil-collection-helpful helpful cc-langs trace
evil-collection-edebug edebug info-look evil-collection-elisp-refs
elisp-refs bug-reference magit-bookmark evil-collection-magit
magit-submodule magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
git-commit evil-collection-log-edit log-edit add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode transient magit-git magit-base evil-collection-magit-section
magit-section crm all-the-icons-dired dired-filter dired-hacks-utils
dired-aux dired-x evil-collection-shortdoc shortdoc package-vc url-http
url-auth url-gw evil-collection-finder finder cursor-sensor smerge-mode
diff ecomplete evil-collection-view view emacsbug flow-fill mm-archive
qp gnus-html url-queue help-fns radix-tree url-cache mm-url sort smiley
gnus-cite mail-extr textsec uni-scripts idna-mapping uni-confusable
textsec-check gnus-async gnus-bcklg gnus-dup gnus-ml disp-table nndraft
nnmh utf-7 nnfolder nnnil gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls
dig nntp gnus-cache gnus-sum shr pixel-fill kinsoku url-file gnus-topic
gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail
mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail
yank-media rfc822 mml mml-sec evil-collection-epa epa mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win evil-collection-gnus gnus
nnheader gnus-util mail-utils range mm-util mail-prsvr battery dbus time
hardhacker-theme evil-collection-cus-theme cus-theme jka-compr windmove
consult-xref misearch multi-isearch avy consult-imenu consult-compile
consult-flymake cus-start align evil-collection-speedbar speedbar
ezimage dframe haskell-mode haskell-cabal haskell-utils
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports
haskell-complete-module haskell-ghc-support etags fileloop
haskell-customize evil-collection-eglot eglot external-completion
evil-collection-flymake flymake-proc flymake cap-words superword subword
cargo cargo-process tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat shell rust-ts-mode c-ts-common org-protocol
evil-org-agenda evil-org evil-collection-org citeproc
citeproc-itemgetters citeproc-biblatex parse-time citeproc-bibtex
parsebib ol-bibtex bibtex iso8601 citeproc-cite citeproc-subbibs
citeproc-sort citeproc-name citeproc-formatters citeproc-number rst
citeproc-proc citeproc-disamb citeproc-itemdata
citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date
citeproc-context citeproc-prange citeproc-style citeproc-locale
citeproc-term citeproc-rt citeproc-lib citeproc-s let-alist queue
oc-bibtex ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-element
org-persist org-id org-refile avl-tree generator org-tempo tempo org
org-macro org-pcomplete pcomplete org-list org-footnote org-faces
org-entities ob-d2 ob-dot ob-python evil-collection-python python
treesit ob-rust ob-C ob ob-tangle org-src ob-ref ob-lob ob-table ob-exp
ob-comint ccls ccls-member-hierarchy ccls-inheritance-hierarchy
ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight
ccls-common lsp-mode lsp-protocol evil-collection-xref xref spinner
network-stream puny nsm evil-collection-markdown-mode markdown-mode
edit-indirect evil-collection-outline noutline outline inline
evil-collection-imenu imenu ht epg rfc6068 epg-config cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc org-loaddefs evil-collection-calendar cal-menu
calendar cal-loaddefs org-compat org-version org-macs format-spec
vertico-directory evil-collection-vc-git vc-git evil-collection-consult
consult evil-collection-bookmark bookmark time-date autoinsert pulse
hideshow display-line-numbers hl-todo rainbow-delimiters copilot
copilot-balancer editorconfig editorconfig-core editorconfig-core-handle
editorconfig-fnmatch jsonrpc evil-collection-ert ert
evil-collection-debug debug backtrace find-func warnings symbol-overlay
evil-collection-diff-hl diff-hl-margin diff-hl-dired diff-hl
evil-collection-log-view log-view pcvs-util evil-collection-vc-dir
vc-dir ewoc vc vc-dispatcher evil-collection-diff-mode diff-mode recentf
tree-widget yasnippet-snippets yasnippet doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f f-shortdoc s nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon winner winum
evil-collection-which-key which-key hl-line solaire-mode face-remap
projectile project lisp-mnt evil-collection-grep grep
evil-collection-compile compile text-property-search
evil-collection-comint comint ansi-osc ansi-color ibuf-ext
evil-collection-ibuffer ibuffer ibuffer-loaddefs evil-collection-vertico
vertico-multiform vertico-mouse vertico catppuccin-theme keyfreq
prelude-nix prelude-evil evil-leader evil-surround
evil-collection-unimpaired evil-collection-tabulated-list
evil-collection-tab-bar evil-collection-so-long evil-collection-simple
evil-collection-replace evil-collection-process-menu
evil-collection-popup evil-collection-package-menu evil-collection-info
evil-collection-indent evil-collection-image image-mode
evil-collection-dired diredfl dired dired-loaddefs exif
evil-collection-help evil-collection-elisp-mode evil-collection-eldoc
evil-collection-custom evil-collection-corfu evil-collection-buff-menu
evil-collection annalist evil evil-integration evil-maps evil-commands
reveal evil-jumps evil-command-window evil-search evil-ex evil-types
evil-macros evil-repeat evil-states evil-core evil-common thingatpt rect
evil-vars prelude-irc prelude-apps prelude-mail prelude-os prelude-help
prelude-lang-zig prelude-lang-web prelude-lang-agda agda2
prelude-lang-haskell derived prelude-lang-js prelude-lang-ml
prelude-lang-coq prelude-lang-rust prelude-lang-python prelude-lang-cc
prelude-lang-lisp prelude-prog prelude-blog prelude-org hydra lv
prelude-tex prelude-git prelude-dired prelude-chinese rime
rime-predicates xdg posframe popup dash prelude-ibuffer prelude-search
prelude-completion kind-icon svg-lib svg dom xml corfu-popupinfo corfu
pcase cape marginalia orderless prescient char-fold prelude-project
prelude-ui centaur-tabs centaur-tabs-interactive centaur-tabs-functions
centaur-tabs-elements powerline powerline-separators powerline-themes
color cus-edit pp cus-load icons wid-edit rx ligature all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons pixel-scroll cua-base ring
prelude-core saveplace adaptive-wrap dabbrev server finder-inf elec-pair
diminish exec-path-from-shell undohist edmacro kmacro so-long delsel
autorevert filenotify prelude-benchmark benchmark-init advice cl-extra
help-mode prelude-common prelude-package vc-use-package use-package
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode prelude-loaddefs no-littering compat package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source eieio eieio-core password-cache json subr-x map byte-opt
url-vars cl-macs gv use-package-ensure cl-seq use-package-core
cl-loaddefs cl-lib bytecomp byte-compile info adaptive-wrap-autoloads
all-the-icons-dired-autoloads all-the-icons-ibuffer-autoloads
ample-theme-autoloads auctex-autoloads tex-site ayu-theme-autoloads
benchmark-init-autoloads cape-autoloads carbon-now-sh-autoloads
cargo-autoloads catppuccin-theme-autoloads ccls-autoloads
cdlatex-autoloads centaur-tabs-autoloads cider-autoloads citre-autoloads
clojure-mode-autoloads cmake-mode-autoloads cmm-mode-autoloads
color-theme-sanityinc-tomorrow-autoloads company-box-autoloads
company-coq-autoloads company-math-autoloads company-autoloads
copilot-autoloads corfu-prescient-autoloads corfu-autoloads
d2-mode-autoloads dap-mode-autoloads bui-autoloads
dash-at-point-autoloads dashboard-autoloads debbugs-autoloads
deft-autoloads devdocs-autoloads diff-hl-autoloads diminish-autoloads
dired-filter-autoloads dired-hacks-utils-autoloads diredfl-autoloads
dockerfile-mode-autoloads doom-modeline-autoloads doom-themes-autoloads
dracula-theme-autoloads dumb-jump-autoloads dune-autoloads
ebib-autoloads edit-indirect-autoloads editorconfig-autoloads
eglot-autoloads eldoc-box-autoloads elfeed-autoloads
emacs-gc-stats-autoloads embark-consult-autoloads consult-autoloads
embark-autoloads evil-cleverparens-autoloads evil-collection-autoloads
annalist-autoloads evil-leader-autoloads evil-org-autoloads
evil-paredit-autoloads evil-surround-autoloads evil-autoloads
exec-path-from-shell-autoloads expand-region-autoloads
fish-mode-autoloads flatui-theme-autoloads flycheck-haskell-autoloads
flycheck-autoloads forge-autoloads closql-autoloads
frame-local-autoloads fsharp-mode-autoloads geiser-guile-autoloads
geiser-racket-autoloads geiser-autoloads general-autoloads
ghub-autoloads git-timemachine-autoloads go-mode-autoloads
go-translate-autoloads google-translate-autoloads goto-chg-autoloads
gptel-autoloads haskell-mode-autoloads helm-bibtex-autoloads
helm-autoloads helm-core-autoloads helpful-autoloads
elisp-refs-autoloads hl-todo-autoloads humanoid-themes-autoloads
indent-bars-autoloads info-colors-autoloads js2-mode-autoloads
jupyter-autoloads keyfreq-autoloads kind-icon-autoloads
ligature-autoloads lsp-docker-autoloads lsp-treemacs-autoloads
lsp-ui-autoloads lsp-mode-autoloads eldoc-autoloads lua-mode-autoloads
magit-autoloads git-commit-autoloads marginalia-autoloads
markdown-mode-autoloads math-symbol-lists-autoloads maxima-autoloads
meow-autoloads merlin-autoloads mindre-theme-autoloads minimap-autoloads
mixed-pitch-autoloads modern-cpp-font-lock-autoloads
modus-themes-autoloads moe-theme-autoloads monokai-alt-theme-autoloads
monokai-pro-theme-autoloads monokai-theme-autoloads
multiple-cursors-autoloads neotree-autoloads nerd-icons-autoloads
nginx-mode-autoloads nix-mode-autoloads nix-sandbox-autoloads
no-littering-autoloads nov-autoloads esxml-autoloads
ns-auto-titlebar-autoloads nyan-mode-autoloads ob-d2-autoloads
ob-rust-autoloads olivetti-autoloads one-themes-autoloads
orderless-autoloads org-appear-autoloads org-bullets-autoloads
org-download-autoloads async-autoloads org-gcal-autoloads
elnode-autoloads db-autoloads fakir-autoloads creole-autoloads
kv-autoloads noflet-autoloads alert-autoloads log4e-autoloads
gntp-autoloads aio-autoloads org-journal-autoloads
org-latex-impatient-autoloads org-noter-autoloads
org-preview-html-autoloads org-ref-autoloads citeproc-autoloads
htmlize-autoloads org-roam-bibtex-autoloads bibtex-completion-autoloads
biblio-autoloads biblio-core-autoloads org-roam-ui-autoloads
org-roam-autoloads magit-section-autoloads emacsql-autoloads
org-xlatex-autoloads ormolu-autoloads ox-pandoc-autoloads
paredit-autoloads parsebib-autoloads parseedn-autoloads
parseclj-autoloads pdf-tools-autoloads persist-autoloads
pinyinlib-autoloads pkg-info-autoloads epl-autoloads powerline-autoloads
prescient-autoloads proof-general-autoloads proof-site proof-autoloads
queue-autoloads quickrun-autoloads racket-mode-autoloads
rainbow-delimiters-autoloads rainbow-mode-autoloads
request-deferred-autoloads request-autoloads deferred-autoloads
rg-autoloads rime-autoloads popup-autoloads ripgrep-autoloads
rotate-autoloads rust-mode-autoloads scala-mode-autoloads
sesman-autoloads setup-autoloads shackle-autoloads shrink-path-autoloads
f-autoloads simple-httpd-autoloads sis-autoloads sly-autoloads
smartparens-autoloads solaire-mode-autoloads solo-jazz-theme-autoloads
spacemacs-theme-autoloads speed-type-autoloads spinner-autoloads
srcery-theme-autoloads standard-themes-autoloads
string-inflection-autoloads svg-lib-autoloads symbol-overlay-autoloads
tablist-autoloads tabspaces-autoloads telega-autoloads
rainbow-identifiers-autoloads terminal-focus-reporting-autoloads
test-simple-autoloads theme-emacs-autoloads transient-autoloads
treemacs-all-the-icons-autoloads all-the-icons-autoloads
treemacs-persp-autoloads persp-mode-autoloads
treemacs-projectile-autoloads projectile-autoloads
treemacs-tab-bar-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads treepy-autoloads
treesit-auto-autoloads undohist-autoloads utop-autoloads
tuareg-autoloads caml-autoloads valign-autoloads
vc-use-package-autoloads vertico-autoloads visual-fill-column-autoloads
vterm-toggle-autoloads vterm-autoloads vundo-autoloads
wakatime-mode-autoloads web-autoloads s-autoloads web-mode-autoloads
websocket-autoloads wfnames-autoloads wgrep-autoloads
wgsl-mode-autoloads which-key-autoloads winum-autoloads dash-autoloads
with-editor-autoloads compat-autoloads yaml-autoloads
yaml-mode-autoloads yasnippet-snippets-autoloads yasnippet-autoloads
zig-mode-autoloads reformatter-autoloads zmq-autoloads rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads xwidget-internal dbusbind kqueue cocoa ns lcms2 multi-tty
make-network-process emacs)

Memory information:
((conses 16 2411804 703681)
 (symbols 48 84289 6)
 (strings 32 542738 67807)
 (string-bytes 1 15667056)
 (vectors 16 167560)
 (vector-slots 8 3541864 256708)
 (floats 8 1707 10428)
 (intervals 56 209880 5208)
 (buffers 984 54))
-- 




This bug report was last modified 1 year and 145 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.