From 1b69262a7d0bbe6edf7c8c524c9cb11d4ea05177 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 29 Jan 2013 09:12:11 +0100 Subject: [PATCH] * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. * net/tramp-sh.el (tramp-sh-handle-start-file-process): Catch `suppress'. Otherwise, `tramp-run-real-handler' might be called in `tramp-file-name-handler'. --- lisp/ChangeLog | 8 +++++ lisp/net/ange-ftp.el | 1 + lisp/net/tramp-sh.el | 71 +++++++++++++++++++++++--------------------- 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 01fb7223226..9a449498a5d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2013-01-29 Michael Albinus + + * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message. + + * net/tramp-sh.el (tramp-sh-handle-start-file-process): Catch + `suppress'. Otherwise, `tramp-run-real-handler' might be called + in `tramp-file-name-handler'. + 2013-01-28 Stefan Monnier * hi-lock.el (hi-lock-unface-buffer): Don't assume `face' is a symbol diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index bf6afae45da..4f7d8092891 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -720,6 +720,7 @@ parenthesized expressions in REGEXP for the components (in that order)." "^Data connection \\|" "^local:\\|^Trying\\|^125 \\|^550-\\|^221 .*oodbye\\|" "^500 .*AUTH\\|^KERBEROS\\|" + "^500 This security scheme is not implemented\\|" "^504 Unknown security mechanism\\|" "^530 Please login with USER and PASS\\|" ; non kerberized vsFTPd "^534 Kerberos Authentication not enabled\\|" diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 21c747967af..bb4224540f8 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -2824,40 +2824,43 @@ the result will be a local, non-Tramp, filename." (with-current-buffer (tramp-get-connection-buffer v) (unwind-protect - (save-excursion - (save-restriction - ;; Activate narrowing in order to save BUFFER - ;; contents. Clear also the modification time; - ;; otherwise we might be interrupted by - ;; `verify-visited-file-modtime'. - (let ((buffer-undo-list t) - (buffer-read-only nil) - (mark (point))) - (clear-visited-file-modtime) - (narrow-to-region (point-max) (point-max)) - ;; We call `tramp-maybe-open-connection', in order - ;; to cleanup the prompt afterwards. - (tramp-maybe-open-connection v) - (widen) - (delete-region mark (point)) - (narrow-to-region (point-max) (point-max)) - ;; Now do it. - (if command - ;; Send the command. - (tramp-send-command v command nil t) ; nooutput - ;; Check, whether a pty is associated. - (unless (tramp-compat-process-get - (tramp-get-connection-process v) 'remote-tty) - (tramp-error - v 'file-error - "pty association is not supported for `%s'" name)))) - (let ((p (tramp-get-connection-process v))) - ;; Set query flag for this process. We ignore errors, - ;; because the process could have finished already. - (ignore-errors - (tramp-compat-set-process-query-on-exit-flag p t)) - ;; Return process. - p))) + ;; We catch this event. Otherwise, `start-process' could + ;; be called on the local host. + (catch 'suppress + (save-excursion + (save-restriction + ;; Activate narrowing in order to save BUFFER + ;; contents. Clear also the modification time; + ;; otherwise we might be interrupted by + ;; `verify-visited-file-modtime'. + (let ((buffer-undo-list t) + (buffer-read-only nil) + (mark (point))) + (clear-visited-file-modtime) + (narrow-to-region (point-max) (point-max)) + ;; We call `tramp-maybe-open-connection', in order + ;; to cleanup the prompt afterwards. + (tramp-maybe-open-connection v) + (widen) + (delete-region mark (point)) + (narrow-to-region (point-max) (point-max)) + ;; Now do it. + (if command + ;; Send the command. + (tramp-send-command v command nil t) ; nooutput + ;; Check, whether a pty is associated. + (unless (tramp-compat-process-get + (tramp-get-connection-process v) 'remote-tty) + (tramp-error + v 'file-error + "pty association is not supported for `%s'" name)))) + (let ((p (tramp-get-connection-process v))) + ;; Set query flag for this process. We ignore errors, + ;; because the process could have finished already. + (ignore-errors + (tramp-compat-set-process-query-on-exit-flag p t)) + ;; Return process. + p)))) ;; Save exit. (if (string-match tramp-temp-buffer-name (buffer-name)) -- 2.39.2