diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2015-10-04 13:00:33 +0200 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2015-10-04 13:00:33 +0200 |
commit | acfb5cd0353406784f085ddb6edfb0d0587048c8 (patch) | |
tree | 8e42498109553516b9aee8662b91c365995d16ee | |
parent | b28beb11f3ed93af0f53fb87838bbcab0b469dfb (diff) |
Improve XEmacs compatibility of Tramp
* lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
Declare if it doesn't exist.
(file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
(redisplay): Make it an alias if it doesn't exist.
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
`file-remote-p' (due to XEmacs compatibility).
* lisp/net/trampver.el (locate-dominating-file)
(tramp-compat-replace-regexp-in-string): Autoload.
(tramp-repository-get-version): Do not dupe byte-compiler.
-rw-r--r-- | lisp/net/tramp-compat.el | 22 | ||||
-rw-r--r-- | lisp/net/tramp.el | 2 | ||||
-rw-r--r-- | lisp/net/trampver.el | 11 |
3 files changed, 18 insertions, 17 deletions
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index 9848325e45..e6451956dc 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el @@ -105,6 +105,12 @@ (unless (boundp 'remote-file-name-inhibit-cache) (defvar remote-file-name-inhibit-cache nil)) + ;; `directory-listing-before-filename-regexp' does not exist in + ;; XEmacs. Since we use it only in tramp-adb.el, it doesn't harm to + ;; declare it here. + (unless (boundp 'directory-listing-before-filename-regexp) + (defvar directory-listing-before-filename-regexp nil)) + ;; For not existing functions, or functions with a changed argument ;; list, there are compiler warnings. We want to avoid them in ;; cases we know what we do. @@ -122,16 +128,6 @@ ;; `tramp-handle-*' functions, because this would bypass the locking ;; mechanism. - ;; `file-remote-p' has been introduced with Emacs 22. The version - ;; of XEmacs is not a magic file name function (yet). - (unless (fboundp 'file-remote-p) - (defalias 'file-remote-p - (lambda (file &optional identification connected) - (when (tramp-tramp-file-p file) - (tramp-compat-funcall - 'tramp-file-name-handler - 'file-remote-p file identification connected))))) - ;; `process-file' does not exist in XEmacs. (unless (fboundp 'process-file) (defalias 'process-file @@ -187,7 +183,11 @@ (lambda () (ad-remove-advice 'file-expand-wildcards 'around 'tramp-advice-file-expand-wildcards) - (ad-activate 'file-expand-wildcards))))) + (ad-activate 'file-expand-wildcards)))) + + ;; `redisplay' does not exist in XEmacs. + (unless (fboundp 'redisplay) + (defalias 'redisplay 'ignore))) ;; `with-temp-message' does not exist in XEmacs. (if (fboundp 'with-temp-message) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index fbb8c8a349..df64f49e1e 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -4005,7 +4005,7 @@ be granted." (or (tramp-get-method-parameter vec 'tramp-tmpdir) "/tmp")))) (with-tramp-connection-property vec "tmpdir" (or (and (file-directory-p dir) (file-writable-p dir) - (file-remote-p dir 'localname)) + (tramp-file-name-handler 'file-remote-p dir 'localname)) (tramp-error vec 'file-error "Directory %s not accessible" dir))) dir)) diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index bba27e3946..5c42f3a828 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el @@ -38,12 +38,14 @@ (defconst tramp-bug-report-address "tramp-devel@gnu.org" "Email address to send bug reports to.") +;; `locate-dominating-file' does not exist in XEmacs. But it is not used here. +(autoload 'locate-dominating-file "files") +(autoload 'tramp-compat-replace-regexp-in-string "tramp-compat") + (defun tramp-repository-get-version () "Try to return as a string the repository revision of the Tramp sources." (unless (featurep 'xemacs) - (let ((dir - (funcall - (intern "locate-dominating-file") (locate-library "tramp") ".git"))) + (let ((dir (locate-dominating-file (locate-library "tramp") ".git"))) (when dir (with-temp-buffer (let ((default-directory (file-name-as-directory dir))) @@ -51,8 +53,7 @@ (ignore-errors (call-process "git" nil '(t nil) nil "rev-parse" "HEAD"))) (not (zerop (buffer-size))) - (funcall - (intern "tramp-compat-replace-regexp-in-string") + (tramp-compat-replace-regexp-in-string "\n" "" (buffer-string))))))))) ;; Check for (X)Emacs version. |