mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-03 08:30:09 +00:00
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.
This commit is contained in:
parent
b28beb11f3
commit
acfb5cd035
@ -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)
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user