aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/net/tramp-compat.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/net/tramp-compat.el')
-rw-r--r--lisp/net/tramp-compat.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index f975457d4df..ecc6fe96855 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -102,14 +102,19 @@ Add the extension of F, if existing."
102 tramp-temp-name-prefix tramp-compat-temporary-file-directory) 102 tramp-temp-name-prefix tramp-compat-temporary-file-directory)
103 dir-flag (file-name-extension f t))) 103 dir-flag (file-name-extension f t)))
104 104
105(defalias 'tramp-error-type-p
106 (if (fboundp 'error-type-p) ;Emacs-31
107 #'error-type-p
108 (lambda (symbol) (get symbol 'error-conditions))))
109
105;; `permission-denied' is introduced in Emacs 29.1. 110;; `permission-denied' is introduced in Emacs 29.1.
106(defconst tramp-permission-denied 111(defconst tramp-permission-denied
107 (if (get 'permission-denied 'error-conditions) 'permission-denied 'file-error) 112 (if (tramp-error-type-p 'permission-denied) 'permission-denied 'file-error)
108 "The error symbol for the `permission-denied' error.") 113 "The error symbol for the `permission-denied' error.")
109 114
110(defsubst tramp-compat-permission-denied (vec file) 115(defsubst tramp-compat-permission-denied (vec file)
111 "Emit the `permission-denied' error." 116 "Emit the `permission-denied' error."
112 (if (get 'permission-denied 'error-conditions) 117 (if (tramp-error-type-p 'permission-denied)
113 (tramp-error vec tramp-permission-denied file) 118 (tramp-error vec tramp-permission-denied file)
114 (tramp-error vec tramp-permission-denied "Permission denied: %s" file))) 119 (tramp-error vec tramp-permission-denied "Permission denied: %s" file)))
115 120