diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2023-01-23 15:20:25 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2023-01-23 15:28:59 +0100 |
| commit | e4e564bdf1e8664665e626e4c65146f7207c5a56 (patch) | |
| tree | 0e5045fc1ba01ecb1abe8cd4b23b6a8a9d33c10f /compat-27.el | |
| parent | ac471b9ccf821a421f61945c262c53a7a02006cd (diff) | |
compat-27: Add file-name-unquote
Diffstat (limited to 'compat-27.el')
| -rw-r--r-- | compat-27.el | 16 |
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." |
