Commit a36e2d26 authored by Michael Albinus's avatar Michael Albinus
Browse files

Improve XEmacs compatibility.

* net/tramp.el (tramp-replace-environment-variables): Make it a defun.

* net/tramp-adb.el (top): Require `time-date'.
(tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'.
(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): Use
`tramp-file-name-handler'.
(tramp-adb-maybe-open-connection): Use
`tramp-compat-set-process-query-on-exit-flag'.

* net/tramp-sh.el (tramp-sh-handle-file-acl): Use
`tramp-compat-funcall'.

* net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and
`tramp-compat-funcall'.
parent 88c7dfa3
2013-01-21 Michael Albinus <michael.albinus@gmx.de>
Improve XEmacs compatibility.
* net/tramp.el (tramp-replace-environment-variables): Make it a defun.
* net/tramp-adb.el (top): Require `time-date'.
(tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'.
(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): Use
`tramp-file-name-handler'.
(tramp-adb-maybe-open-connection): Use
`tramp-compat-set-process-query-on-exit-flag'.
* net/tramp-sh.el (tramp-sh-handle-file-acl): Use
`tramp-compat-funcall'.
* net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and
`tramp-compat-funcall'.
2013-01-21 Jürgen Hötzel <juergen@archlinux.org>
 
* net/tramp-adb.el (tramp-adb-handle-start-file-process): Complete
......
......@@ -33,6 +33,7 @@
;;; Code:
(require 'tramp)
(require 'time-date)
(defvar dired-move-to-filename-regexp)
......@@ -465,7 +466,7 @@ Emacs dired can't find files."
(setq time-a (apply 'encode-time (parse-time-string (match-string 0 a))))
(string-match tramp-adb-ls-date-regexp b)
(setq time-b (apply 'encode-time (parse-time-string (match-string 0 b))))
(time-less-p time-b time-a)))
(tramp-time-less-p time-b time-a)))
(defun tramp-adb-ls-output-name-less-p (a b)
"Sort \"ls\" output by name, ascending."
......@@ -638,7 +639,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
newname (expand-file-name newname))
(if (file-directory-p filename)
(copy-directory filename newname keep-date t)
(tramp-file-name-handler 'copy-directory filename newname keep-date t)
(with-tramp-progress-reporter
(tramp-dissect-file-name (if (file-remote-p filename) filename newname))
0 (format "Copying %s to %s" filename newname)
......@@ -698,7 +699,10 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(tramp-flush-file-property v localname)
;; Short track.
(tramp-adb-barf-unless-okay
v (format "mv %s %s" (file-remote-p filename 'localname) localname)
v (format
"mv %s %s"
(tramp-file-name-handler 'file-remote-p filename 'localname)
localname)
"Error renaming %s to %s" filename newname))
;; Rename by copy.
......@@ -1071,7 +1075,7 @@ connection if a previous connection has died for some reason."
(tramp-adb-wait-for-output p)
(unless (eq 'run (process-status p))
(tramp-error vec 'file-error "Terminated!"))
(set-process-query-on-exit-flag p nil)
(tramp-compat-set-process-query-on-exit-flag p nil)
;; Check whether the properties have been changed. If
;; yes, this is a strong indication that we must expire all
......
......@@ -1555,7 +1555,8 @@ be non-negative integers."
(goto-char (point-max))
(delete-blank-lines)
(when (> (point-max) (point-min))
(substring-no-properties (buffer-string))))))))
(tramp-compat-funcall
'substring-no-properties (buffer-string))))))))
(defun tramp-sh-handle-set-file-acl (filename acl-string)
"Like `set-file-acl' for Tramp files."
......
......@@ -649,13 +649,14 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
v (format "getfacl \"%s\"" (tramp-smb-get-localname v)))
(with-current-buffer (tramp-get-connection-buffer v)
(goto-char (point-min))
(while (looking-at-p "^#")
(while (looking-at "^#")
(forward-line)
(delete-region (point-min) (point)))
(goto-char (point-max))
(delete-blank-lines)
(when (> (point-max) (point-min))
(substring-no-properties (buffer-string))))))))
(tramp-compat-funcall
'substring-no-properties (buffer-string))))))))
(defun tramp-smb-handle-file-attributes (filename &optional id-format)
"Like `file-attributes' for Tramp files."
......
......@@ -1779,17 +1779,12 @@ value of `default-file-modes', without execute permissions."
(or (file-modes filename)
(logand (default-file-modes) (tramp-compat-octal-to-decimal "0666"))))
(defalias 'tramp-replace-environment-variables
(if (ignore-errors
(equal "${ tramp?}"
(tramp-compat-funcall
'substitute-env-vars "${ tramp?}" 'only-defined)))
(lambda (filename)
"Like `substitute-env-vars' with `only-defined' non-nil."
(tramp-compat-funcall 'substitute-env-vars filename 'only-defined))
(lambda (filename)
(defun tramp-replace-environment-variables (filename)
"Replace environment variables in FILENAME.
Return the string with the replaced variables."
(or (ignore-errors
(tramp-compat-funcall 'substitute-env-vars filename 'only-defined))
;; We need an own implementation.
(save-match-data
(let ((idx (string-match "$\\(\\w+\\)" filename)))
;; `$' is coded as `$$'.
......@@ -1800,7 +1795,7 @@ Return the string with the replaced variables."
(replace-match
(substitute-in-file-name (match-string 0 filename))
t nil filename)))
filename)))))
filename))))
;; In XEmacs, electricity is implemented via a key map for ?/ and ?~,
;; which calls corresponding functions (see minibuf.el).
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment