aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2010-05-19 20:56:18 +0200
committerMichael Albinus2010-05-19 20:56:18 +0200
commita7723e050fc719e94af39790067cf47c5d0dceec (patch)
tree553c95cf3e518783b5864c981baabd2429870075
parent3f2e77354eac82e0578242340825de48b631add5 (diff)
downloademacs-a7723e050fc719e94af39790067cf47c5d0dceec.tar.gz
emacs-a7723e050fc719e94af39790067cf47c5d0dceec.zip
* net/tramp.el (tramp-methods): Add `tramp-async-args' attribute
where appropriate. (tramp-maybe-open-connection): Use it.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/tramp.el28
2 files changed, 32 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9658ccb6f15..c6c0339e150 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12010-05-19 Michael Albinus <michael.albinus@gmx.de>
2
3 * net/tramp.el (tramp-methods): Add `tramp-async-args' attribute
4 where appropriate.
5 (tramp-maybe-open-connection): Use it.
6
12010-05-19 Eli Zaretskii <eliz@gnu.org> 72010-05-19 Eli Zaretskii <eliz@gnu.org>
2 8
3 * simple.el (move-end-of-line): Make sure we are at line beginning 9 * simple.el (move-end-of-line): Make sure we are at line beginning
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index c5addae8e5d..9d4fa8b737d 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -334,6 +334,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
334 ("scp" (tramp-login-program "ssh") 334 ("scp" (tramp-login-program "ssh")
335 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 335 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
336 ("-e" "none"))) 336 ("-e" "none")))
337 (tramp-async-args (("-q")))
337 (tramp-remote-sh "/bin/sh") 338 (tramp-remote-sh "/bin/sh")
338 (tramp-copy-program "scp") 339 (tramp-copy-program "scp")
339 (tramp-copy-args (("-P" "%p") ("-p" "%k") 340 (tramp-copy-args (("-P" "%p") ("-p" "%k")
@@ -349,6 +350,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
349 ("scp1" (tramp-login-program "ssh") 350 ("scp1" (tramp-login-program "ssh")
350 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 351 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
351 ("-1" "-e" "none"))) 352 ("-1" "-e" "none")))
353 (tramp-async-args (("-q")))
352 (tramp-remote-sh "/bin/sh") 354 (tramp-remote-sh "/bin/sh")
353 (tramp-copy-program "scp") 355 (tramp-copy-program "scp")
354 (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k") 356 (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k")
@@ -364,6 +366,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
364 ("scp2" (tramp-login-program "ssh") 366 ("scp2" (tramp-login-program "ssh")
365 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 367 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
366 ("-2" "-e" "none"))) 368 ("-2" "-e" "none")))
369 (tramp-async-args (("-q")))
367 (tramp-remote-sh "/bin/sh") 370 (tramp-remote-sh "/bin/sh")
368 (tramp-copy-program "scp") 371 (tramp-copy-program "scp")
369 (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k") 372 (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k")
@@ -399,6 +402,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
399 ("sftp" (tramp-login-program "ssh") 402 ("sftp" (tramp-login-program "ssh")
400 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 403 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
401 ("-e" "none"))) 404 ("-e" "none")))
405 (tramp-async-args (("-q")))
402 (tramp-remote-sh "/bin/sh") 406 (tramp-remote-sh "/bin/sh")
403 (tramp-copy-program "sftp") 407 (tramp-copy-program "sftp")
404 (tramp-copy-args nil) 408 (tramp-copy-args nil)
@@ -407,6 +411,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
407 ("rsync" (tramp-login-program "ssh") 411 ("rsync" (tramp-login-program "ssh")
408 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 412 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
409 ("-e" "none"))) 413 ("-e" "none")))
414 (tramp-async-args (("-q")))
410 (tramp-remote-sh "/bin/sh") 415 (tramp-remote-sh "/bin/sh")
411 (tramp-copy-program "rsync") 416 (tramp-copy-program "rsync")
412 (tramp-copy-args (("-e" "ssh") ("-t" "%k") ("-r"))) 417 (tramp-copy-args (("-e" "ssh") ("-t" "%k") ("-r")))
@@ -420,6 +425,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
420 ("-o" "ControlPath=%t.%%r@%%h:%%p") 425 ("-o" "ControlPath=%t.%%r@%%h:%%p")
421 ("-o" "ControlMaster=yes") 426 ("-o" "ControlMaster=yes")
422 ("-e" "none"))) 427 ("-e" "none")))
428 (tramp-async-args (("-q")))
423 (tramp-remote-sh "/bin/sh") 429 (tramp-remote-sh "/bin/sh")
424 (tramp-copy-program "rsync") 430 (tramp-copy-program "rsync")
425 (tramp-copy-args (("-t" "%k") ("-r"))) 431 (tramp-copy-args (("-t" "%k") ("-r")))
@@ -449,6 +455,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
449 ("ssh" (tramp-login-program "ssh") 455 ("ssh" (tramp-login-program "ssh")
450 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 456 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
451 ("-e" "none"))) 457 ("-e" "none")))
458 (tramp-async-args (("-q")))
452 (tramp-remote-sh "/bin/sh") 459 (tramp-remote-sh "/bin/sh")
453 (tramp-copy-program nil) 460 (tramp-copy-program nil)
454 (tramp-copy-args nil) 461 (tramp-copy-args nil)
@@ -462,6 +469,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
462 ("ssh1" (tramp-login-program "ssh") 469 ("ssh1" (tramp-login-program "ssh")
463 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 470 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
464 ("-1" "-e" "none"))) 471 ("-1" "-e" "none")))
472 (tramp-async-args (("-q")))
465 (tramp-remote-sh "/bin/sh") 473 (tramp-remote-sh "/bin/sh")
466 (tramp-copy-program nil) 474 (tramp-copy-program nil)
467 (tramp-copy-args nil) 475 (tramp-copy-args nil)
@@ -475,6 +483,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
475 ("ssh2" (tramp-login-program "ssh") 483 ("ssh2" (tramp-login-program "ssh")
476 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 484 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
477 ("-2" "-e" "none"))) 485 ("-2" "-e" "none")))
486 (tramp-async-args (("-q")))
478 (tramp-remote-sh "/bin/sh") 487 (tramp-remote-sh "/bin/sh")
479 (tramp-copy-program nil) 488 (tramp-copy-program nil)
480 (tramp-copy-args nil) 489 (tramp-copy-args nil)
@@ -489,6 +498,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
489 (tramp-login-program "ssh1") 498 (tramp-login-program "ssh1")
490 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 499 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
491 ("-e" "none"))) 500 ("-e" "none")))
501 (tramp-async-args (("-q")))
492 (tramp-remote-sh "/bin/sh") 502 (tramp-remote-sh "/bin/sh")
493 (tramp-copy-program nil) 503 (tramp-copy-program nil)
494 (tramp-copy-args nil) 504 (tramp-copy-args nil)
@@ -539,6 +549,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
539 ("-o" "ControlPath=%t.%%r@%%h:%%p") 549 ("-o" "ControlPath=%t.%%r@%%h:%%p")
540 ("-o" "ControlMaster=yes") 550 ("-o" "ControlMaster=yes")
541 ("-e" "none"))) 551 ("-e" "none")))
552 (tramp-async-args (("-q")))
542 (tramp-remote-sh "/bin/sh") 553 (tramp-remote-sh "/bin/sh")
543 (tramp-copy-program "scp") 554 (tramp-copy-program "scp")
544 (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") 555 (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q")
@@ -554,6 +565,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
554 ("scpx" (tramp-login-program "ssh") 565 ("scpx" (tramp-login-program "ssh")
555 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 566 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
556 ("-e" "none" "-t" "-t" "/bin/sh"))) 567 ("-e" "none" "-t" "-t" "/bin/sh")))
568 (tramp-async-args (("-q")))
557 (tramp-remote-sh "/bin/sh") 569 (tramp-remote-sh "/bin/sh")
558 (tramp-copy-program "scp") 570 (tramp-copy-program "scp")
559 (tramp-copy-args (("-p" "%k"))) 571 (tramp-copy-args (("-p" "%k")))
@@ -567,6 +579,7 @@ detected as prompt when being sent on echoing hosts, therefore.")
567 ("sshx" (tramp-login-program "ssh") 579 ("sshx" (tramp-login-program "ssh")
568 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") 580 (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p")
569 ("-e" "none" "-t" "-t" "/bin/sh"))) 581 ("-e" "none" "-t" "-t" "/bin/sh")))
582 (tramp-async-args (("-q")))
570 (tramp-remote-sh "/bin/sh") 583 (tramp-remote-sh "/bin/sh")
571 (tramp-copy-program nil) 584 (tramp-copy-program nil)
572 (tramp-copy-args nil) 585 (tramp-copy-args nil)
@@ -672,6 +685,11 @@ pair of the form (KEY VALUE). The following KEYs are defined:
672 \"%t\" is replaced by the temporary file name produced with 685 \"%t\" is replaced by the temporary file name produced with
673 `tramp-make-tramp-temp-file'. \"%k\" indicates the keep-date 686 `tramp-make-tramp-temp-file'. \"%k\" indicates the keep-date
674 parameter of a program, if exists. 687 parameter of a program, if exists.
688 * `tramp-async-args'
689 When an asynchronous process is started, we know already that
690 the connection works. Therefore, we can pass additional
691 parameters to suppress diagnostic messages, in order not to
692 tamper the process output.
675 * `tramp-copy-program' 693 * `tramp-copy-program'
676 This specifies the name of the program to use for remotely copying 694 This specifies the name of the program to use for remotely copying
677 the file; this might be the absolute filename of rcp or the name of 695 the file; this might be the absolute filename of rcp or the name of
@@ -7380,6 +7398,7 @@ Does not do anything if a connection is already open, but re-opens the
7380connection if a previous connection has died for some reason." 7398connection if a previous connection has died for some reason."
7381 (catch 'uname-changed 7399 (catch 'uname-changed
7382 (let ((p (tramp-get-connection-process vec)) 7400 (let ((p (tramp-get-connection-process vec))
7401 (process-name (tramp-get-connection-property vec "process-name" nil))
7383 (process-environment (copy-sequence process-environment))) 7402 (process-environment (copy-sequence process-environment)))
7384 7403
7385 ;; If too much time has passed since last command was sent, look 7404 ;; If too much time has passed since last command was sent, look
@@ -7439,8 +7458,7 @@ connection if a previous connection has died for some reason."
7439 (p (let ((default-directory 7458 (p (let ((default-directory
7440 (tramp-compat-temporary-file-directory))) 7459 (tramp-compat-temporary-file-directory)))
7441 (start-process 7460 (start-process
7442 (or (tramp-get-connection-property vec "process-name" nil) 7461 (or process-name (tramp-buffer-name vec))
7443 (tramp-buffer-name vec))
7444 (tramp-get-connection-buffer vec) 7462 (tramp-get-connection-buffer vec)
7445 tramp-encoding-shell)))) 7463 tramp-encoding-shell))))
7446 7464
@@ -7464,6 +7482,8 @@ connection if a previous connection has died for some reason."
7464 (tramp-get-method-parameter l-method 'tramp-login-program)) 7482 (tramp-get-method-parameter l-method 'tramp-login-program))
7465 (login-args 7483 (login-args
7466 (tramp-get-method-parameter l-method 'tramp-login-args)) 7484 (tramp-get-method-parameter l-method 'tramp-login-args))
7485 (async-args
7486 (tramp-get-method-parameter l-method 'tramp-async-args))
7467 (gw-args 7487 (gw-args
7468 (tramp-get-method-parameter l-method 'tramp-gw-args)) 7488 (tramp-get-method-parameter l-method 'tramp-gw-args))
7469 (gw (tramp-get-file-property hop "" "gateway" nil)) 7489 (gw (tramp-get-file-property hop "" "gateway" nil))
@@ -7485,6 +7505,10 @@ connection if a previous connection has died for some reason."
7485 (tramp-compat-temporary-file-directory))))) 7505 (tramp-compat-temporary-file-directory)))))
7486 spec) 7506 spec)
7487 7507
7508 ;; Add arguments for asynchrononous processes.
7509 (when (and process-name async-args)
7510 (setq login-args (append login-args async-args)))
7511
7488 ;; Add gateway arguments if necessary. 7512 ;; Add gateway arguments if necessary.
7489 (when (and gw gw-args) 7513 (when (and gw gw-args)
7490 (setq login-args (append login-args gw-args))) 7514 (setq login-args (append login-args gw-args)))