aboutsummaryrefslogtreecommitdiff
path: root/compat-27.el
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2023-01-23 15:20:25 +0100
committerDaniel Mendler <mail@daniel-mendler.de>2023-01-23 15:28:59 +0100
commite4e564bdf1e8664665e626e4c65146f7207c5a56 (patch)
tree0e5045fc1ba01ecb1abe8cd4b23b6a8a9d33c10f /compat-27.el
parentac471b9ccf821a421f61945c262c53a7a02006cd (diff)
compat-27: Add file-name-unquote
Diffstat (limited to 'compat-27.el')
-rw-r--r--compat-27.el16
1 files changed, 13 insertions, 3 deletions
diff --git a/compat-27.el b/compat-27.el
index 102abf1..793c98e 100644
--- a/compat-27.el
+++ b/compat-27.el
@@ -427,10 +427,20 @@ the minibuffer was activated, and execute the forms."
(compat-defun file-name-quote (name &optional top) ;; <compat-tests:file-name-quote>
"Handle optional argument TOP."
:extended "26.1"
- (let ((file-name-handler-alist (unless top file-name-handler-alist)))
- (if (string-prefix-p "/:" (file-local-name name))
+ (let* ((file-name-handler-alist (unless top file-name-handler-alist))
+ (localname (file-local-name name)))
+ (if (string-prefix-p "/:" localname)
name
- (concat (file-remote-p name) "/:" (file-local-name name)))))
+ (concat (file-remote-p name) "/:" localname))))
+
+(compat-defun file-name-unquote (name &optional top) ;; <compat-tests:file-name-unquote>
+ "Handle optional argument TOP."
+ :extended "26.1"
+ (let* ((file-name-handler-alist (unless top file-name-handler-alist))
+ (localname (file-local-name name)))
+ (when (string-prefix-p "/:" localname)
+ (setq localname (if (= (length localname) 2) "/" (substring localname 2))))
+ (concat (file-remote-p name) localname)))
(compat-defun file-size-human-readable (file-size &optional flavor space unit) ;; <compat-tests:file-size-human-readable>
"Handle the optional arguments SPACE and UNIT."