Package: emacs;
Reported by: Jimmy Yuen Ho Wong <wyuenho <at> gmail.com>
Date: Sat, 6 May 2023 23:28:01 UTC
Severity: normal
Found in version 29.0.90
Done: Philip Kaludercic <philipk <at> posteo.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63338 in the body.
You can then email your comments to 63338 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Sat, 06 May 2023 23:28:02 GMT) Full text and rfc822 format available.Jimmy Yuen Ho Wong <wyuenho <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sat, 06 May 2023 23:28:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Sun, 07 May 2023 00:27:24 +0100
Reproduction: 0. (setq custom-file (const user-emacs-directory "custom.el")) 1. M-x package-vc-install company 2. M-x package-vc-install company RET y 3. C-x C-f ~/.emacs/custom.el 4. Observe that `company` has been listed twice under `package-selected-packages`. Expectation: Installing the same package twice should not result in its duplication in `package-selected-packages`. In GNU Emacs 29.0.90 (build 1, aarch64-apple-darwin22.4.0, NS appkit-2299.50 Version 13.3.1 (a) (Build 22E772610a)) of 2023-05-04 built on MobileCat.localdomain Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.3.1 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-json --with-xml2 --with-modules --infodir /opt/local/share/info/emacs --with-sqlite3 --with-webp --with-ns --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d --with-tree-sitter --with-rsvg --with-xwidgets --with-native-compilation=aot 'CFLAGS=-pipe -Os -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath /opt/local/lib/gcc12 -Wl,-no_pie -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XWIDGETS ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: which-key-mode: t smooth-scrolling-mode: t auto-compile-on-save-mode: t auto-compile-mode: t amx-mode: t pdf-occur-global-minor-mode: t global-whitespace-cleanup-mode: t whitespace-cleanup-mode: t global-move-dup-mode: t move-dup-mode: t global-aggressive-indent-mode: t magit-todos-mode: t diff-hl-flydiff-mode: t projectile-rails-global-mode: t elisp-def-mode: t company-quickhelp-mode: t company-quickhelp-local-mode: t company-prescient-mode: t rainbow-mode: t display-line-numbers-mode: t beginend-prog-mode: t page-break-lines-mode: t ido-vertical-mode: t ido-ubiquitous-mode: t crm-custom-mode: t direnv-mode: t imenu-list-minor-mode: t purpose-mode: t dap-tooltip-mode: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-global-mode: t smartparens-mode: t projectile-mode: t editorconfig-mode: t rxt-global-mode: t rxt-mode: t global-origami-mode: t origami-mode: t flx-ido-mode: t global-git-commit-mode: t global-flycheck-mode: t subword-mode: t global-diff-hl-show-hunk-mouse-mode: t diff-hl-show-hunk-mouse-mode: t global-diff-hl-mode: t diff-hl-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t dap-auto-configure-mode: t dap-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t csv-field-index-mode: t prescient-persist-mode: t global-company-mode: t company-mode: t windmove-mode: t yas-minor-mode: t shell-dirtrack-mode: t winner-mode: t which-function-mode: t server-mode: t savehist-mode: t save-place-mode: t recentf-mode: t minibuffer-depth-indicate-mode: t ido-everywhere: t global-so-long-mode: t global-hl-line-mode: t global-auto-revert-mode: t icomplete-vertical-mode: t icomplete-mode: t desktop-save-mode: t delete-selection-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 global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t Load-path shadows: /Users/wyuenho/.emacs.d/elpa/all-the-icons/all-the-icons-faces hides /Users/wyuenho/.emacs.d/elpa/all-the-icons-20230505.1635/all-the-icons-faces /Users/wyuenho/.emacs.d/elpa/all-the-icons/all-the-icons-pkg hides /Users/wyuenho/.emacs.d/elpa/all-the-icons-20230505.1635/all-the-icons-pkg /Users/wyuenho/.emacs.d/elpa/all-the-icons/all-the-icons hides /Users/wyuenho/.emacs.d/elpa/all-the-icons-20230505.1635/all-the-icons /Users/wyuenho/.emacs.d/elpa/all-the-icons/all-the-icons-autoloads hides /Users/wyuenho/.emacs.d/elpa/all-the-icons-20230505.1635/all-the-icons-autoloads /Users/wyuenho/.emacs.d/elpa/cmake-mode-20230422.828/cmake-mode hides /opt/local/share/emacs/site-lisp/cmake-mode /Users/wyuenho/.emacs.d/elpa/transient-20230501.1034/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-jump hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-jump /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-ensure /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-core /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-delight hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-delight /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-diminish /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-bind-key /Users/wyuenho/.emacs.d/elpa/use-package-20230426.2324/use-package-lint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-lint Features: (shadow mail-extr emacsbug two-column misearch multi-isearch visual-regexp-steroids tabify which-key smooth-scrolling auto-compile amx cus-start pdf-occur all-the-icons-dired dired-collapse flycheck-cask flycheck-inline whitespace-cleanup-mode move-dup aggressive-indent vc-bzr vc-src vc-sccs vc-cvs vc-rcs window-purpose-x shut-up ibuffer-vc dired-hide-dotfiles shrink-path git-timemachine magit-lfs magit-todos diff-hl-flydiff projectile-rails lsp-metals lsp-sourcekit cargo rust-ts-mode yard-mode lsp-pyright pet lsp-jedi python-pytest python-isort python-black python-insert-docstring jq-format prettier flycheck-package elisp-def eterm-256color company-quickhelp company-prescient company-yasnippet quick-peek rainbow-mode display-line-numbers beginend smartparens-config smartparens-javascript smartparens-ml smartparens-rst smartparens-org smartparens-python smartparens-html smartparens-c page-break-lines lsp-ui lsp-ui-flycheck pdf-loader iedit ido-vertical-mode ido-completing-read+ crm-custom scroll-on-jump browse-kill-ring direnv exec-path-from-shell all-the-icons-data-clockface all-the-icons-data-material-icons all-the-icons-data-fluentui-system-icons all-the-icons-data-fontawesome-4 all-the-icons-data-weather-icons all-the-icons-data-vscode-codicons all-the-icons-data-octicons all-the-icons-data-mfixx all-the-icons-data-file-icons all-the-icons-data-devopicons company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-files company-clang company-capf company-cmake company-semantic company-bbdb package-vc spaceline-config solarized-dark-theme solarized-theme delight quelpa-use-package quelpa eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util exec-path-from-shell-autoloads quelpa-use-package-autoloads quelpa-autoloads yasnippet-snippets-autoloads yasnippet-snippets yarn-mode-autoloads yard-mode-autoloads imenu-list window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-layout window-purpose-switch window-purpose-core window-purpose-configuration window-purpose-utils window-purpose-autoloads whitespace whitespace-cleanup-mode-autoloads which-key-autoloads wgrep-ag-autoloads web-mode-autoloads vundo-autoloads term/xterm xterm vterm-autoloads visual-regexp visual-regexp-steroids-autoloads visual-regexp-autoloads verb verb-autoloads mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core multiple-cursors-autoloads use-package-autoloads dap-mouse udev-mode-autoloads tuareg tuareg-compat tuareg-opam flymake-proc flymake caml-types caml-help tuareg-autoloads caml caml-autoloads ts-comint-autoloads hcl-mode terraform-mode-autoloads hcl-mode-autoloads swift-mode-imenu swift-mode-repl swift-mode-font-lock swift-mode-fill swift-mode-standard-types swift-mode-beginning-of-defun swift-mode-indent swift-mode-lexer swift-mode-autoloads svg-lib svg-lib-autoloads string-inflection-autoloads generic ssh-config-mode-autoloads sphinx-doc-autoloads spaceline-segments spaceline powerline spaceline-autoloads solarized-palettes solarized solarized-faces solarized-theme-autoloads smooth-scrolling-autoloads smartparens-markdown smartparens-text smartparens-ruby smartparens loadhist smartparens-autoloads smart-semicolon-autoloads shut-up-autoloads shrink-path-autoloads shift-number-autoloads scroll-on-jump-autoloads sbt-mode sbt-mode-rgrep sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars sbt-mode-autoloads haml-mode sass-mode-autoloads js c-ts-common css-mode eww url-queue shr pixel-fill kinsoku url-file svg mm-url gnus nnheader range haml-mode-autoloads ron-mode-autoloads rg rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg wgrep rg-history rg-header rg-autoloads wgrep-autoloads repeat repeat-help-autoloads reason-interaction refmt reason-indent reason-mode-autoloads rainbow-mode-autoloads quick-peek-autoloads python-pytest-autoloads python-isort-autoloads python-insert-docstring-autoloads python-docstring-autoloads python-black-autoloads protobuf-mode-autoloads rake inflections inf-ruby autoinsert projectile projectile-rails-autoloads inflections-autoloads inf-ruby-autoloads rake-autoloads editorconfig nvm iter2 prettier-autoloads iter2-autoloads nvm-autoloads powerline-separators powerline-themes powerline-autoloads po-mode-autoloads pet-autoloads pdf-links pdf-tools pdf-isearch tablist pdf-misc pdf-view pdf-cache pdf-info tq pdf-util pdf-macs pdf-tools-autoloads tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent tablist-autoloads page-break-lines-autoloads package-utils-autoloads restart-emacs-autoloads package-build package-build-badges package-recipe package-build-autoloads osx-trash-autoloads olivetti-autoloads nodejs-repl-autoloads move-dup-autoloads monky-autoloads pcre2el rxt hl-todo magit-todos-autoloads smtpmail dired-aux async async-autoloads re-builder pcre2el-autoloads magit-lfs-autoloads cmacexp macrostep macrostep-autoloads lsp-ui-doc xwidget image-mode exif lsp-ui-imenu lsp-ui-peek lsp-ui-sideline goto-addr lsp-ui-util lsp-ui-autoloads lsp lsp-sourcekit-autoloads lsp-pyright-autoloads origami lsp-origami-autoloads origami-parsers origami-autoloads view lsp-metals-treeview treemacs-extensions lsp-metals-protocol lsp-metals-autoloads scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-paragraph scala-mode-indent scala-mode-lib scala-mode-syntax scala-mode-autoloads lsp-jedi-autoloads dap-java lsp-java request lsp-java-autoloads request-autoloads lorem-ipsum-autoloads kurecolor-autoloads jsonian-autoloads jq-mode jq-mode-autoloads reformatter jq-format-autoloads impostman-autoloads hideshow imenu-list-autoloads imenu-anywhere-autoloads help-macro iedit-lib rect iedit-autoloads ido-vertical-mode-autoloads flx-ido memoize minibuf-eldef ido-completing-read+-autoloads memoize-autoloads ibuffer-vc-autoloads align ialign-autoloads hl-todo-autoloads highlight-indent-guides-autoloads trace edebug info-look help-fns elisp-refs helpful-autoloads groovy-mode groovy-mode-autoloads graphviz-dot-mode-autoloads graphql-mode-autoloads find-file ffap go-mode-autoloads git-timemachine-autoloads gitignore-mode gitconfig-mode gitattributes-mode git-modes-autoloads forge-list forge-commands forge-semi forge-bitbucket forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic bug-reference forge-post forge-repo forge forge-core forge-db closql buck forge-autoloads closql-autoloads sqlite emacsql-sqlite-common emacsql emacsql-compiler emacsql-autoloads ghub-graphql treepy gsexp ghub ghub-autoloads treepy-autoloads ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util magit-bookmark 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 magit-diff smerge-mode git-commit magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode magit-git magit-base magit-section crm magit-autoloads with-editor transient log-edit add-log git-commit-autoloads benchmark cursor-sensor magit-section-autoloads with-editor-autoloads edmacro kmacro compat transient-autoloads ert-x compat-macs compat-autoloads fontify-face-autoloads focus-autoloads flycheck-projectile-autoloads skeleton ibuf-macs grep ibuf-ext ibuffer ibuffer-loaddefs projectile-autoloads plantuml-mode flycheck-plantuml-autoloads plantuml-mode-autoloads package-lint flycheck-package-autoloads flycheck-inline-autoloads flycheck-golangci-lint-autoloads flycheck-cask-autoloads flycheck jka-compr flycheck-autoloads epl pkg-info-autoloads epl-autoloads flx-isearch-autoloads flx flx-ido-autoloads flx-autoloads org-element org-persist xdg org-id org-refile avl-tree cap-words superword subword ruby-mode smie rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok html-mode-expansions sgml-mode facemenu er-basic-expansions expand-region-core expand-region-custom expand-region-autoloads xterm-color eterm-256color-autoloads xterm-color-autoloads enh-ruby-mode-autoloads cl emmet-mode-autoloads elisp-refs-autoloads elisp-def-autoloads editorconfig-core editorconfig-core-handle editorconfig-fnmatch conf-mode editorconfig-autoloads dotenv-mode-autoloads docker-compose-mode-autoloads yaml-mode-autoloads direnv-autoloads dired-single-autoloads dired-hide-dotfiles-autoloads dired-hacks-utils dired-collapse-autoloads dired-hacks-utils-autoloads diff-hl-show-hunk diff-hl-inline-popup diff-hl-dired diff diff-hl face-remap vc-hg log-view pcvs-util vc-dir vc diff-hl-autoloads delight-autoloads default-text-scale-autoloads lsp-pwsh lsp-kotlin dap-ui lsp-treemacs gdb-mi bindat gud bui lsp-lens dap-utils xml dap-mode dap-tasks dap-launch lsp-docker dap-overlays dap-mode-autoloads bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils cus-edit bui-autoloads lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib lsp-treemacs-autoloads treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks vc-git diff-mode vc-dispatcher treemacs-mouse-interface thunk treemacs-tags treemacs-faces treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations bookmark treemacs-async treemacs-visuals treemacs-fringe-indicator treemacs-icons treemacs-themes pulse treemacs-workspaces treemacs-scope treemacs-dom treemacs-core-utils treemacs-macros treemacs-logging treemacs-customization pfuture treemacs-autoloads ace-window avy ace-window-autoloads avy-autoloads pfuture-autoloads org org-macro org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp org-table org-loaddefs cal-menu calendar cal-loaddefs hydra hydra-autoloads cfrs-autoloads posframe posframe-autoloads yaml lsp-docker-autoloads lsp-javascript lsp-html lsp-icons lsp-completion lsp-semantic-tokens dom lsp-mode lsp-protocol lv ht f f-shortdoc lsp-mode-autoloads lv-autoloads f-autoloads yaml-autoloads inline ht-autoloads python treesit cycle-quotes cycle-quotes-autoloads csv-mode sort csv-mode-autoloads crux-autoloads crm-custom-autoloads ov coverage-autoloads ov-autoloads pos-tip company-quickhelp-autoloads pos-tip-autoloads prescient company-prescient-autoloads char-fold prescient-autoloads native-complete company-native-complete-autoloads native-complete-autoloads tempo make-mode ispell etags fileloop generator company-dabbrev company-template company company-autoloads cmake-font-lock-autoloads rst cmake-mode-autoloads cask-mode-autoloads xref project cargo-process tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp cargo-autoloads buttercup-compat buttercup-autoloads bug-hunter ert ewoc debug backtrace bug-hunter-autoloads windmove buffer-move-autoloads advice browse-kill-ring-autoloads beginend-autoloads yasnippet auto-yasnippet-autoloads yasnippet-autoloads auto-compile-autoloads ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core org-cycle org-fold org-fold-core ob-eval org-keys oc org-compat org-version org-macs format-spec ede/srecode srecode semantic/db semantic/util-modes semantic/util semantic pp semantic/tag semantic/lex semantic/fw mode-local ede/speedbar ede/files ede ede/detect ede/base ede/source eieio-speedbar speedbar ezimage dframe eieio-custom cedet term disp-table shell pcomplete ehelp cc-langs spinner cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs arduino-mode-autoloads ede/auto eieio-base spinner-autoloads markdown-mode apib-mode-autoloads color thingatpt noutline outline markdown-mode-autoloads amx-autoloads all-the-icons all-the-icons-dired-autoloads aggressive-indent-autoloads vc-svn find-dired dash ag-autoloads info dash-autoloads s add-node-modules-path-autoloads s-autoloads finder find-func package-lint-autoloads reformatter-autoloads all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons compile comint ansi-osc ansi-color all-the-icons-autoloads loaddefs-gen lisp-mnt radix-tree tar-mode arc-mode archive-mode finder-inf mm-archive message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 gnus-util text-property-search mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils gnutls network-stream url-cache url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny epg-config winner ring which-func imenu server savehist saveplace recentf tree-widget wid-edit 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 url-vars mb-depth ido help-at-pt so-long hl-line autorevert icomplete desktop frameset delsel use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core map byte-opt let-alist filenotify cus-load time-date comp comp-cstr warnings icons subr-x rx cl-seq cl-macs cl-extra help-mode bytecomp byte-compile gv pcase bootstrap-theme cl-loaddefs cl-lib 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 kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 2754798 929244) (symbols 48 129069 796) (strings 32 514353 275062) (string-bytes 1 15792171) (vectors 16 254829) (vector-slots 8 6368133 1332292) (floats 8 1804 6041) (intervals 56 16202 12601) (buffers 984 117))
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Mon, 08 May 2023 10:38:02 GMT) Full text and rfc822 format available.Message #8 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> Cc: 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Mon, 08 May 2023 10:36:55 +0000
[Message part 1 (text/plain, inline)]
Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: > Reproduction: > > 0. (setq custom-file (const user-emacs-directory "custom.el")) > 1. M-x package-vc-install company > 2. M-x package-vc-install company RET y > 3. C-x C-f ~/.emacs/custom.el > 4. Observe that `company` has been listed twice under > `package-selected-packages`. > > Expectation: > > Installing the same package twice should not result in its duplication > in `package-selected-packages`. An easy fix would be just to ensure that package-selected-packages is always deduplicated before assigning the value:
[Message part 2 (text/plain, inline)]
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index bbe2b8bb4af..988b92da75b 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -1992,7 +1992,7 @@ package--find-non-dependencies (defun package--save-selected-packages (&optional value) "Set and save `package-selected-packages' to VALUE." (when value - (setq package-selected-packages value)) + (setq package-selected-packages (delete-dups value))) (if after-init-time (customize-save-variable 'package-selected-packages package-selected-packages) (add-hook 'after-init-hook #'package--save-selected-packages)))
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Mon, 08 May 2023 12:04:02 GMT) Full text and rfc822 format available.Message #11 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Philip Kaludercic <philipk <at> posteo.net> Cc: wyuenho <at> gmail.com, 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Mon, 08 May 2023 15:04:11 +0300
> Cc: 63338 <at> debbugs.gnu.org > From: Philip Kaludercic <philipk <at> posteo.net> > Date: Mon, 08 May 2023 10:36:55 +0000 > > Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: > > > Reproduction: > > > > 0. (setq custom-file (const user-emacs-directory "custom.el")) > > 1. M-x package-vc-install company > > 2. M-x package-vc-install company RET y > > 3. C-x C-f ~/.emacs/custom.el > > 4. Observe that `company` has been listed twice under > > `package-selected-packages`. > > > > Expectation: > > > > Installing the same package twice should not result in its duplication > > in `package-selected-packages`. > > An easy fix would be just to ensure that package-selected-packages is > always deduplicated before assigning the value: This is OK for the emacs-29 branch, thanks.
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Tue, 09 May 2023 02:58:02 GMT) Full text and rfc822 format available.Message #14 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Jimmy Wong <wyuenho <at> gmail.com> To: Philip Kaludercic <philipk <at> posteo.net>, Eli Zaretskii <eliz <at> gnu.org> Cc: 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Tue, 9 May 2023 03:56:46 +0100
[Message part 1 (text/plain, inline)]
I don’t think you should dedup the variable that could have been modified by something else such as package-install. This may make debugging harder should package.el itself introduce a bug that duplicates pacakages in the variable. How about just using good old add-to-list? On 8 May 2023 at 1:03 PM +0100, Eli Zaretskii <eliz <at> gnu.org>, wrote: > > Cc: 63338 <at> debbugs.gnu.org > > From: Philip Kaludercic <philipk <at> posteo.net> > > Date: Mon, 08 May 2023 10:36:55 +0000 > > > > Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: > > > > > Reproduction: > > > > > > 0. (setq custom-file (const user-emacs-directory "custom.el")) > > > 1. M-x package-vc-install company > > > 2. M-x package-vc-install company RET y > > > 3. C-x C-f ~/.emacs/custom.el > > > 4. Observe that `company` has been listed twice under > > > `package-selected-packages`. > > > > > > Expectation: > > > > > > Installing the same package twice should not result in its duplication > > > in `package-selected-packages`. > > > > An easy fix would be just to ensure that package-selected-packages is > > always deduplicated before assigning the value: > > This is OK for the emacs-29 branch, thanks.
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Wed, 10 May 2023 06:57:01 GMT) Full text and rfc822 format available.Message #17 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Jimmy Wong <wyuenho <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Wed, 10 May 2023 06:56:07 +0000
[Message part 1 (text/plain, inline)]
Jimmy Wong <wyuenho <at> gmail.com> writes: > I don’t think you should dedup the variable that could have been > modified by something else such as package-install. This may make > debugging harder should package.el itself introduce a bug that > duplicates pacakages in the variable. How about just using good old > add-to-list? The issue is that we want to go through package--save-selected-packages, that is given a new value to assign to `package-selected-packages'. An otherwise, I my understanding is that add-to-list is not conventional in executed code. The alternative is to check for duplicates before invoking the function:
[Message part 2 (text/plain, inline)]
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el index e9794eac783..b967aaa3d4d 100644 --- a/lisp/emacs-lisp/package-vc.el +++ b/lisp/emacs-lisp/package-vc.el @@ -507,9 +507,10 @@ package-vc--unpack-1 (package--reload-previously-loaded new-desc))) ;; Mark package as selected - (package--save-selected-packages - (cons (package-desc-name pkg-desc) - package-selected-packages)) + (let ((name (package-desc-name pkg-desc))) + (unless (memq name package-selected-packages) + (package--save-selected-packages + (cons name package-selected-packages)))) (package--quickstart-maybe-refresh) ;; Confirm that the installation was successful
[Message part 3 (text/plain, inline)]
> On 8 May 2023 at 1:03 PM +0100, Eli Zaretskii <eliz <at> gnu.org>, wrote: >> > Cc: 63338 <at> debbugs.gnu.org >> > From: Philip Kaludercic <philipk <at> posteo.net> >> > Date: Mon, 08 May 2023 10:36:55 +0000 >> > >> > Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: >> > >> > > Reproduction: >> > > >> > > 0. (setq custom-file (const user-emacs-directory "custom.el")) >> > > 1. M-x package-vc-install company >> > > 2. M-x package-vc-install company RET y >> > > 3. C-x C-f ~/.emacs/custom.el >> > > 4. Observe that `company` has been listed twice under >> > > `package-selected-packages`. >> > > >> > > Expectation: >> > > >> > > Installing the same package twice should not result in its duplication >> > > in `package-selected-packages`. >> > >> > An easy fix would be just to ensure that package-selected-packages is >> > always deduplicated before assigning the value: >> >> This is OK for the emacs-29 branch, thanks.
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Sat, 13 May 2023 17:19:02 GMT) Full text and rfc822 format available.Message #20 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Jimmy Wong <wyuenho <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Sat, 13 May 2023 17:18:35 +0000
ping? Philip Kaludercic <philipk <at> posteo.net> writes: > Jimmy Wong <wyuenho <at> gmail.com> writes: > >> I don’t think you should dedup the variable that could have been >> modified by something else such as package-install. This may make >> debugging harder should package.el itself introduce a bug that >> duplicates pacakages in the variable. How about just using good old >> add-to-list? > > The issue is that we want to go through package--save-selected-packages, > that is given a new value to assign to `package-selected-packages'. > An otherwise, I my understanding is that add-to-list is not conventional > in executed code. > > The alternative is to check for duplicates before invoking the function: > > diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el > index e9794eac783..b967aaa3d4d 100644 > --- a/lisp/emacs-lisp/package-vc.el > +++ b/lisp/emacs-lisp/package-vc.el > @@ -507,9 +507,10 @@ package-vc--unpack-1 > (package--reload-previously-loaded new-desc))) > > ;; Mark package as selected > - (package--save-selected-packages > - (cons (package-desc-name pkg-desc) > - package-selected-packages)) > + (let ((name (package-desc-name pkg-desc))) > + (unless (memq name package-selected-packages) > + (package--save-selected-packages > + (cons name package-selected-packages)))) > (package--quickstart-maybe-refresh) > > ;; Confirm that the installation was successful > > > >> On 8 May 2023 at 1:03 PM +0100, Eli Zaretskii <eliz <at> gnu.org>, wrote: >>> > Cc: 63338 <at> debbugs.gnu.org >>> > From: Philip Kaludercic <philipk <at> posteo.net> >>> > Date: Mon, 08 May 2023 10:36:55 +0000 >>> > >>> > Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: >>> > >>> > > Reproduction: >>> > > >>> > > 0. (setq custom-file (const user-emacs-directory "custom.el")) >>> > > 1. M-x package-vc-install company >>> > > 2. M-x package-vc-install company RET y >>> > > 3. C-x C-f ~/.emacs/custom.el >>> > > 4. Observe that `company` has been listed twice under >>> > > `package-selected-packages`. >>> > > >>> > > Expectation: >>> > > >>> > > Installing the same package twice should not result in its duplication >>> > > in `package-selected-packages`. >>> > >>> > An easy fix would be just to ensure that package-selected-packages is >>> > always deduplicated before assigning the value: >>> >>> This is OK for the emacs-29 branch, thanks.
bug-gnu-emacs <at> gnu.org
:bug#63338
; Package emacs
.
(Sun, 14 May 2023 12:52:02 GMT) Full text and rfc822 format available.Message #23 received at 63338 <at> debbugs.gnu.org (full text, mbox):
From: Jimmy Wong <wyuenho <at> gmail.com> To: Philip Kaludercic <philipk <at> posteo.net> Cc: Eli Zaretskii <eliz <at> gnu.org>, 63338 <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Sun, 14 May 2023 13:51:38 +0100
[Message part 1 (text/plain, inline)]
This is acceptable to me On 13 May 2023 at 6:18 PM +0100, Philip Kaludercic <philipk <at> posteo.net>, wrote: > ping? > > Philip Kaludercic <philipk <at> posteo.net> writes: > > > Jimmy Wong <wyuenho <at> gmail.com> writes: > > > > > I don’t think you should dedup the variable that could have been > > > modified by something else such as package-install. This may make > > > debugging harder should package.el itself introduce a bug that > > > duplicates pacakages in the variable. How about just using good old > > > add-to-list? > > > > The issue is that we want to go through package--save-selected-packages, > > that is given a new value to assign to `package-selected-packages'. > > An otherwise, I my understanding is that add-to-list is not conventional > > in executed code. > > > > The alternative is to check for duplicates before invoking the function: > > > > diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el > > index e9794eac783..b967aaa3d4d 100644 > > --- a/lisp/emacs-lisp/package-vc.el > > +++ b/lisp/emacs-lisp/package-vc.el > > @@ -507,9 +507,10 @@ package-vc--unpack-1 > > (package--reload-previously-loaded new-desc))) > > > > ;; Mark package as selected > > - (package--save-selected-packages > > - (cons (package-desc-name pkg-desc) > > - package-selected-packages)) > > + (let ((name (package-desc-name pkg-desc))) > > + (unless (memq name package-selected-packages) > > + (package--save-selected-packages > > + (cons name package-selected-packages)))) > > (package--quickstart-maybe-refresh) > > > > ;; Confirm that the installation was successful > > > > > > > > > On 8 May 2023 at 1:03 PM +0100, Eli Zaretskii <eliz <at> gnu.org>, wrote: > > > > > Cc: 63338 <at> debbugs.gnu.org > > > > > From: Philip Kaludercic <philipk <at> posteo.net> > > > > > Date: Mon, 08 May 2023 10:36:55 +0000 > > > > > > > > > > Jimmy Yuen Ho Wong <wyuenho <at> gmail.com> writes: > > > > > > > > > > > Reproduction: > > > > > > > > > > > > 0. (setq custom-file (const user-emacs-directory "custom.el")) > > > > > > 1. M-x package-vc-install company > > > > > > 2. M-x package-vc-install company RET y > > > > > > 3. C-x C-f ~/.emacs/custom.el > > > > > > 4. Observe that `company` has been listed twice under > > > > > > `package-selected-packages`. > > > > > > > > > > > > Expectation: > > > > > > > > > > > > Installing the same package twice should not result in its duplication > > > > > > in `package-selected-packages`. > > > > > > > > > > An easy fix would be just to ensure that package-selected-packages is > > > > > always deduplicated before assigning the value: > > > > > > > > This is OK for the emacs-29 branch, thanks.
[Message part 2 (text/html, inline)]
Philip Kaludercic <philipk <at> posteo.net>
:Jimmy Yuen Ho Wong <wyuenho <at> gmail.com>
:Message #28 received at 63338-done <at> debbugs.gnu.org (full text, mbox):
From: Philip Kaludercic <philipk <at> posteo.net> To: Jimmy Wong <wyuenho <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 63338-done <at> debbugs.gnu.org Subject: Re: bug#63338: 29.0.90; package-vc-install'ing the same package multiple times results in duplication in package-selected-packages Date: Tue, 16 May 2023 19:31:18 +0000
Jimmy Wong <wyuenho <at> gmail.com> writes: > This is acceptable to me OK, I a change like this to emacs-29. Thanks.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 14 Jun 2023 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.