[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v |
Date: |
Sun, 27 Apr 2008 16:36:15 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Michael Albinus <albinus> 08/04/27 16:36:14
Index: tramp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp.el,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -b -r1.192 -r1.193
--- tramp.el 27 Apr 2008 09:29:41 -0000 1.192
+++ tramp.el 27 Apr 2008 16:36:14 -0000 1.193
@@ -2119,7 +2119,8 @@
target of the symlink differ."
(with-parsed-tramp-file-name linkname l
(let ((ln (tramp-get-remote-ln l))
- (cwd (file-name-directory l-localname)))
+ (cwd (tramp-run-real-handler
+ 'file-name-directory (list l-localname))))
(unless ln
(tramp-error
l 'file-error
@@ -2151,7 +2152,6 @@
(tramp-send-command-and-check
l (format "cd %s && %s -sf %s %s" cwd ln filename l-localname) t)))))
-
(defun tramp-handle-load (file &optional noerror nomessage nosuffix
must-suffix)
"Like `load' for Tramp files."
(with-parsed-tramp-file-name (expand-file-name file) nil
@@ -2194,12 +2194,13 @@
(tramp-file-name-method v)
(tramp-file-name-user v)
(tramp-file-name-host v)
- (file-name-directory (or (tramp-file-name-localname v) "")))))
+ (tramp-run-real-handler
+ 'file-name-directory (list (or (tramp-file-name-localname v) ""))))))
(defun tramp-handle-file-name-nondirectory (file)
"Like `file-name-nondirectory' but aware of Tramp files."
(with-parsed-tramp-file-name file nil
- (file-name-nondirectory localname)))
+ (tramp-run-real-handler 'file-name-nondirectory (list localname))))
(defun tramp-handle-file-truename (filename &optional counter prev-dirs)
"Like `file-truename' for Tramp files."
@@ -2207,7 +2208,8 @@
(with-file-property v localname "file-truename"
(let* ((directory-sep-char ?/) ; for XEmacs
(steps (tramp-split-string localname "/"))
- (localnamedir (file-name-as-directory localname))
+ (localnamedir (tramp-run-real-handler
+ 'file-name-as-directory (list localname)))
(is-dir (string= localname localnamedir))
(thisstep nil)
(numchase 0)
@@ -3128,20 +3130,23 @@
((or t1 t2)
(cond
;; We can do it directly.
- ((and (file-readable-p localname1)
+ ((let (file-name-handler-alist)
+ (and (file-readable-p localname1)
(file-writable-p (file-name-directory localname2))
(or (file-directory-p localname2)
- (file-writable-p localname2)))
+ (file-writable-p localname2))))
(if (eq op 'copy)
(tramp-compat-copy-file
localname1 localname2 ok-if-already-exists
keep-date preserve-uid-gid)
- (rename-file localname1 localname2 ok-if-already-exists)))
+ (tramp-run-real-handler
+ 'rename-file (list localname1 localname2 ok-if-already-exists))))
;; We can do it directly with `tramp-send-command'
- ((and (file-readable-p (concat prefix localname1))
+ ((let (file-name-handler-alist)
+ (and (file-readable-p (concat prefix localname1))
(file-writable-p
- (file-name-directory (concat prefix localname2))))
+ (file-name-directory (concat prefix localname2)))))
(tramp-do-copy-or-rename-file-directly
op (concat prefix localname1) (concat prefix localname2)
ok-if-already-exists keep-date t)
@@ -3172,7 +3177,8 @@
(tramp-compat-copy-file
localname1 tmpfile ok-if-already-exists
keep-date preserve-uid-gid)
- (rename-file localname1 tmpfile ok-if-already-exists))
+ (tramp-run-real-handler
+ 'rename-file (list localname1 tmpfile ok-if-already-exists)))
;; We must change the ownership as local user.
(tramp-set-file-uid-gid
tmpfile
@@ -3188,7 +3194,9 @@
(tramp-shell-quote-argument tmpfile)
(tramp-shell-quote-argument localname2))))
(t1
- (rename-file tmpfile localname2 ok-if-already-exists)))))))))
+ (tramp-run-real-handler
+ 'rename-file
+ (list tmpfile localname2 ok-if-already-exists))))))))))
;; Set the time and mode. Mask possible errors.
;; Won't be applied for 'rename.
@@ -3198,7 +3206,6 @@
(set-file-modes newname (file-modes filename)))
(error)))))
-
(defun tramp-do-copy-or-rename-file-out-of-band (op filename newname keep-date)
"Invoke rcp program to copy.
One of FILENAME and NEWNAME must be a Tramp name, the other must
@@ -3450,8 +3457,10 @@
switches filename (if wildcard "yes" "no")
(if full-directory-p "yes" "no"))
(when wildcard
- (setq wildcard (file-name-nondirectory localname))
- (setq localname (file-name-directory localname)))
+ (setq wildcard (tramp-run-real-handler
+ 'file-name-nondirectory (list localname)))
+ (setq localname (tramp-run-real-handler
+ 'file-name-directory (list localname))))
(when (listp switches)
(setq switches (mapconcat 'identity switches " ")))
(unless full-directory-p
@@ -3472,19 +3481,24 @@
(tramp-barf-unless-okay
v
(format "cd %s" (tramp-shell-quote-argument
- (file-name-directory localname)))
+ (tramp-run-real-handler
+ 'file-name-directory (list localname))))
"Couldn't `cd %s'"
- (tramp-shell-quote-argument (file-name-directory localname)))
+ (tramp-shell-quote-argument
+ (tramp-run-real-handler 'file-name-directory (list localname))))
(tramp-send-command
v
(format "%s %s %s"
(tramp-get-ls-command v)
switches
(if (or wildcard
- (zerop (length (file-name-nondirectory localname))))
+ (zerop (length
+ (tramp-run-real-handler
+ 'file-name-nondirectory (list localname)))))
""
(tramp-shell-quote-argument
- (file-name-nondirectory localname))))))
+ (tramp-run-real-handler
+ 'file-name-nondirectory (list localname)))))))
;; We cannot use `insert-buffer-substring' because the Tramp buffer
;; changes its contents before insertion due to calling
;; `expand-file' and alike.
@@ -3514,7 +3528,7 @@
(tramp-run-real-handler 'expand-file-name (list name nil))
;; Dissect NAME.
(with-parsed-tramp-file-name name nil
- (unless (file-name-absolute-p localname)
+ (unless (tramp-run-real-handler 'file-name-absolute-p (list localname))
(setq localname (concat "~/" localname)))
;; Tilde expansion if necessary. This needs a shell which
;; groks tilde expansion! The function `tramp-find-shell' is
@@ -3554,8 +3568,8 @@
(tramp-make-tramp-file-name
method user host
(tramp-drop-volume-letter
- (tramp-run-real-handler 'expand-file-name
- (list localname))))))))
+ (tramp-run-real-handler
+ 'expand-file-name (list localname))))))))
(defun tramp-replace-environment-variables (filename)
"Replace environment variables in FILENAME.
@@ -3586,7 +3600,9 @@
(when method (substitute-in-file-name method))
(when user (substitute-in-file-name user))
(when host (substitute-in-file-name host))
- (when localname (substitute-in-file-name localname))))
+ (when localname
+ (tramp-run-real-handler
+ 'substitute-in-file-name (list localname)))))
;; Ignore in LOCALNAME everything before "//" or "/~".
(when (and (stringp localname) (string-match ".+?/\\(/\\|~\\)"
localname))
(setq filename
@@ -3968,9 +3984,12 @@
(list (expand-file-name filename) 0))
(if (and (tramp-local-host-p v)
- (file-readable-p localname))
+ (let (file-name-handler-alist) (file-readable-p localname)))
;; Short track: if we are on the local host, we can run directly.
- (setq result (insert-file-contents localname visit beg end replace))
+ (setq result
+ (tramp-run-real-handler
+ 'insert-file-contents
+ (list localname visit beg end replace)))
;; `insert-file-contents-literally' takes care to avoid calling
;; jka-compr. By let-binding inhibit-file-name-operation, we
@@ -4146,11 +4165,16 @@
(tramp-get-remote-gid v 'integer))))
(if (and (tramp-local-host-p v)
+ ;; `file-writable-p' calls 'file-expand-file-name'. We
+ ;; cannot use `tramp-run-real-handler' therefore.
+ (let (file-name-handler-alist)
(file-writable-p (file-name-directory localname))
(or (file-directory-p localname)
- (file-writable-p localname)))
+ (file-writable-p localname))))
;; Short track: if we are on the local host, we can run directly.
- (write-region start end localname append 'no-message lockname confirm)
+ (tramp-run-real-handler
+ 'write-region
+ (list start end localname append 'no-message lockname confirm))
(let ((rem-dec (tramp-get-remote-coding v "remote-decoding"))
(loc-enc (tramp-get-local-coding v "local-encoding"))
@@ -6644,7 +6668,6 @@
(t (concat (tramp-decimal-to-octal (/ i 8))
(number-to-string (% i 8))))))
-
;; Kudos to Gerd Moellmann for this suggestion.
(defun tramp-octal-to-decimal (ostr)
"Given a string of octal digits, return a decimal number."
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/02
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Glenn Morris, 2008/04/02
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Stefan Monnier, 2008/04/04
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/07
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/09
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/24
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/27
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v,
Michael Albinus <=
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/28