Subject: bug#48902: 28.0.50; Directory names containing apostrophes and backticks cause problems

From: Rudolf Adamkovič <[email-masked]>
Date: Mon, 07 Jun 2021 15:32:10 +0200

This is my first Emacs bug report.

DESCRIPTION:

I use EMMS to listen to music, and recently, I have noticed that the
EMMS Browser does not show covers for some of my albums. Today, I
decided to investigate the problem, and I found the following.

REPRODUCTION STEPS:

1. Create a directory called "Dubmood - C’etait Mieux En Rda (DATA001)".
2. Copy a picture, say "cover.png" into the newly created directory.
3. Launch "emacs -Q".
3. Open the newly created directory in Dired.
4. Press RET on the picture.

EXPECTED RESULTS:

Emacs shows the picture.

ACTUAL RESULTS:

Emacs shows an empty window.

NOTES:

The same problem applies to a folder called "Ultrasyd - L'Épidemie
Dansante". It seems that both an apostrophe (') and a backtick (`)
cause problems in both EMMS and Dired.

-- Rudy

In GNU Emacs 28.0.50 (build 2, x86_64-apple-darwin20.3.0, NS appkit-2022.30 Version 11.2.3 (Build 20D91))
 of 2021-06-07 built on Workstation.local
Repository revision: 82ccc3afcf9ed1f8b22ed5634e788879cd1af279
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.2.3

Configured using:
 'configure --with-ns --with-native-compilation'

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
ZLIB

Important settings:
  value of $LANG: en_SK.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  shell-dirtrack-mode: t
  dumb-jump-mode: t
  global-hl-todo-mode: t
  show-paren-mode: t
  global-flycheck-mode: t
  recentf-mode: t
  counsel-projectile-mode: t
  projectile-mode: t
  global-subword-mode: t
  subword-mode: t
  all-the-icons-ivy-rich-mode: t
  ivy-prescient-mode: t
  prescient-persist-mode: t
  ivy-rich-project-root-cache-mode: t
  ivy-rich-mode: t
  ivy-mode: t
  guru-global-mode: t
  guru-mode: t
  which-key-mode: t
  save-place-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/salutis/.emacs.d/elpa/transient-20210530.2252/transient hides /Users/salutis/Repositories/emacs/nextstep/Emacs.app/Contents/Resources/lisp/transient

Features:
(shadow emacsbug sendmail smiley gnus-cite mail-extr gnus-async
gnus-bcklg sort gnus-ml mm-archive gnutls network-stream url-http url-gw
nsm url-cache url-auth qp nnrss mm-url nndraft nnmh nnmaildir nnfolder
nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache
gnus-sum shr kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus
dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec
gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa derived epg
epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader gnus-win em-unix em-term em-script em-prompt em-ls
em-hist em-pred em-glob em-dirs esh-var em-cmpl em-basic em-banner
em-alias esh-mode bookmark pp writegood-mode two-column password-store
auth-source-pass with-editor vterm face-remap vterm-module term/xterm
xterm term disp-table ehelp eshell esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-groups esh-util server amx vc-git
diff-mode vc-dispatcher ffap tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell parse-time iso8601 ls-lisp
pcase flyspell ispell dumb-jump popup hl-todo gnus nnheader gnus-util
rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util
mail-prsvr cus-load paren flycheck recentf tree-widget wid-edit
counsel-projectile ag vc-svn find-dired s dash ripgrep projectile grep
ibuf-ext ibuffer ibuffer-loaddefs thingatpt cap-words superword subword
all-the-icons-ivy-rich all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons ivy-prescient prescient counsel xdg xref project dired
dired-loaddefs compile text-property-search swiper ivy-rich ivy flx
ivy-faces ivy-overlay colir color guru-mode which-key
modus-vivendi-theme modus-operandi-theme modus-themes comp comp-cstr
warnings rx saveplace autorevert filenotify delsel exec-path-from-shell
diminish use-package-ensure-system-package system-packages use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core finder-inf cl-extra
help-mode org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color
ring org-list org-faces org-entities time-date noutline outline
easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table ol
org-keys org-compat advice org-macs org-loaddefs format-spec find-func
cal-menu calendar cal-loaddefs tex-site edmacro kmacro info package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-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 cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind
kqueue cocoa ns lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 862734 56170)
 (symbols 48 42507 4)
 (strings 32 248048 23357)
 (string-bytes 1 10036170)
 (vectors 16 87234)
 (vector-slots 8 2207490 61351)
 (floats 8 1197 526)
 (intervals 56 735 540)
 (buffers 992 25))