emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r100921: * net/tramp.el (tramp-method


From: Michael Albinus
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100921: * net/tramp.el (tramp-methods): Move hostname to the end in all
Date: Wed, 28 Jul 2010 12:02:18 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100921
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Wed 2010-07-28 12:02:18 +0200
message:
  * net/tramp.el (tramp-methods): Move hostname to the end in all
  ssh `tramp-login-args'.
  (tramp-verbose): Describe verbose level 9.
  (tramp-open-shell): Check for tty if `tramp-verbose' >= 9.
  (tramp-open-connection-setup-interactive-shell): Trace stty
  settings if `tramp-verbose' >= 9.
  (tramp-handle-start-file-process): Implement tty setting.
  (Bug#4604, Bug#6360)
  
  * net/tramp-cmds.el (tramp-bug): Recommend setting of
  `tramp-verbose' to 9.
modified:
  lisp/ChangeLog
  lisp/net/tramp-cmds.el
  lisp/net/tramp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-07-27 23:38:46 +0000
+++ b/lisp/ChangeLog    2010-07-28 10:02:18 +0000
@@ -1,3 +1,17 @@
+2010-07-28  Michael Albinus  <address@hidden>
+
+       * net/tramp.el (tramp-methods): Move hostname to the end in all
+       ssh `tramp-login-args'.
+       (tramp-verbose): Describe verbose level 9.
+       (tramp-open-shell): Check for tty if `tramp-verbose' >= 9.
+       (tramp-open-connection-setup-interactive-shell): Trace stty
+       settings if `tramp-verbose' >= 9.
+       (tramp-handle-start-file-process): Implement tty setting.
+       (Bug#4604, Bug#6360)
+
+       * net/tramp-cmds.el (tramp-bug): Recommend setting of
+       `tramp-verbose' to 9.
+
 2010-07-27  Aaron S. Hawley  <address@hidden>
 
        * emacs-lisp/re-builder.el (reb-re-syntax, reb-lisp-mode)

=== modified file 'lisp/net/tramp-cmds.el'
--- a/lisp/net/tramp-cmds.el    2010-05-09 19:57:55 +0000
+++ b/lisp/net/tramp-cmds.el    2010-07-28 10:02:18 +0000
@@ -225,7 +225,7 @@
 This allows to investigate from a clean environment.  Another
 useful thing to do is to put
 
-  (setq tramp-verbose 8)
+  (setq tramp-verbose 9)
 
 in the ~/.emacs file and to repeat the bug.  Then, include the
 contents of the *tramp/foo* buffer and the *debug tramp/foo*

=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2010-07-23 13:58:52 +0000
+++ b/lisp/net/tramp.el 2010-07-28 10:02:18 +0000
@@ -200,6 +200,7 @@
  6  sent and received strings
  7  file caching
  8  connection properties
+ 9  test commands
 10  traces (huge)."
   :group 'tramp
   :type 'integer)
@@ -332,8 +333,8 @@
             (tramp-copy-recursive       t)
             (tramp-password-end-of-line nil))
     ("scp"   (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "scp")
@@ -348,8 +349,8 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("scp1"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-1" "-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-1") ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "scp")
@@ -364,8 +365,8 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("scp2"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-2" "-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-2") ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "scp")
@@ -400,8 +401,8 @@
             (tramp-copy-recursive       t)
             (tramp-password-end-of-line nil))
     ("sftp"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "sftp")
@@ -409,8 +410,8 @@
             (tramp-copy-keep-date       nil)
             (tramp-password-end-of-line nil))
     ("rsync" (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "rsync")
@@ -421,10 +422,10 @@
             (tramp-password-end-of-line nil))
     ("rsyncc"
              (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
                                          ("-o" "address@hidden:%%p")
                                          ("-o" "ControlMaster=yes")
-                                         ("-e" "none")))
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "rsync")
@@ -453,8 +454,8 @@
             (tramp-copy-keep-date       nil)
             (tramp-password-end-of-line nil))
     ("ssh"   (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         nil)
@@ -467,8 +468,8 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("ssh1"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-1" "-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-1") ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         nil)
@@ -481,8 +482,8 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("ssh2"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-2" "-e" "none")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-2") ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         nil)
@@ -545,10 +546,10 @@
             (tramp-copy-keep-date       nil)
             (tramp-password-end-of-line nil))
     ("scpc"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
                                          ("-o" "address@hidden:%%p")
                                          ("-o" "ControlMaster=yes")
-                                         ("-e" "none")))
+                                         ("-e" "none") ("%h")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "scp")
@@ -563,8 +564,9 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("scpx"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none" "-t" "-t" "/bin/sh")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("-t" "-t")
+                                         ("%h") ("/bin/sh")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         "scp")
@@ -577,8 +579,9 @@
                                          ("-o" "StrictHostKeyChecking=no")))
             (tramp-default-port         22))
     ("sshx"  (tramp-login-program        "ssh")
-             (tramp-login-args           (("%h") ("-l" "%u") ("-p" "%p")
-                                         ("-e" "none" "-t" "-t" "/bin/sh")))
+             (tramp-login-args           (("-l" "%u") ("-p" "%p")
+                                         ("-e" "none") ("-t" "-t")
+                                         ("%h") ("/bin/sh")))
             (tramp-async-args           (("-q")))
             (tramp-remote-sh            "/bin/sh")
             (tramp-copy-program         nil)
@@ -4506,14 +4509,16 @@
 (defun tramp-handle-start-file-process (name buffer program &rest args)
   "Like `start-file-process' for Tramp files."
   (with-parsed-tramp-file-name default-directory nil
-    (unless (stringp program)
-      (tramp-error
-       v 'file-error "pty association is not supported for `%s'" name))
     (unwind-protect
-       (let ((command (format "cd %s; exec %s"
-                              (tramp-shell-quote-argument localname)
-                              (mapconcat 'tramp-shell-quote-argument
-                                         (cons program args) " ")))
+       ;; When PROGRAM is nil, we just provide a tty.
+       (let ((command
+              (when (stringp program)
+                (format "cd %s; exec %s"
+                        (tramp-shell-quote-argument localname)
+                        (mapconcat 'tramp-shell-quote-argument
+                                   (cons program args) " "))))
+             (tramp-process-connection-type
+              (or (null program) tramp-process-connection-type))
              (name1 name)
              (i 0))
          (unless buffer
@@ -4533,9 +4538,16 @@
          (with-current-buffer (tramp-get-connection-buffer v)
            (clear-visited-file-modtime)
            (narrow-to-region (point-max) (point-max)))
-         ;; Send the command.  `tramp-send-command' opens a new
-         ;; connection.
-         (tramp-send-command v command nil t) ; nooutput
+         (if (stringp program)
+             ;; Send the command.  `tramp-send-command' opens a new
+             ;; connection.
+             (tramp-send-command v command nil t) ; nooutput
+           ;; Check, whether a pty is associated, and set it as
+           ;; process property.
+           (condition-case nil
+               (tramp-send-command-and-read v "echo \\\"`tty`\\\"")
+             (tramp-error
+              v 'file-error "pty association is not supported for `%s'" name)))
          ;; Set query flag for this process.
          (tramp-set-process-query-on-exit-flag
           (tramp-get-connection-process v) t)
@@ -6619,7 +6631,10 @@
      vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t)
     (tramp-send-command vec "PS2=''" t)
     (tramp-send-command vec "PS3=''" t)
-    (tramp-send-command vec "PROMPT_COMMAND=''" t)))
+    (tramp-send-command vec "PROMPT_COMMAND=''" t)
+    ;; Dump tty in the traces.
+    (when (>= tramp-verbose 9)
+      (tramp-send-command vec "tty" t))))
 
 (defun tramp-find-shell (vec)
   "Opens a shell on the remote host which groks tilde expansion."
@@ -6984,7 +6999,7 @@
        ;; stty, instead.
        (tramp-send-command vec "stty -onlcr" t))))
   ;; Dump stty settings in the traces.
-  (when (>= tramp-verbose 10)
+  (when (>= tramp-verbose 9)
     (tramp-send-command vec "stty -a" t))
   (tramp-send-command vec "set +o vi +o emacs" t)
 
@@ -8950,7 +8965,6 @@
 ;;   rsync).
 ;; * Keep a second connection open for out-of-band methods like scp or
 ;;   rsync.
-;; * Support ptys in `tramp-handle-start-file-process'.  (Bug#4604, Bug#6360)
 ;; * IMHO, it's a drawback that currently Tramp doesn't support
 ;;   Unicode in Dired file names by default.  Is it possible to
 ;;   improve Tramp to set LC_ALL to "C" only for commands where Tramp


reply via email to

[Prev in Thread] Current Thread [Next in Thread]