[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el |
Date: |
Tue, 30 Aug 2005 18:41:09 -0400 |
Index: emacs/lisp/net/tramp.el
diff -c emacs/lisp/net/tramp.el:1.72 emacs/lisp/net/tramp.el:1.73
*** emacs/lisp/net/tramp.el:1.72 Sun Aug 7 15:42:42 2005
--- emacs/lisp/net/tramp.el Tue Aug 30 22:41:02 2005
***************
*** 1856,1861 ****
--- 1856,1862 ----
(insert-file-contents . tramp-handle-insert-file-contents)
(write-region . tramp-handle-write-region)
(find-backup-file-name . tramp-handle-find-backup-file-name)
+ (make-auto-save-file-name . tramp-handle-make-auto-save-file-name)
(unhandled-file-name-directory .
tramp-handle-unhandled-file-name-directory)
(dired-compress-file . tramp-handle-dired-compress-file)
(dired-call-process . tramp-handle-dired-call-process)
***************
*** 1863,1869 ****
. tramp-handle-dired-recursive-delete-directory)
(set-visited-file-modtime . tramp-handle-set-visited-file-modtime)
(verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime))
! "Alist of handler functions.
Operations not mentioned here will be handled by the normal Emacs functions.")
;; Handlers for partial tramp file names. For GNU Emacs just
--- 1864,1870 ----
. tramp-handle-dired-recursive-delete-directory)
(set-visited-file-modtime . tramp-handle-set-visited-file-modtime)
(verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime))
! "Alist of handler functions.
Operations not mentioned here will be handled by the normal Emacs functions.")
;; Handlers for partial tramp file names. For GNU Emacs just
***************
*** 3807,3812 ****
--- 3808,3841 ----
(tramp-run-real-handler 'find-backup-file-name (list filename)))))
+ (defun tramp-handle-make-auto-save-file-name ()
+ "Like `make-auto-save-file-name' for tramp files.
+ Returns a file name in `tramp-auto-save-directory' for autosaving this file."
+ (when tramp-auto-save-directory
+ (unless (file-exists-p tramp-auto-save-directory)
+ (make-directory tramp-auto-save-directory t)))
+ ;; jka-compr doesn't like auto-saving, so by appending "~" to the
+ ;; file name we make sure that jka-compr isn't used for the
+ ;; auto-save file.
+ (let ((buffer-file-name
+ (if tramp-auto-save-directory
+ (expand-file-name
+ (tramp-subst-strs-in-string
+ '(("_" . "|")
+ ("/" . "_a")
+ (":" . "_b")
+ ("|" . "__")
+ ("[" . "_l")
+ ("]" . "_r"))
+ (buffer-file-name))
+ tramp-auto-save-directory)
+ (buffer-file-name)))
+ ;; We set it to nil because `make-auto-save-file-name' shouldn't
+ ;; recurse infinitely.
+ tramp-auto-save-directory)
+ (tramp-run-real-handler
+ 'make-auto-save-file-name)))
+
;; CCC grok APPEND, LOCKNAME, CONFIRM
(defun tramp-handle-write-region
***************
*** 4086,4093 ****
(nth 2 args))
; BUF
((member operation
! (list 'set-visited-file-modtime 'verify-visited-file-modtime
! ; XEmacs only
'backup-buffer))
(buffer-file-name
(if (bufferp (nth 0 args)) (nth 0 args) (current-buffer))))
--- 4115,4123 ----
(nth 2 args))
; BUF
((member operation
! (list 'make-auto-save-file-name
! 'set-visited-file-modtime 'verify-visited-file-modtime
! ; XEmacs only
'backup-buffer))
(buffer-file-name
(if (bufferp (nth 0 args)) (nth 0 args) (current-buffer))))
***************
*** 6905,6937 ****
;; Auto saving to a special directory.
! (defun tramp-make-auto-save-file-name (fn)
! "Returns a file name in `tramp-auto-save-directory' for autosaving this
file."
! (when tramp-auto-save-directory
! (unless (file-exists-p tramp-auto-save-directory)
! (make-directory tramp-auto-save-directory t)))
! ;; jka-compr doesn't like auto-saving, so by appending "~" to the
! ;; file name we make sure that jka-compr isn't used for the
! ;; auto-save file.
! (let ((buffer-file-name (expand-file-name
! (tramp-subst-strs-in-string '(("_" . "|")
! ("/" . "_a")
! (":" . "_b")
! ("|" . "__")
! ("[" . "_l")
! ("]" . "_r"))
! fn)
! tramp-auto-save-directory)))
! (make-auto-save-file-name)))
!
! (defadvice make-auto-save-file-name
! (around tramp-advice-make-auto-save-file-name () activate)
! "Invoke `tramp-make-auto-save-file-name' for tramp files."
! (if (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name))
! tramp-auto-save-directory)
! (setq ad-return-value
! (tramp-make-auto-save-file-name (buffer-file-name)))
! ad-do-it))
;; In Emacs < 22 and XEmacs < 21.5 autosaved remote files have
;; permission 0666 minus umask. This is a security threat.
--- 6935,6951 ----
;; Auto saving to a special directory.
! (defun tramp-exists-file-name-handler (operation)
! (let ((file-name-handler-alist (list (cons "/" 'identity))))
! (eq (find-file-name-handler "/" operation) 'identity)))
!
! (unless (tramp-exists-file-name-handler 'make-auto-save-file-name)
! (defadvice make-auto-save-file-name
! (around tramp-advice-make-auto-save-file-name () activate)
! "Invoke `tramp-handle-make-auto-save-file-name' for tramp files."
! (if (and (buffer-file-name) (tramp-tramp-file-p (buffer-file-name)))
! (setq ad-return-value (tramp-make-auto-save-file-name))
! ad-do-it)))
;; In Emacs < 22 and XEmacs < 21.5 autosaved remote files have
;; permission 0666 minus umask. This is a security threat.