GNU bug report logs - #75877
30.0.91; dired-omit-expunge embeds unquoted filename in format string

Previous Next

Package: emacs;

Reported by: Derek Upham <derek_upham <at> mailfence.com>

Date: Sun, 26 Jan 2025 18:27:02 UTC

Severity: normal

Found in version 30.0.91

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Derek Upham <derek_upham <at> mailfence.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.91; dired-omit-expunge embeds unquoted filename in format string
Date: Sun, 26 Jan 2025 10:26:27 -0800
Looking at “dired-omit-expunge” in dired-x.el, in this block:

   (setq count  (+ count
                   (dired-do-kill-lines
                    nil
                    (if dired-omit-verbose
                        (format "Omitted %%d line%%s in %s"
                                (abbreviate-file-name
                                 dired-directory))
                      "")
                    init-count)))

Here that “format” call generates a format template, such that
“dired-do-kill-lines” can invoke “message” with that text plus 
count
information.

If the directory name contains embedded percentage characters, 
then the
template ends up with extra parameter slots.  The call to 
“message”
fails with an error and Dired does not present the directory.

   (error "Not enough arguments for format string")

(In case someone is curious “Why put percentages in the names at 
all?”,
I use it to map those directories 1:1 with URLs/websites.)


In GNU Emacs 30.0.91 (build 2, x86_64-pc-linux-gnu, GTK+ Version
2.24.33, cairo version 1.18.2) of 2024-10-19 built on
priss.frightenedpiglet.com
Windowing system distributor 'The X.Org Foundation', version 
11.0.12101014
System Description: Debian GNU/Linux trixie/sid

-- 
Derek Upham
derek_upham <at> mailfence.com




This bug report was last modified 110 days ago.

Previous Next


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