From af4b9ae58662d50080a7661631ce6861dc6b6aa9 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 20 Jul 2010 21:15:01 +0200 Subject: [PATCH] * net/tramp.el (tramp-file-name-handler): Trace 'quit. (tramp-open-connection-setup-interactive-shell): Apply workaround for IRIX64 bug. Move argument of last `tramp-send-command' where it belongs to. --- lisp/ChangeLog | 7 +++++++ lisp/net/tramp.el | 28 +++++++++++++++++++++++----- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6c4294361ef..d22e244620a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2010-07-20 Michael Albinus + + * net/tramp.el (tramp-file-name-handler): Trace 'quit. + (tramp-open-connection-setup-interactive-shell): Apply + workaround for IRIX64 bug. Move argument of last + `tramp-send-command' where it belongs to. + 2010-07-20 Michael Albinus * net/tramp.el (tramp-perl-file-attributes) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index e6c59ee448c..a32daf278f7 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -5565,12 +5565,23 @@ Falls back to normal file name handler if no Tramp file name handler exists." (if foreign (condition-case err (apply foreign operation args) + + ;; Trace that somebody has interrupted the + ;; operation. + (quit + (let (tramp-message-show-message) + (tramp-message + v 1 "Interrupt received in operation %s" + (append (list operation) args))) + ;; Propagate the quit signal. + (signal (car err) (cdr err))) + + ;; When we are in completion mode, some failed + ;; operations shall return at least a default value + ;; in order to give the user a chance to correct the + ;; file name in the minibuffer. (error (cond - ;; When we are in completion mode, some failed - ;; operations shall return at least a default - ;; value in order to give the user a chance to - ;; correct the file name in the minibuffer. ((and completion (zerop (length localname)) (memq operation '(file-exists-p file-directory-p))) t) @@ -5580,6 +5591,7 @@ Falls back to normal file name handler if no Tramp file name handler exists." filename) ;; Propagate the error. (t (signal (car err) (cdr err)))))) + ;; Nothing to do for us. (tramp-run-real-handler operation args))))) @@ -7033,6 +7045,12 @@ process to set up. VEC specifies the connection." ;; Disable unexpected output. (tramp-send-command vec "mesg n; biff n" t) + ;; IRIX64 bash expands "!" even when in single quotes. This + ;; destroys our shell functions, we must disable it. See + ;; . + (when (string-match "^IRIX64" (tramp-get-connection-property vec "uname" "")) + (tramp-send-command vec "set +H" t)) + ;; Set the environment. (tramp-message vec 5 "Setting default environment") @@ -7048,7 +7066,7 @@ process to set up. VEC specifies the connection." (setq env (cdr env))) (when unset (tramp-send-command - vec (format "unset %s" (mapconcat 'identity unset " "))))) t) + vec (format "unset %s" (mapconcat 'identity unset " ")) t)))) ;; CCC: We should either implement a Perl version of base64 encoding ;; and decoding. Then we just use that in the last item. The other -- 2.39.2