summaryrefslogtreecommitdiff
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.el30
1 files changed, 23 insertions, 7 deletions
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index e68c81cfa7..48eda2fd17 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -236,8 +236,8 @@ this is the function `temp-directory'."
((let ((d (getenv "TMPDIR"))) (and d (file-directory-p d)))
(file-name-as-directory (getenv "TMPDIR")))
((file-exists-p "c:/temp") (file-name-as-directory "c:/temp"))
- (t (message (concat "Neither `temporary-file-directory' nor "
- "`temp-directory' is defined -- using /tmp."))
+ (t (message (concat "Neither ‘temporary-file-directory’ nor "
+ "‘temp-directory’ is defined -- using /tmp."))
(file-name-as-directory "/tmp")))))
;; `make-temp-file' exists in Emacs only. On XEmacs, we use our own
@@ -294,7 +294,7 @@ Not actually used. Use `(format \"%o\" i)' instead?"
(let ((x (or ostr "")))
;; `save-match' is in `tramp-mode-string-to-int' which calls this.
(unless (string-match "\\`[0-7]*\\'" x)
- (error "Non-octal junk in string `%s'" x))
+ (error "Non-octal junk in string ‘%s’" x))
(string-to-number ostr 8)))
;; ID-FORMAT does not exist in XEmacs.
@@ -534,10 +534,10 @@ EOL-TYPE can be one of `dos', `unix', or `mac'."
((eq eol-type 'unix) 'lf)
((eq eol-type 'mac) 'cr)
(t
- (error "Unknown EOL-TYPE `%s', must be %s"
- eol-type
- "`dos', `unix', or `mac'")))))
- (t (error "Can't change EOL conversion -- is MULE missing?"))))
+ (error
+ "Unknown EOL-TYPE ‘%s’, must be ‘dos’, ‘unix’, or ‘mac’"
+ eol-type)))))
+ (t (error "Can’t change EOL conversion -- is MULE missing?"))))
;; `replace-regexp-in-string' does not exist in XEmacs.
;; Implementation is taken from Emacs 24.
@@ -595,6 +595,22 @@ and replace a sub-expression, e.g.
(unless (fboundp 'default-toplevel-value)
(defalias 'default-toplevel-value 'symbol-value))
+;; ‘format-message’ is new in Emacs 25, and does not exist in XEmacs.
+;; The substitute implementation always uses grave quoting style, for
+;; compatibility with older Emacs.
+(unless (fboundp 'format-message)
+ (defalias 'format-message
+ (lambda (format-string &rest args)
+ (let ((restyled-format-string
+ (let ((start (string-match "[‘’]" format-string)))
+ (if start
+ (tramp-compat-replace-regexp-in-string
+ "[‘’]"
+ (lambda (match) (if (string-equal match "‘") "`" "'"))
+ format-string t t nil start)
+ format-string))))
+ (apply #'format restyled-format-string args)))))
+
(add-hook 'tramp-unload-hook
(lambda ()
(unload-feature 'tramp-loaddefs 'force)