Subject: bug#76732: closed (Re: bug#76732: 30.1; image-dired fails with files with only open bracket)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 04 Mar 2025 10:01:02 +0000

Your bug report

#76732: 30.1; image-dired fails with files with only open bracket

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
76732: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76732
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#76732: 30.1; image-dired fails with files with only open bracket
From: Stefan Kangas <[email-masked]>
To: Sanel Zukan <[email-masked]>, [email-masked]
Date: Tue, 4 Mar 2025 01:59:56 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Sanel Zukan <[email-masked]> writes:

> Hi,
>
> When image-dired is run on folder where at least one file has open
> bracket ('[') in it's name, without closing bracket, it will fail with
> this stacktrace:
>
> Debugger entered--Lisp error: (invalid-regexp "Unmatched [ or [^")
>   search-forward-regexp("^/home/user/ooo/[img.png" nil t)
>   image-dired-list-tags("/home/user/ooo/[img.png")
>   image-dired-insert-thumbnail("/home/user/.emacs.d/image-dired/7099b45a60beaf2cdfa5d644d7cc5ad99d915ca0.jpg" "/home/user/ooo/[img.png" #<buffer ooo>)
>   image-dired-display-thumbs()
>   image-dired("~/ooo/")
>   funcall-interactively(image-dired "~/ooo/")
>   call-interactively(image-dired record nil)
>   command-execute(image-dired record)
>   execute-extended-command(nil "image-dired" nil)
>   funcall-interactively(execute-extended-command nil "image-dired" nil)
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)
>
> To reproduce it:
>
>  1. Start Emacs with "emacs -Q"
>  2. Create temporary folder and copy one png file to it and rename it to
>  '[img.png'.
>  3. Try to open that folder with image-dired. You should get stacktrace
>  as above.
>
> It will fail also with files like 'im[g.png' but not with files with
> only closed bracket. E.g. this works: ']img.png' or 'im]g.png'.

Thanks for the bug report!

This is actually already fixed on master.  I have now backported the fix
to the emacs-30 branch, which means that it will be in Emacs 30.2.

I'm therefore closing this bug report.

Subject: 30.1; image-dired fails with files with only open bracket
From: Sanel Zukan <[email-masked]>
To: [email-masked]
Date: Tue, 04 Mar 2025 05:29:57 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

When image-dired is run on folder where at least one file has open
bracket ('[') in it's name, without closing bracket, it will fail with
this stacktrace:

Debugger entered--Lisp error: (invalid-regexp "Unmatched [ or [^")
  search-forward-regexp("^/home/user/ooo/[img.png" nil t)
  image-dired-list-tags("/home/user/ooo/[img.png")
  image-dired-insert-thumbnail("/home/user/.emacs.d/image-dired/7099b45a60beaf2cdfa5d644d7cc5ad99d915ca0.jpg" "/home/user/ooo/[img.png" #<buffer ooo>)
  image-dired-display-thumbs()
  image-dired("~/ooo/")
  funcall-interactively(image-dired "~/ooo/")
  call-interactively(image-dired record nil)
  command-execute(image-dired record)
  execute-extended-command(nil "image-dired" nil)
  funcall-interactively(execute-extended-command nil "image-dired" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

To reproduce it:

 1. Start Emacs with "emacs -Q"
 2. Create temporary folder and copy one png file to it and rename it to
 '[img.png'.
 3. Try to open that folder with image-dired. You should get stacktrace
 as above.

It will fail also with files like 'im[g.png' but not with files with
only closed bracket. E.g. this works: ']img.png' or 'im]g.png'.

Emacs details:

In GNU Emacs 30.1 (build 1, x86_64-slackware-linux-gnu, GTK+ Version
 3.24.31, cairo version 1.16.0) of 2025-02-26 built on
 z-mp.slackware.lan
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Slackware 15.0 x86_64

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
 --program-prefix= --program-suffix= --mandir=/usr/man
 --infodir=/usr/info --without-gconf --without-gsettings --with-modules
 --with-x --with-x-toolkit=gtk3 --with-pdumper=auto
 --without-native-compilation --build=x86_64-slackware-linux 'CFLAGS=-O2
 -fPIC''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG LCMS2
LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen 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 dbusbind inotify lcms2
dynamic-setting font-render-setting cairo gtk x-toolkit xinput2 x
multi-tty move-toolbar make-network-process emacs)

Memory information:
((conses 16 38651 9082) (symbols 48 5368 0) (strings 32 12518 2548)
 (string-bytes 1 300947) (vectors 16 9239)
 (vector-slots 8 109765 4279) (floats 8 21 3) (intervals 56 244 3)
 (buffers 984 10))

Best,
Sanel