Subject: bug#65120: 29.1; directory-abbrev-alist breaks various things when inside an abbreviated directory

From: Sean Allred <[email-masked]>
Date: Sun, 06 Aug 2023 18:35:22 -0500

Emacs behaves oddly inside abbreviated directories when
`directory-abbrev-alist' is set.

    $ emacs -Q
    lisp> (setq directory-abbrev-alist `(("~/tmp" . "tmp")))
    keys> C-x d ~/tmp RET
    keys> C-x C-f

I see "tmp/" in the minibuffer and no completions are available.

I've also seen (dired "~/tmp") fail on Windows in this scenario --
complaining that the directory is inaccessible. On both systems, ~/tmp
does exist (and has content) and behaves as expected if
`directory-abbrev-alist' is nil.

Paring down to a minimal example on Windows is considerably more work
than it is on *nix, though, and I suspect the two symptoms have the same
root cause. Nevertheless, if it should help, I can do that leg-work
sometime this week.

---

In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS
 appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-07-30 built on
 armbob.lan
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.5

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000
 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no'

Configured features:
ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER
PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB

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

--
Sean Allred