Package: emacs;
Reported by: dino chiesa <dpchiesa <at> hotmail.com>
Date: Mon, 26 May 2025 20:04:02 UTC
Severity: normal
Found in version 30.1
To reply to this bug, email your comments to 78596 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
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Mon, 26 May 2025 20:04:02 GMT) Full text and rfc822 format available.dino chiesa <dpchiesa <at> hotmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Mon, 26 May 2025 20:04:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: dino chiesa <dpchiesa <at> hotmail.com> To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org> Subject: 30.1; recentf-open ought to use a completion table and category Date: Mon, 26 May 2025 19:57:39 +0000
This isn't a bug report, more of an enhancement request. Summary I would like recentf-open to use "Programmed Completion" via a completion function. (see 21.6.7 Programmed Completion) That function ought to return metadata with a category that is specific to recentf. Background I've been configuring icomplete-vertical-mode for various things. I learned that by default, when there is no completion table, completion in the minibuffer uses `completion-all-sorted-completions' which is defined in minibuffer.el; by default it uses a function called `minibuffer--sort-by-length-alpha', which sorts candidates first by length, then alphabetically. The result is an aesthetically pleasing pyramid of choices shown vertically in the minibuffer, but it is sort of non-intuitive for things like "open one of the files I've recently visited". This default sorting applies to buffer names, filenames (find-file), command names (M-x), and various other things. I learned also that it is possible to override that default sorting, via `completion-category-overrides`. To make this work, I must add an item to that list with a symbol denoting a category, and then make sure the use of completing-read uses (a) a completion _function_, not just a list of candidates; and (b) that category name in the metadata returned by the completion function. But not all uses of `completing-read' employ a completion function. Without that, I think overriding the sort is unwieldy. recentf-open is one of those cases that does not currently use a completion function. So I propose to modify recentf-open to use a completion function: < (defun recentf-open (file) < "Prompt for FILE in `recentf-list' and visit it. < Enable `recentf-mode' if it isn't already." < (interactive < (list < (progn (unless recentf-mode (recentf-mode 1)) < (completing-read (format-prompt "Open recent file" nil) < (recentf--programmed-completion recentf-list) < nil t)))) --- > (defun recentf-open (file) > "Prompt for FILE in `recentf-list' and visit it. > Enable `recentf-mode' if it isn't already." > (interactive > (list > (progn (unless recentf-mode (recentf-mode 1)) > (completing-read (format-prompt "Open recent file" nil) > recentf-list nil t)))) > And the completion function, I think, can be like this. (defun recentf--programmed-completion (candidates) "Returns a function to be used as the completions parameter in `completing-read' for `recentf-open'. Main purpose is to set metadata, specifically the category, which will allow sorting, completion styles, etc." (let ((candidates candidates)) (lambda (string pred action) (if (eq action 'metadata) `(metadata (category . recentf)) (complete-with-action action candidates string pred))))) If that is done, then users of `recentf-open` who also use `icomplete-vertical-mode` can do something as simple as the following to disable the default "by length then by alpha" sorting for recentf-open: (add-to-list 'completion-category-overrides `(recentf (styles . (substring)) (cycle-sort-function . ,#'identity))) I believe this should have no impact on existing users of `recentf-open'. ==================================================================== In GNU Emacs 30.1 (build 2, x86_64-w64-mingw32) of 2025-02-23 built on AVALON Windowing system distributor 'Microsoft Corp.', version 10.0.26100 System Description: Microsoft Windows 10 Home (v10.0.2009.26100.4061) Configured using: 'configure --with-modules --without-dbus --with-native-compilation=aot --without-compress-install --with-tree-sitter CFLAGS=-O2 prefix=/g/rel/install/emacs-30.1' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB (NATIVE_COMP present but libgccjit not available) Important settings: value of $LANG: ENU locale-coding-system: cp1252 Major mode: ELisp/l Minor modes in effect: global-git-commit-mode: t magit-auto-revert-mode: t default-text-scale-mode: t yas-global-mode: t yas-minor-mode: t company-box-mode: t company-mode: t indent-bars-mode: t display-line-numbers-mode: t auto-revert-mode: t recentf-mode: t flycheck-mode: t marginalia-mode: t icomplete-vertical-mode: t icomplete-mode: t override-global-mode: t global-hl-line-mode: t hl-line-mode: t apheleia-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 minibuffer-regexp-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 abbrev-mode: t Load-path shadows: ~/elisp/json-reformat hides c:/users/dpchi/.emacs.d/elpa/json-reformat-20220905.2342/json-reformat ~/elisp/protobuf-mode hides c:/users/dpchi/.emacs.d/elpa/protobuf-mode-20240823.1417/protobuf-mode ~/elisp/rego-mode hides c:/users/dpchi/.emacs.d/elpa/rego-mode-20201102.1420/rego-mode ~/elisp/wgrep hides c:/users/dpchi/.emacs.d/elpa/wgrep-20230203.1214/wgrep c:/users/dpchi/.emacs.d/elpa/transient-20250520.1040/transient hides c:/emacs/share/emacs/30.1/lisp/transient c:/users/dpchi/.emacs.d/elpa/verilog-mode-2025.1.1.100165202/verilog-mode hides c:/emacs/share/emacs/30.1/lisp/progmodes/verilog-mode c:/users/dpchi/.emacs.d/elpa/idlwave-6.5.1/idlwave hides c:/emacs/share/emacs/30.1/lisp/progmodes/idlwave c:/users/dpchi/.emacs.d/elpa/idlwave-6.5.1/idlw-toolbar hides c:/emacs/share/emacs/30.1/lisp/progmodes/idlw-toolbar c:/users/dpchi/.emacs.d/elpa/idlwave-6.5.1/idlw-shell hides c:/emacs/share/emacs/30.1/lisp/progmodes/idlw-shell c:/users/dpchi/.emacs.d/elpa/idlwave-6.5.1/idlw-help hides c:/emacs/share/emacs/30.1/lisp/progmodes/idlw-help c:/users/dpchi/.emacs.d/elpa/idlwave-6.5.1/idlw-complete-structtag hides c:/emacs/share/emacs/30.1/lisp/progmodes/idlw-complete-structtag c:/users/dpchi/.emacs.d/elpa/flymake-1.4.1/flymake hides c:/emacs/share/emacs/30.1/lisp/progmodes/flymake c:/users/dpchi/.emacs.d/elpa/eglot-1.18/eglot hides c:/emacs/share/emacs/30.1/lisp/progmodes/eglot c:/users/dpchi/.emacs.d/elpa/org-20210929/ox hides c:/emacs/share/emacs/30.1/lisp/org/ox c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-texinfo hides c:/emacs/share/emacs/30.1/lisp/org/ox-texinfo c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-publish hides c:/emacs/share/emacs/30.1/lisp/org/ox-publish c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-org hides c:/emacs/share/emacs/30.1/lisp/org/ox-org c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-odt hides c:/emacs/share/emacs/30.1/lisp/org/ox-odt c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-md hides c:/emacs/share/emacs/30.1/lisp/org/ox-md c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-man hides c:/emacs/share/emacs/30.1/lisp/org/ox-man c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-latex hides c:/emacs/share/emacs/30.1/lisp/org/ox-latex c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-koma-letter hides c:/emacs/share/emacs/30.1/lisp/org/ox-koma-letter c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-icalendar hides c:/emacs/share/emacs/30.1/lisp/org/ox-icalendar c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-html hides c:/emacs/share/emacs/30.1/lisp/org/ox-html c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-beamer hides c:/emacs/share/emacs/30.1/lisp/org/ox-beamer c:/users/dpchi/.emacs.d/elpa/org-20210929/ox-ascii hides c:/emacs/share/emacs/30.1/lisp/org/ox-ascii c:/users/dpchi/.emacs.d/elpa/org-20210929/org hides c:/emacs/share/emacs/30.1/lisp/org/org c:/users/dpchi/.emacs.d/elpa/org-20210929/org-version hides c:/emacs/share/emacs/30.1/lisp/org/org-version c:/users/dpchi/.emacs.d/elpa/org-20210929/org-timer hides c:/emacs/share/emacs/30.1/lisp/org/org-timer c:/users/dpchi/.emacs.d/elpa/org-20210929/org-tempo hides c:/emacs/share/emacs/30.1/lisp/org/org-tempo c:/users/dpchi/.emacs.d/elpa/org-20210929/org-table hides c:/emacs/share/emacs/30.1/lisp/org/org-table c:/users/dpchi/.emacs.d/elpa/org-20210929/org-src hides c:/emacs/share/emacs/30.1/lisp/org/org-src c:/users/dpchi/.emacs.d/elpa/org-20210929/org-refile hides c:/emacs/share/emacs/30.1/lisp/org/org-refile c:/users/dpchi/.emacs.d/elpa/org-20210929/org-protocol hides c:/emacs/share/emacs/30.1/lisp/org/org-protocol c:/users/dpchi/.emacs.d/elpa/org-20210929/org-plot hides c:/emacs/share/emacs/30.1/lisp/org/org-plot c:/users/dpchi/.emacs.d/elpa/org-20210929/org-pcomplete hides c:/emacs/share/emacs/30.1/lisp/org/org-pcomplete c:/users/dpchi/.emacs.d/elpa/org-20210929/org-num hides c:/emacs/share/emacs/30.1/lisp/org/org-num c:/users/dpchi/.emacs.d/elpa/org-20210929/org-mouse hides c:/emacs/share/emacs/30.1/lisp/org/org-mouse c:/users/dpchi/.emacs.d/elpa/org-20210929/org-mobile hides c:/emacs/share/emacs/30.1/lisp/org/org-mobile c:/users/dpchi/.emacs.d/elpa/org-20210929/org-macs hides c:/emacs/share/emacs/30.1/lisp/org/org-macs c:/users/dpchi/.emacs.d/elpa/org-20210929/org-macro hides c:/emacs/share/emacs/30.1/lisp/org/org-macro c:/users/dpchi/.emacs.d/elpa/org-20210929/org-loaddefs hides c:/emacs/share/emacs/30.1/lisp/org/org-loaddefs c:/users/dpchi/.emacs.d/elpa/org-20210929/org-list hides c:/emacs/share/emacs/30.1/lisp/org/org-list c:/users/dpchi/.emacs.d/elpa/org-20210929/org-lint hides c:/emacs/share/emacs/30.1/lisp/org/org-lint c:/users/dpchi/.emacs.d/elpa/org-20210929/org-keys hides c:/emacs/share/emacs/30.1/lisp/org/org-keys c:/users/dpchi/.emacs.d/elpa/org-20210929/org-inlinetask hides c:/emacs/share/emacs/30.1/lisp/org/org-inlinetask c:/users/dpchi/.emacs.d/elpa/org-20210929/org-indent hides c:/emacs/share/emacs/30.1/lisp/org/org-indent c:/users/dpchi/.emacs.d/elpa/org-20210929/org-id hides c:/emacs/share/emacs/30.1/lisp/org/org-id c:/users/dpchi/.emacs.d/elpa/org-20210929/org-habit hides c:/emacs/share/emacs/30.1/lisp/org/org-habit c:/users/dpchi/.emacs.d/elpa/org-20210929/org-goto hides c:/emacs/share/emacs/30.1/lisp/org/org-goto c:/users/dpchi/.emacs.d/elpa/org-20210929/org-footnote hides c:/emacs/share/emacs/30.1/lisp/org/org-footnote c:/users/dpchi/.emacs.d/elpa/org-20210929/org-feed hides c:/emacs/share/emacs/30.1/lisp/org/org-feed c:/users/dpchi/.emacs.d/elpa/org-20210929/org-faces hides c:/emacs/share/emacs/30.1/lisp/org/org-faces c:/users/dpchi/.emacs.d/elpa/org-20210929/org-entities hides c:/emacs/share/emacs/30.1/lisp/org/org-entities c:/users/dpchi/.emacs.d/elpa/org-20210929/org-element hides c:/emacs/share/emacs/30.1/lisp/org/org-element c:/users/dpchi/.emacs.d/elpa/org-20210929/org-duration hides c:/emacs/share/emacs/30.1/lisp/org/org-duration c:/users/dpchi/.emacs.d/elpa/org-20210929/org-datetree hides c:/emacs/share/emacs/30.1/lisp/org/org-datetree c:/users/dpchi/.emacs.d/elpa/org-20210929/org-ctags hides c:/emacs/share/emacs/30.1/lisp/org/org-ctags c:/users/dpchi/.emacs.d/elpa/org-20210929/org-crypt hides c:/emacs/share/emacs/30.1/lisp/org/org-crypt c:/users/dpchi/.emacs.d/elpa/org-20210929/org-compat hides c:/emacs/share/emacs/30.1/lisp/org/org-compat c:/users/dpchi/.emacs.d/elpa/org-20210929/org-colview hides c:/emacs/share/emacs/30.1/lisp/org/org-colview c:/users/dpchi/.emacs.d/elpa/org-20210929/org-clock hides c:/emacs/share/emacs/30.1/lisp/org/org-clock c:/users/dpchi/.emacs.d/elpa/org-20210929/org-capture hides c:/emacs/share/emacs/30.1/lisp/org/org-capture c:/users/dpchi/.emacs.d/elpa/org-20210929/org-attach hides c:/emacs/share/emacs/30.1/lisp/org/org-attach c:/users/dpchi/.emacs.d/elpa/org-20210929/org-attach-git hides c:/emacs/share/emacs/30.1/lisp/org/org-attach-git c:/users/dpchi/.emacs.d/elpa/org-20210929/org-archive hides c:/emacs/share/emacs/30.1/lisp/org/org-archive c:/users/dpchi/.emacs.d/elpa/org-20210929/org-agenda hides c:/emacs/share/emacs/30.1/lisp/org/org-agenda c:/users/dpchi/.emacs.d/elpa/org-20210929/ol hides c:/emacs/share/emacs/30.1/lisp/org/ol c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-w3m hides c:/emacs/share/emacs/30.1/lisp/org/ol-w3m c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-rmail hides c:/emacs/share/emacs/30.1/lisp/org/ol-rmail c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-mhe hides c:/emacs/share/emacs/30.1/lisp/org/ol-mhe c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-irc hides c:/emacs/share/emacs/30.1/lisp/org/ol-irc c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-info hides c:/emacs/share/emacs/30.1/lisp/org/ol-info c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-gnus hides c:/emacs/share/emacs/30.1/lisp/org/ol-gnus c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-eww hides c:/emacs/share/emacs/30.1/lisp/org/ol-eww c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-eshell hides c:/emacs/share/emacs/30.1/lisp/org/ol-eshell c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-doi hides c:/emacs/share/emacs/30.1/lisp/org/ol-doi c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-docview hides c:/emacs/share/emacs/30.1/lisp/org/ol-docview c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-bibtex hides c:/emacs/share/emacs/30.1/lisp/org/ol-bibtex c:/users/dpchi/.emacs.d/elpa/org-20210929/ol-bbdb hides c:/emacs/share/emacs/30.1/lisp/org/ol-bbdb c:/users/dpchi/.emacs.d/elpa/org-20210929/oc hides c:/emacs/share/emacs/30.1/lisp/org/oc c:/users/dpchi/.emacs.d/elpa/org-20210929/oc-natbib hides c:/emacs/share/emacs/30.1/lisp/org/oc-natbib c:/users/dpchi/.emacs.d/elpa/org-20210929/oc-csl hides c:/emacs/share/emacs/30.1/lisp/org/oc-csl c:/users/dpchi/.emacs.d/elpa/org-20210929/oc-biblatex hides c:/emacs/share/emacs/30.1/lisp/org/oc-biblatex c:/users/dpchi/.emacs.d/elpa/org-20210929/oc-basic hides c:/emacs/share/emacs/30.1/lisp/org/oc-basic c:/users/dpchi/.emacs.d/elpa/org-20210929/ob hides c:/emacs/share/emacs/30.1/lisp/org/ob c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-tangle hides c:/emacs/share/emacs/30.1/lisp/org/ob-tangle c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-table hides c:/emacs/share/emacs/30.1/lisp/org/ob-table c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-sqlite hides c:/emacs/share/emacs/30.1/lisp/org/ob-sqlite c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-sql hides c:/emacs/share/emacs/30.1/lisp/org/ob-sql c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-shell hides c:/emacs/share/emacs/30.1/lisp/org/ob-shell c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-sed hides c:/emacs/share/emacs/30.1/lisp/org/ob-sed c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-screen hides c:/emacs/share/emacs/30.1/lisp/org/ob-screen c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-scheme hides c:/emacs/share/emacs/30.1/lisp/org/ob-scheme c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-sass hides c:/emacs/share/emacs/30.1/lisp/org/ob-sass c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-ruby hides c:/emacs/share/emacs/30.1/lisp/org/ob-ruby c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-ref hides c:/emacs/share/emacs/30.1/lisp/org/ob-ref c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-R hides c:/emacs/share/emacs/30.1/lisp/org/ob-R c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-python hides c:/emacs/share/emacs/30.1/lisp/org/ob-python c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-processing hides c:/emacs/share/emacs/30.1/lisp/org/ob-processing c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-plantuml hides c:/emacs/share/emacs/30.1/lisp/org/ob-plantuml c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-perl hides c:/emacs/share/emacs/30.1/lisp/org/ob-perl c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-org hides c:/emacs/share/emacs/30.1/lisp/org/ob-org c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-octave hides c:/emacs/share/emacs/30.1/lisp/org/ob-octave c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-ocaml hides c:/emacs/share/emacs/30.1/lisp/org/ob-ocaml c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-maxima hides c:/emacs/share/emacs/30.1/lisp/org/ob-maxima c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-matlab hides c:/emacs/share/emacs/30.1/lisp/org/ob-matlab c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-makefile hides c:/emacs/share/emacs/30.1/lisp/org/ob-makefile c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-lua hides c:/emacs/share/emacs/30.1/lisp/org/ob-lua c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-lob hides c:/emacs/share/emacs/30.1/lisp/org/ob-lob c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-lisp hides c:/emacs/share/emacs/30.1/lisp/org/ob-lisp c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-lilypond hides c:/emacs/share/emacs/30.1/lisp/org/ob-lilypond c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-latex hides c:/emacs/share/emacs/30.1/lisp/org/ob-latex c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-julia hides c:/emacs/share/emacs/30.1/lisp/org/ob-julia c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-js hides c:/emacs/share/emacs/30.1/lisp/org/ob-js c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-java hides c:/emacs/share/emacs/30.1/lisp/org/ob-java c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-haskell hides c:/emacs/share/emacs/30.1/lisp/org/ob-haskell c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-groovy hides c:/emacs/share/emacs/30.1/lisp/org/ob-groovy c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-gnuplot hides c:/emacs/share/emacs/30.1/lisp/org/ob-gnuplot c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-fortran hides c:/emacs/share/emacs/30.1/lisp/org/ob-fortran c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-forth hides c:/emacs/share/emacs/30.1/lisp/org/ob-forth c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-exp hides c:/emacs/share/emacs/30.1/lisp/org/ob-exp c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-eval hides c:/emacs/share/emacs/30.1/lisp/org/ob-eval c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-eshell hides c:/emacs/share/emacs/30.1/lisp/org/ob-eshell c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-emacs-lisp hides c:/emacs/share/emacs/30.1/lisp/org/ob-emacs-lisp c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-dot hides c:/emacs/share/emacs/30.1/lisp/org/ob-dot c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-ditaa hides c:/emacs/share/emacs/30.1/lisp/org/ob-ditaa c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-css hides c:/emacs/share/emacs/30.1/lisp/org/ob-css c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-core hides c:/emacs/share/emacs/30.1/lisp/org/ob-core c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-comint hides c:/emacs/share/emacs/30.1/lisp/org/ob-comint c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-clojure hides c:/emacs/share/emacs/30.1/lisp/org/ob-clojure c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-calc hides c:/emacs/share/emacs/30.1/lisp/org/ob-calc c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-C hides c:/emacs/share/emacs/30.1/lisp/org/ob-C c:/users/dpchi/.emacs.d/elpa/org-20210929/ob-awk hides c:/emacs/share/emacs/30.1/lisp/org/ob-awk c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/trampver hides c:/emacs/share/emacs/30.1/lisp/net/trampver c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp hides c:/emacs/share/emacs/30.1/lisp/net/tramp c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-uu hides c:/emacs/share/emacs/30.1/lisp/net/tramp-uu c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-sudoedit hides c:/emacs/share/emacs/30.1/lisp/net/tramp-sudoedit c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-sshfs hides c:/emacs/share/emacs/30.1/lisp/net/tramp-sshfs c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-smb hides c:/emacs/share/emacs/30.1/lisp/net/tramp-smb c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-sh hides c:/emacs/share/emacs/30.1/lisp/net/tramp-sh c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-rclone hides c:/emacs/share/emacs/30.1/lisp/net/tramp-rclone c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-message hides c:/emacs/share/emacs/30.1/lisp/net/tramp-message c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-loaddefs hides c:/emacs/share/emacs/30.1/lisp/net/tramp-loaddefs c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-integration hides c:/emacs/share/emacs/30.1/lisp/net/tramp-integration c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-gvfs hides c:/emacs/share/emacs/30.1/lisp/net/tramp-gvfs c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-fuse hides c:/emacs/share/emacs/30.1/lisp/net/tramp-fuse c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-ftp hides c:/emacs/share/emacs/30.1/lisp/net/tramp-ftp c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-crypt hides c:/emacs/share/emacs/30.1/lisp/net/tramp-crypt c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-container hides c:/emacs/share/emacs/30.1/lisp/net/tramp-container c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-compat hides c:/emacs/share/emacs/30.1/lisp/net/tramp-compat c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-cmds hides c:/emacs/share/emacs/30.1/lisp/net/tramp-cmds c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-cache hides c:/emacs/share/emacs/30.1/lisp/net/tramp-cache c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-archive hides c:/emacs/share/emacs/30.1/lisp/net/tramp-archive c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-androidsu hides c:/emacs/share/emacs/30.1/lisp/net/tramp-androidsu c:/users/dpchi/.emacs.d/elpa/tramp-2.7.2.3.1/tramp-adb hides c:/emacs/share/emacs/30.1/lisp/net/tramp-adb c:/users/dpchi/.emacs.d/elpa/track-changes-1.4/track-changes hides c:/emacs/share/emacs/30.1/lisp/emacs-lisp/track-changes c:/users/dpchi/.emacs.d/elpa/faceup-20170925.1946/faceup hides c:/emacs/share/emacs/30.1/lisp/emacs-lisp/faceup c:/emacs/share/emacs/30.1/lisp/emacs-lisp/compat hides c:/users/dpchi/.emacs.d/elpa/compat-30.1.0.0/compat c:/emacs/share/emacs/30.1/lisp/emacs-lisp/eldoc hides c:/users/dpchi/.emacs.d/elpa/eldoc-1.15.0/eldoc c:/emacs/share/emacs/30.1/lisp/erc/erc hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc c:/emacs/share/emacs/30.1/lisp/erc/erc-xdcc hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-xdcc c:/emacs/share/emacs/30.1/lisp/erc/erc-truncate hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-truncate c:/emacs/share/emacs/30.1/lisp/erc/erc-track hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-track c:/emacs/share/emacs/30.1/lisp/erc/erc-status-sidebar hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-status-sidebar c:/emacs/share/emacs/30.1/lisp/erc/erc-stamp hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-stamp c:/emacs/share/emacs/30.1/lisp/erc/erc-spelling hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-spelling c:/emacs/share/emacs/30.1/lisp/erc/erc-speedbar hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-speedbar c:/emacs/share/emacs/30.1/lisp/erc/erc-sound hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-sound c:/emacs/share/emacs/30.1/lisp/erc/erc-services hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-services c:/emacs/share/emacs/30.1/lisp/erc/erc-sasl hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-sasl c:/emacs/share/emacs/30.1/lisp/erc/erc-ring hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-ring c:/emacs/share/emacs/30.1/lisp/erc/erc-replace hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-replace c:/emacs/share/emacs/30.1/lisp/erc/erc-pcomplete hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-pcomplete c:/emacs/share/emacs/30.1/lisp/erc/erc-page hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-page c:/emacs/share/emacs/30.1/lisp/erc/erc-notify hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-notify c:/emacs/share/emacs/30.1/lisp/erc/erc-nicks hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-nicks c:/emacs/share/emacs/30.1/lisp/erc/erc-networks hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-networks c:/emacs/share/emacs/30.1/lisp/erc/erc-netsplit hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-netsplit c:/emacs/share/emacs/30.1/lisp/erc/erc-menu hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-menu c:/emacs/share/emacs/30.1/lisp/erc/erc-match hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-match c:/emacs/share/emacs/30.1/lisp/erc/erc-log hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-log c:/emacs/share/emacs/30.1/lisp/erc/erc-loaddefs hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-loaddefs c:/emacs/share/emacs/30.1/lisp/erc/erc-list hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-list c:/emacs/share/emacs/30.1/lisp/erc/erc-lang hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-lang c:/emacs/share/emacs/30.1/lisp/erc/erc-join hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-join c:/emacs/share/emacs/30.1/lisp/erc/erc-imenu hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-imenu c:/emacs/share/emacs/30.1/lisp/erc/erc-identd hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-identd c:/emacs/share/emacs/30.1/lisp/erc/erc-ibuffer hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-ibuffer c:/emacs/share/emacs/30.1/lisp/erc/erc-goodies hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-goodies c:/emacs/share/emacs/30.1/lisp/erc/erc-fill hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-fill c:/emacs/share/emacs/30.1/lisp/erc/erc-ezbounce hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-ezbounce c:/emacs/share/emacs/30.1/lisp/erc/erc-desktop-notifications hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-desktop-notifications c:/emacs/share/emacs/30.1/lisp/erc/erc-dcc hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-dcc c:/emacs/share/emacs/30.1/lisp/erc/erc-compat hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-compat c:/emacs/share/emacs/30.1/lisp/erc/erc-common hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-common c:/emacs/share/emacs/30.1/lisp/erc/erc-capab hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-capab c:/emacs/share/emacs/30.1/lisp/erc/erc-button hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-button c:/emacs/share/emacs/30.1/lisp/erc/erc-backend hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-backend c:/emacs/share/emacs/30.1/lisp/erc/erc-autoaway hides c:/users/dpchi/.emacs.d/elpa/erc-5.6/erc-autoaway c:/emacs/share/emacs/30.1/lisp/jsonrpc hides c:/users/dpchi/.emacs.d/elpa/jsonrpc-1.0.25/jsonrpc c:/emacs/share/emacs/30.1/lisp/progmodes/project hides c:/users/dpchi/.emacs.d/elpa/project-0.11.1/project c:/emacs/share/emacs/30.1/lisp/emacs-lisp/seq hides c:/users/dpchi/.emacs.d/elpa/seq-2.24/seq c:/emacs/share/emacs/30.1/lisp/net/soap-inspect hides c:/users/dpchi/.emacs.d/elpa/soap-client-3.2.3/soap-inspect c:/emacs/share/emacs/30.1/lisp/net/soap-client hides c:/users/dpchi/.emacs.d/elpa/soap-client-3.2.3/soap-client c:/emacs/share/emacs/30.1/lisp/use-package/use-package hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package c:/emacs/share/emacs/30.1/lisp/use-package/use-package-lint hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-lint c:/emacs/share/emacs/30.1/lisp/use-package/use-package-jump hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-jump c:/emacs/share/emacs/30.1/lisp/use-package/use-package-ensure hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-ensure c:/emacs/share/emacs/30.1/lisp/use-package/use-package-ensure-system-package hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-ensure-system-package c:/emacs/share/emacs/30.1/lisp/use-package/use-package-diminish hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-diminish c:/emacs/share/emacs/30.1/lisp/use-package/use-package-delight hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-delight c:/emacs/share/emacs/30.1/lisp/use-package/use-package-core hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-core c:/emacs/share/emacs/30.1/lisp/use-package/use-package-bind-key hides c:/users/dpchi/.emacs.d/elpa/use-package-2.4.6/use-package-bind-key c:/emacs/share/emacs/30.1/lisp/progmodes/xref hides c:/users/dpchi/.emacs.d/elpa/xref-1.7.0/xref Features: (shadow sort mail-extr emacsbug rfc-mode x509-mode x509-asn1-mode aidermacs aidermacs-output ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util aidermacs-models aidermacs-backends aidermacs-backend-comint markdown-mode find-dired tramp trampver tramp-integration files-x tramp-message tramp-compat xdg parse-time iso8601 tramp-loaddefs cl-print completion apheleia apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils apheleia-log apheleia-formatter-context tabify time-stamp mule-util misearch multi-isearch shortdoc comp-common help-fns radix-tree vc-git vc-dispatcher go-mode find-file ffap 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 smerge-mode git-commit log-edit message sendmail yank-media puny dino-dired-fixups dired-aux dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert time-date magit-margin magit-transient magit-process with-editor server magit-mode transient benchmark magit-git magit-base magit-section cursor-sensor crm llama default-text-scale gptel-gemini dpc-gemini gptel gptel-openai wsd-mode wsd-flycheck company-wsdmode ob-wsdmode ob ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core ob-eval org-keys oc org-compat org-macs format-spec wsd-core yasnippet electric-operator cc-mode cc-fonts cc-guess cc-menus cc-cmds company-box company-box-icons company-box-doc company-box-util msgu frame-local company-oddmuse company-keywords company-etags etags fileloop generator company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company indent-bars face-remap noutline outline color highlight-chars display-line-numbers autorevert recentf tree-widget cc-styles cc-align cc-engine cc-vars cc-defs dtrt-indent cus-edit cus-load wid-edit skeleton httpget dpc-jsonnet-mode-fixups jsonnet-mode smie powershell advice shell pcomplete eglot external-completion jsonrpc xref flymake thingatpt project diff diff-mode track-changes ert pp ewoc debug backtrace filenotify warnings compile text-property-search comint ansi-osc ring imenu flycheck ansi-color find-func marginalia compat icomplete edmacro kmacro use-package-bind-key bind-key hl-line finder-inf dino-utility memoize dash dpc-sys-windows-nt s cl-extra help-mode use-package-ensure use-package-core aidermacs-autoloads apheleia-autoloads easy-mmode async-autoloads caddyfile-mode-autoloads chatgpt-shell-autoloads command-log-mode-autoloads company-box-autoloads company-autoloads default-text-scale-autoloads eglot-autoloads eglot-booster-autoloads electric-operator-autoloads expand-region-autoloads f-autoloads faceup-autoloads flycheck-autoloads flymake-autoloads frame-local-autoloads gnu-elpa-keyring-update-autoloads go-mode-autoloads google-gemini-autoloads gptel-autoloads ht-autoloads idlwave-autoloads indent-bars-autoloads json-mode-autoloads json-snatcher-autoloads jsonnet-mode-autoloads logito-autoloads loop-autoloads lv-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads marginalia-autoloads markdown-mode-autoloads memoize-autoloads msgu-autoloads multiple-cursors-autoloads org-autoloads path-helper-autoloads popup-autoloads powershell-autoloads protobuf-mode-autoloads rego-mode-autoloads reformatter-autoloads request-autoloads rfc-mode-autoloads rg-autoloads s-autoloads shell-maker-autoloads spinner-autoloads sr-speedbar-autoloads tblui-autoloads tablist-autoloads magit-popup-autoloads track-changes-autoloads tramp-autoloads rx transient-autoloads typescript-mode-autoloads verilog-mode-autoloads wgrep-autoloads with-editor-autoloads wsd-mode-autoloads x509-mode-autoloads yaml-mode-autoloads yasnippet-autoloads yaxception-autoloads info dash-autoloads 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 cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel touch-screen dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars 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 w32notify w32 lcms2 multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 672435 122634) (symbols 48 39095 1) (strings 32 196605 7313) (string-bytes 1 5493821) (vectors 16 73230) (vector-slots 8 1545967 128424) (floats 8 462 15256) (intervals 56 9860 577) (buffers 992 21))
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Tue, 27 May 2025 14:09:02 GMT) Full text and rfc822 format available.Message #8 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: Eshel Yaron <me <at> eshelyaron.com> To: dino chiesa <dpchiesa <at> hotmail.com> Cc: 78596 <at> debbugs.gnu.org Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table and category Date: Tue, 27 May 2025 16:08:52 +0200
Hi, dino chiesa <dpchiesa <at> hotmail.com> writes: > This isn't a bug report, more of an enhancement request. > > Summary > I would like recentf-open to use "Programmed Completion" via > a completion function. (see 21.6.7 Programmed Completion) > That function ought to return metadata with a category that > is specific to recentf. Good idea. Could you please check if the following patch works for you? diff --git a/lisp/recentf.el b/lisp/recentf.el index a773ea9ec01..006b3159bb9 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el @@ -505,7 +505,9 @@ recentf-open (list (progn (unless recentf-mode (recentf-mode 1)) (completing-read (format-prompt "Open recent file" nil) - recentf-list nil t)))) + (completion-table-with-metadata + recentf-list '((category . recentf))) + nil t)))) (when file (funcall recentf-menu-action file))) The completion-table-with-metadata function is a new helper function that is very useful when we just want to enrich some existing completion table with some metadata. We should probably document it in the manual, BTW. Here's a draft: diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 3cc206d2e1d..2e91f2c21b4 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -2123,6 +2123,15 @@ Programmed Completion when a slow operation is involved, such as calling an external process. @end defun +@defun completion-table-with-metadata table metadata +This function creates a completion table that behaves like the existing +completion table @var{table}, except with additional metadata given in +@var{metadata}, which is an alist of completion metadata. If +@var{table} already provides completion metadata, it is merged with +@var{metadata}, giving precedence to @var{metadata} if an entry appears +both in @var{metadata} and in the metadata that @var{table} produces. +@end defun + @node Completion in Buffers @subsection Completion in Ordinary Buffers @cindex inline completion Best, Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 01 Jun 2025 00:33:02 GMT) Full text and rfc822 format available.Message #11 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: dino chiesa <dpchiesa <at> hotmail.com> To: "78596 <at> debbugs.gnu.org" <78596 <at> debbugs.gnu.org> Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 1 Jun 2025 00:32:26 +0000
Thank you, that will work nicely.
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sat, 07 Jun 2025 08:45:02 GMT) Full text and rfc822 format available.Message #14 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Eshel Yaron <me <at> eshelyaron.com>, dino chiesa <dpchiesa <at> hotmail.com> Cc: 78596 <at> debbugs.gnu.org Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sat, 07 Jun 2025 11:44:03 +0300
> From: dino chiesa <dpchiesa <at> hotmail.com> > Date: Sun, 1 Jun 2025 00:32:26 +0000 > msip_labels: > > Thank you, > that will work nicely. Thanks. Eshel, would you please therefore install your changes?
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sat, 07 Jun 2025 20:15:01 GMT) Full text and rfc822 format available.Message #17 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: Eshel Yaron <me <at> eshelyaron.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 78596 <at> debbugs.gnu.org, dino chiesa <dpchiesa <at> hotmail.com> Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sat, 07 Jun 2025 22:14:05 +0200
Eli Zaretskii <eliz <at> gnu.org> writes: >> From: dino chiesa <dpchiesa <at> hotmail.com> >> Date: Sun, 1 Jun 2025 00:32:26 +0000 >> msip_labels: >> >> Thank you, >> that will work nicely. > > Thanks. > > Eshel, would you please therefore install your changes? Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. Should I also push the part that documents completion-table-with-metadata in the ELisp manual? Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 04:36:02 GMT) Full text and rfc822 format available.Message #20 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Eshel Yaron <me <at> eshelyaron.com> Cc: 78596 <at> debbugs.gnu.org, dpchiesa <at> hotmail.com Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 08 Jun 2025 07:35:20 +0300
> From: Eshel Yaron <me <at> eshelyaron.com> > Cc: dino chiesa <dpchiesa <at> hotmail.com>, 78596 <at> debbugs.gnu.org > Date: Sat, 07 Jun 2025 22:14:05 +0200 > > Eli Zaretskii <eliz <at> gnu.org> writes: > > >> From: dino chiesa <dpchiesa <at> hotmail.com> > >> Date: Sun, 1 Jun 2025 00:32:26 +0000 > >> msip_labels: > >> > >> Thank you, > >> that will work nicely. > > > > Thanks. > > > > Eshel, would you please therefore install your changes? > > Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. > Should I also push the part that documents > completion-table-with-metadata in the ELisp manual? Yes. If what you say there is correct for Emacs 30 as well, please install that part on the release branch. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 19:13:02 GMT) Full text and rfc822 format available.Message #23 received at 78596 <at> debbugs.gnu.org (full text, mbox):
From: Eshel Yaron <me <at> eshelyaron.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 78596 <at> debbugs.gnu.org, dpchiesa <at> hotmail.com Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 08 Jun 2025 21:12:00 +0200
Eli Zaretskii <eliz <at> gnu.org> writes: >> From: Eshel Yaron <me <at> eshelyaron.com> >> Cc: dino chiesa <dpchiesa <at> hotmail.com>, 78596 <at> debbugs.gnu.org >> Date: Sat, 07 Jun 2025 22:14:05 +0200 >> >> Eli Zaretskii <eliz <at> gnu.org> writes: >> >> >> From: dino chiesa <dpchiesa <at> hotmail.com> >> >> Date: Sun, 1 Jun 2025 00:32:26 +0000 >> >> msip_labels: >> >> >> >> Thank you, >> >> that will work nicely. >> > >> > Thanks. >> > >> > Eshel, would you please therefore install your changes? >> >> Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. >> Should I also push the part that documents >> completion-table-with-metadata in the ELisp manual? > > Yes. If what you say there is correct for Emacs 30 as well, please > install that part on the release branch. AFAICT completion-table-with-metadata was only added on master, so I pushed it to master in commit 4be63c85d2a. Regards, Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 19:29:02 GMT) Full text and rfc822 format available.Message #26 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Daniel Mendler <mail <at> daniel-mendler.de> To: Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: 78596 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>, Eshel Yaron <me <at> eshelyaron.com>, dpchiesa <at> hotmail.com Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 08 Jun 2025 21:28:34 +0200
Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > Eli Zaretskii <eliz <at> gnu.org> writes: > >>> From: Eshel Yaron <me <at> eshelyaron.com> >>> Cc: dino chiesa <dpchiesa <at> hotmail.com>, 78596 <at> debbugs.gnu.org >>> Date: Sat, 07 Jun 2025 22:14:05 +0200 >>> >>> Eli Zaretskii <eliz <at> gnu.org> writes: >>> >>> >> From: dino chiesa <dpchiesa <at> hotmail.com> >>> >> Date: Sun, 1 Jun 2025 00:32:26 +0000 >>> >> msip_labels: >>> >> >>> >> Thank you, >>> >> that will work nicely. >>> > >>> > Thanks. >>> > >>> > Eshel, would you please therefore install your changes? >>> >>> Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. >>> Should I also push the part that documents >>> completion-table-with-metadata in the ELisp manual? >> >> Yes. If what you say there is correct for Emacs 30 as well, please >> install that part on the release branch. > > AFAICT completion-table-with-metadata was only added on master, > so I pushed it to master in commit 4be63c85d2a. `completion-table-with-metadata' does not merge the metadata. The function only adds metadata to a table without metadata, like a list of strings. > Regards, > > Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 19:29:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 20:05:02 GMT) Full text and rfc822 format available.Message #32 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Eshel Yaron <me <at> eshelyaron.com> To: Daniel Mendler <mail <at> daniel-mendler.de> Cc: "Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>, 78596 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>, dpchiesa <at> hotmail.com Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 08 Jun 2025 22:04:37 +0200
Hi Daniel, Daniel Mendler <mail <at> daniel-mendler.de> writes: > Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text > editors" <bug-gnu-emacs <at> gnu.org> writes: > >> Eli Zaretskii <eliz <at> gnu.org> writes: >> >>>> From: Eshel Yaron <me <at> eshelyaron.com> >>>> Cc: dino chiesa <dpchiesa <at> hotmail.com>, 78596 <at> debbugs.gnu.org >>>> Date: Sat, 07 Jun 2025 22:14:05 +0200 >>>> >>>> Eli Zaretskii <eliz <at> gnu.org> writes: >>>> >>>> >> From: dino chiesa <dpchiesa <at> hotmail.com> >>>> >> Date: Sun, 1 Jun 2025 00:32:26 +0000 >>>> >> msip_labels: >>>> >> >>>> >> Thank you, >>>> >> that will work nicely. >>>> > >>>> > Thanks. >>>> > >>>> > Eshel, would you please therefore install your changes? >>>> >>>> Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. >>>> Should I also push the part that documents >>>> completion-table-with-metadata in the ELisp manual? >>> >>> Yes. If what you say there is correct for Emacs 30 as well, please >>> install that part on the release branch. >> >> AFAICT completion-table-with-metadata was only added on master, >> so I pushed it to master in commit 4be63c85d2a. > > `completion-table-with-metadata' does not merge the metadata. The > function only adds metadata to a table without metadata, like a list of > strings. Oh my, right, I had another version of that function in mind. I've pushed a fix in 86eb733aef4, does that seem accurate? Thanks, Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 20:05:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 20:14:01 GMT) Full text and rfc822 format available.Message #38 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Daniel Mendler <mail <at> daniel-mendler.de> To: Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: 78596 <at> debbugs.gnu.org, eliz <at> gnu.org, Eshel Yaron <me <at> eshelyaron.com>, dpchiesa <at> hotmail.com Subject: Re: bug#78596: 30.1; recentf-open ought to use a completion table Date: Sun, 08 Jun 2025 22:13:09 +0200
Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > Hi Daniel, > > Daniel Mendler <mail <at> daniel-mendler.de> writes: > >> Eshel Yaron via "Bug reports for GNU Emacs, the Swiss army knife of text >> editors" <bug-gnu-emacs <at> gnu.org> writes: >> >>> Eli Zaretskii <eliz <at> gnu.org> writes: >>> >>>>> From: Eshel Yaron <me <at> eshelyaron.com> >>>>> Cc: dino chiesa <dpchiesa <at> hotmail.com>, 78596 <at> debbugs.gnu.org >>>>> Date: Sat, 07 Jun 2025 22:14:05 +0200 >>>>> >>>>> Eli Zaretskii <eliz <at> gnu.org> writes: >>>>> >>>>> >> From: dino chiesa <dpchiesa <at> hotmail.com> >>>>> >> Date: Sun, 1 Jun 2025 00:32:26 +0000 >>>>> >> msip_labels: >>>>> >> >>>>> >> Thank you, >>>>> >> that will work nicely. >>>>> > >>>>> > Thanks. >>>>> > >>>>> > Eshel, would you please therefore install your changes? >>>>> >>>>> Sure, I've now pushed the change to recentf-open in commit b7560fb63dc. >>>>> Should I also push the part that documents >>>>> completion-table-with-metadata in the ELisp manual? >>>> >>>> Yes. If what you say there is correct for Emacs 30 as well, please >>>> install that part on the release branch. >>> >>> AFAICT completion-table-with-metadata was only added on master, >>> so I pushed it to master in commit 4be63c85d2a. >> >> `completion-table-with-metadata' does not merge the metadata. The >> function only adds metadata to a table without metadata, like a list of >> strings. > > Oh my, right, I had another version of that function in mind. > I've pushed a fix in 86eb733aef4, does that seem accurate? Yes, thanks. > Thanks, > > Eshel
bug-gnu-emacs <at> gnu.org
:bug#78596
; Package emacs
.
(Sun, 08 Jun 2025 20:14:02 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.