diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2007-09-21 05:24:06 +0000 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2007-09-21 05:24:06 +0000 |
commit | d037d5016819bf00d84fafdfd228729949ba645f (patch) | |
tree | b3c5f9bb13db1dd5f1e59db5cfca4b380e88a2a1 /lisp/net | |
parent | a1bd37ee66f78db6b882863c4b0bd88c43ca3a9a (diff) | |
download | emacs-d037d5016819bf00d84fafdfd228729949ba645f.tar.gz |
* rfn-eshadow.el (rfn-eshadow-setup-minibuffer-hook)
(rfn-eshadow-update-overlay-hook): New defvars.
(rfn-eshadow-setup-minibuffer, rfn-eshadow-update-overlay): Run
the hooks.
* net/tramp.el (tramp-rfn-eshadow-overlay): New defvar.
(tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay): New defuns. Hook into
rfn-eshadow.el.
* net/tramp-smb.el (tramp-smb-errors): Add error message for call
timeout.
Diffstat (limited to 'lisp/net')
-rw-r--r-- | lisp/net/tramp-smb.el | 1 | ||||
-rw-r--r-- | lisp/net/tramp.el | 45 |
2 files changed, 45 insertions, 1 deletions
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 5dbf12955d7..c7ea3a12163 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -79,6 +79,7 @@ '(;; Connection error / timeout "Connection to \\S-+ failed" "Read from server failed, maybe it closed the connection" + "Call timed out: server did not respond" ;; Samba "ERRDOS" "ERRSRV" diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index bcab2b9cf52..a102a9f19c0 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2087,6 +2087,49 @@ For definition of that list see `tramp-set-completion-function'." ;; The method related defaults. (cdr (assoc method tramp-completion-function-alist)))) + +;;; Fontification of `read-file-name'. + +;; rfn-eshadow.el is part of Emacs 22. Its is autoloaded. +(defvar tramp-rfn-eshadow-overlay) +(make-variable-buffer-local 'tramp-rfn-eshadow-overlay) + +(defun tramp-rfn-eshadow-setup-minibuffer () + "Set up a minibuffer for `file-name-shadow-mode'. +Adds another overlay hiding filename parts according to Tramp's +special handling of `substitute-in-file-name'." + (when minibuffer-completing-file-name + (setq tramp-rfn-eshadow-overlay + (make-overlay (minibuffer-prompt-end) (minibuffer-prompt-end))) + ;; Copy rfn-eshadow-overlay properties. + (let ((props (overlay-properties rfn-eshadow-overlay))) + (while props + (overlay-put tramp-rfn-eshadow-overlay (pop props) (pop props)))))) + +(when (boundp 'rfn-eshadow-setup-minibuffer-hook) + (add-hook 'rfn-eshadow-setup-minibuffer-hook + 'tramp-rfn-eshadow-setup-minibuffer)) + +(defun tramp-rfn-eshadow-update-overlay () + "Update `rfn-eshadow-overlay' to cover shadowed part of minibuffer input. +This is intended to be used as a minibuffer `post-command-hook' for +`file-name-shadow-mode'; the minibuffer should have already +been set up by `rfn-eshadow-setup-minibuffer'." + ;; In remote files name, there is a shadowing just for the local part. + (let ((end (or (overlay-end rfn-eshadow-overlay) (minibuffer-prompt-end)))) + (when (file-remote-p (buffer-substring-no-properties end (point-max))) + (narrow-to-region + (1+ (or (string-match "/" (buffer-string) end) end)) (point-max)) + (let ((rfn-eshadow-overlay tramp-rfn-eshadow-overlay) + (rfn-eshadow-update-overlay-hook nil)) + (rfn-eshadow-update-overlay)) + (widen)))) + +(when (boundp 'rfn-eshadow-update-overlay-hook) + (add-hook 'rfn-eshadow-update-overlay-hook + 'tramp-rfn-eshadow-update-overlay)) + + ;;; File Name Handler Functions: (defun tramp-handle-make-symbolic-link @@ -7467,7 +7510,7 @@ please ensure that the buffers are attached to your email.\n\n") ;; indefinitely blocking piece of code. In this case it would be ;; within Tramp around one of its calls to accept-process-output (or ;; around one of the loops that calls accept-process-output) -;; (Stefann Monnier). +;; (Stefan Monnier). ;; * Autodetect if remote `ls' groks the "--dired" switch. ;; * Add fallback for inline encodings. This should be used ;; if the remote end doesn't support mimencode or a similar program. |