From 17d0f61c808c3d288de246518c1ed73e64e94b1d Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Fri, 7 Oct 2022 13:14:46 +0200 Subject: [PATCH] * lisp/dired.el (dired-make-relative): Make change less aggressive. --- lisp/dired.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/dired.el b/lisp/dired.el index f9a77431393..85a71315702 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2953,7 +2953,11 @@ Optional arg GLOBAL means to replace all matches." If DIR is omitted or nil, it defaults to `default-directory'. If FILE is not in the directory tree of DIR, return FILE unchanged." - (setq dir (expand-file-name (or dir default-directory))) + (or dir (setq dir default-directory)) + ;; This case comes into play if default-directory is set to + ;; use ~. + (if (string-match-p "\\(\\`\\|:\\)~" dir) + (setq dir (expand-file-name dir))) (if (string-match (concat "^" (regexp-quote dir)) file) (substring file (match-end 0)) file)) -- 2.39.5