GNU bug report logs - #78658
30.1; [PATCH] Dired feature suggestion: dired-on-marked-files-in-all-buffers

Previous Next

Package: emacs;

Reported by: Phil Sainty <psainty <at> orcon.net.nz>

Date: Sun, 1 Jun 2025 03:20:06 UTC

Severity: normal

Tags: patch

Found in version 30.1

Full log


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

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Phil Sainty <psainty <at> orcon.net.nz>
Cc: "Drew Adams via \"Bug reports for GNU Emacs,  the Swiss army knife of
 text editors\"" <bug-gnu-emacs <at> gnu.org>, juri <at> linkov.net,
 Eli Zaretskii <eliz <at> gnu.org>, Drew Adams <drew.adams <at> oracle.com>,
 78658 <at> debbugs.gnu.org
Subject: Re: bug#78658: 30.1; [PATCH] Dired feature suggestion:
 dired-on-marked-files-in-all-buffers
Date: Wed, 04 Jun 2025 10:57:58 +0200
Phil Sainty <psainty <at> orcon.net.nz> writes:

> On 2025-06-04 08:09, Daniel Mendler wrote:
>> Note that the `completion-styles' only affect
>> `completion-try-completion' and `completion-all-completions', but not
>> the primitive `try-completion', which always computes the common prefix.
>
> Thanks for confirming that.
>
> There are a couple of edge-cases for `try-completion' which made me
> think a new wrapper function for the "find the longest string prefix"
> case would be a good thing, which are:
>
>  (try-completion "" '())
>  nil
>
>  (try-completion "" '(""))
>  t
>
> Hence:
>
>  (defun string-common-prefix (strings)
>   "Return the largest common prefix from a list of STRINGS."
>   (let ((prefix (try-completion "" strings)))
>     (if (stringp prefix)
>         prefix
>       "")))

Note that try-completion can also return `t' and in that case you want
to return the exact string, not the empty string. Also you may want to
bind some completion variables like `completion-regexp-list' and
`completion-ignore-case' to nil (or to an `ignore-case' argument), such
that they do not affect the result. These dynamic variables are not user
settings, but are usually let-bound inside completion style functions
like `completion--pcm-all-completions'. Please take a close look at the
documentation of `try-completion'. In any case, I agree that such a
wrapper would be good to have and easier to use.

Daniel




This bug report was last modified 5 days ago.

Previous Next


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