diff options
Diffstat (limited to 'lisp/net/tramp-compat.el')
| -rw-r--r-- | lisp/net/tramp-compat.el | 9 |
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 | ||