aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Großjohann2002-08-04 13:58:44 +0000
committerKai Großjohann2002-08-04 13:58:44 +0000
commitfabf2143a88cc34eb5d747acc75dcd69b1bff252 (patch)
treef6e18c3cc8ef9c50360dc4460a04bfd352016d7a
parent89509ea00af97d7d013cf87b17b86674f969d3b7 (diff)
downloademacs-fabf2143a88cc34eb5d747acc75dcd69b1bff252.tar.gz
emacs-fabf2143a88cc34eb5d747acc75dcd69b1bff252.zip
Version 2.0.10 released.
(tramp-uudecode): New shell function `tramp_uudecode' to decode to standard output even if `uudecode -p' and `uudecode -o -' don't work. (tramp-post-connection): After finding the right shell, wait a bit. This is a kludge to avoid a race condition, even though I don't understand why there is a race condition in the first place. (tramp-post-connection): Install the `tramp_uudecode' shell function on the remote host. (tramp-coding-commands): Add an alternative for `tramp_uudecode'. (tramp-bug): Include more variables in the report.
-rw-r--r--lisp/ChangeLog30
-rw-r--r--lisp/net/tramp.el43
2 files changed, 63 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cf514054d1d..d15a5a7901d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,33 @@
12002-08-04 Kai Gro,b_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
2
3 * net/tramp.el: Version 2.0.10 released.
4 (tramp-uudecode): New shell function `tramp_uudecode' to decode to
5 standard output even if `uudecode -p' and `uudecode -o -' don't
6 work.
7 (tramp-post-connection): After finding the right shell, wait a
8 bit. This is a kludge to avoid a race condition, even though I
9 don't understand why there is a race condition in the first place.
10 (tramp-post-connection): Install the `tramp_uudecode' shell
11 function on the remote host.
12 (tramp-coding-commands): Add an alternative for `tramp_uudecode'.
13 (tramp-bug): Include more variables in the report.
14
152002-08-04 Kai Gro,b_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
16
17 * net/tramp.el: Version 2.0.9 released.
18 (tramp-bug): Add wording about additional info to include in bug
19 report.
20 (tramp-find-shell): Set $PS1 for invocation of second shell (for
21 tilde expansion).
22 (tramp-find-shell): Shell prompt must match at end of buffer. Do
23 this also for fallback shell prompt.
24 (tramp-find-shell): More debugging output.
25 (tramp-find-inline-encoding): When checking the decoding command,
26 some commands fail when reading from /dev/null. So we pass a
27 known string through the encoding command and pass that through
28 the decoding command. So we know whether the decoding command can
29 deal with some real input.
30
12002-08-04 Andreas Schwab <schwab@suse.de> 312002-08-04 Andreas Schwab <schwab@suse.de>
2 32
3 * net/tramp.el (tramp-perl-encode, tramp-perl-decode): Doc fix. 33 * net/tramp.el (tramp-perl-encode, tramp-perl-decode): Doc fix.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index e3a4ebae9c1..d9ecc6ec4b8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -72,7 +72,7 @@
72;; In the Tramp CVS repository, the version numer is auto-frobbed from 72;; In the Tramp CVS repository, the version numer is auto-frobbed from
73;; the Makefile, so you should edit the top-level Makefile to change 73;; the Makefile, so you should edit the top-level Makefile to change
74;; the version number. 74;; the version number.
75(defconst tramp-version "2.0.9" 75(defconst tramp-version "2.0.10"
76 "This version of tramp.") 76 "This version of tramp.")
77 77
78(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org" 78(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org"
@@ -1202,9 +1202,20 @@ upon opening the connection.")
1202This variable is automatically made buffer-local to each rsh process buffer 1202This variable is automatically made buffer-local to each rsh process buffer
1203upon opening the connection.") 1203upon opening the connection.")
1204 1204
1205;; Perl script to implement `file-attributes' in a Lisp `read'able output. 1205(defconst tramp-uudecode "\
1206;; If you are hacking on this, note that you get *no* output unless this 1206tramp_uudecode () {
1207;; spits out a complete line, including the '\n' at the end. 1207\(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
1208cat /tmp/tramp.$$
1209rm -f /tmp/tramp.$$
1210}"
1211 "Shell function to implement `uudecode' to standard output.
1212Many systems support `uudecode -o -' for this or `uudecode -p', but
1213some systems don't, and for them we have this shell function.")
1214
1215;; Perl script to implement `file-attributes' in a Lisp `read'able
1216;; output. If you are hacking on this, note that you get *no* output
1217;; unless this spits out a complete line, including the '\n' at the
1218;; end.
1208(defconst tramp-perl-file-attributes (concat 1219(defconst tramp-perl-file-attributes (concat
1209 "$f = $ARGV[0]; 1220 "$f = $ARGV[0];
1210@s = lstat($f); 1221@s = lstat($f);
@@ -4432,8 +4443,6 @@ locale to C and sets up the remote shell search path."
4432 ;; with buggy /bin/sh implementations will have a working bash or 4443 ;; with buggy /bin/sh implementations will have a working bash or
4433 ;; ksh. Whee... 4444 ;; ksh. Whee...
4434 (tramp-find-shell multi-method method user host) 4445 (tramp-find-shell multi-method method user host)
4435 (tramp-find-file-exists-command multi-method method user host)
4436 (sit-for 1)
4437 ;; Without (sit-for 0.1) at least, my machine will almost always blow 4446 ;; Without (sit-for 0.1) at least, my machine will almost always blow
4438 ;; up on 'not numberp /root' - a race that causes the 'echo ~root' 4447 ;; up on 'not numberp /root' - a race that causes the 'echo ~root'
4439 ;; output of (tramp-find-shell) to show up along with the output of 4448 ;; output of (tramp-find-shell) to show up along with the output of
@@ -4446,6 +4455,8 @@ locale to C and sets up the remote shell search path."
4446 ;; of that function though. The workaround stays for me at least. :/ 4455 ;; of that function though. The workaround stays for me at least. :/
4447 ;; 4456 ;;
4448 ;; Daniel Pittman <daniel@danann.net> 4457 ;; Daniel Pittman <daniel@danann.net>
4458 (sleep-for 1)
4459 (tramp-find-file-exists-command multi-method method user host)
4449 (make-local-variable 'tramp-ls-command) 4460 (make-local-variable 'tramp-ls-command)
4450 (setq tramp-ls-command (tramp-find-ls-command multi-method method user host)) 4461 (setq tramp-ls-command (tramp-find-ls-command multi-method method user host))
4451 (unless tramp-ls-command 4462 (unless tramp-ls-command
@@ -4500,15 +4511,20 @@ locale to C and sets up the remote shell search path."
4500 "test -n \"`find $1 -prune -newer $2 -print`\"" tramp-rsh-end-of-line 4511 "test -n \"`find $1 -prune -newer $2 -print`\"" tramp-rsh-end-of-line
4501 "}"))) 4512 "}")))
4502 (tramp-wait-for-output) 4513 (tramp-wait-for-output)
4514 ;; Send the fallback `uudecode' script.
4515 (erase-buffer)
4516 (tramp-send-linewise multi-method method user host tramp-uudecode)
4517 (tramp-wait-for-output)
4503 ;; Find a `perl'. 4518 ;; Find a `perl'.
4504 (erase-buffer) 4519 (erase-buffer)
4505 (let ((tramp-remote-perl 4520 (let ((tramp-remote-perl
4506 (or (tramp-find-executable multi-method method user host 4521 (or (tramp-find-executable multi-method method user host
4507 "perl5" tramp-remote-path nil) 4522 "perl5" tramp-remote-path nil)
4508 (tramp-find-executable multi-method method user host 4523 (tramp-find-executable multi-method method user host
4509 "perl" tramp-remote-path nil)))) 4524 "perl" tramp-remote-path nil))))
4510 (when tramp-remote-perl 4525 (when tramp-remote-perl
4511 (tramp-set-connection-property "perl" tramp-remote-perl multi-method method user host) 4526 (tramp-set-connection-property "perl" tramp-remote-perl
4527 multi-method method user host)
4512 ;; Set up stat in Perl if we can. 4528 ;; Set up stat in Perl if we can.
4513 (when tramp-remote-perl 4529 (when tramp-remote-perl
4514 (tramp-message 5 "Sending the Perl `file-attributes' implementation.") 4530 (tramp-message 5 "Sending the Perl `file-attributes' implementation.")
@@ -4601,6 +4617,8 @@ locale to C and sets up the remote shell search path."
4601 nil uudecode-decode-region) 4617 nil uudecode-decode-region)
4602 ("uuencode xxx" "uudecode -p" 4618 ("uuencode xxx" "uudecode -p"
4603 nil uudecode-decode-region) 4619 nil uudecode-decode-region)
4620 ("uuencode xxx" "tramp_uudecode"
4621 nil uudecode-decode-region)
4604 ("tramp_encode_with_module" "tramp_decode_with_module" 4622 ("tramp_encode_with_module" "tramp_decode_with_module"
4605 base64-encode-region base64-decode-region) 4623 base64-encode-region base64-decode-region)
4606 ("tramp_encode" "tramp_decode" 4624 ("tramp_encode" "tramp_decode"
@@ -5630,6 +5648,7 @@ Only works for Bourne-like shells."
5630 tramp-login-prompt-regexp 5648 tramp-login-prompt-regexp
5631 tramp-password-prompt-regexp 5649 tramp-password-prompt-regexp
5632 tramp-wrong-passwd-regexp 5650 tramp-wrong-passwd-regexp
5651 tramp-yesno-prompt-regexp
5633 tramp-temp-name-prefix 5652 tramp-temp-name-prefix
5634 tramp-file-name-structure 5653 tramp-file-name-structure
5635 tramp-file-name-regexp 5654 tramp-file-name-regexp
@@ -5639,6 +5658,9 @@ Only works for Bourne-like shells."
5639 tramp-multi-connection-function-alist 5658 tramp-multi-connection-function-alist
5640 tramp-make-tramp-file-format 5659 tramp-make-tramp-file-format
5641 tramp-end-of-output 5660 tramp-end-of-output
5661 tramp-coding-commands
5662 tramp-actions-before-shell
5663 tramp-multi-actions
5642 5664
5643 ;; Non-tramp variables of interest 5665 ;; Non-tramp variables of interest
5644 shell-prompt-pattern 5666 shell-prompt-pattern
@@ -5664,7 +5686,8 @@ the ~/.emacs file and to repeat the bug. Then, include the contents
5664of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug 5686of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug
5665report. 5687report.
5666 5688
5667--bug report follows this line--"))) 5689--bug report follows this line--
5690")))
5668 5691
5669(defalias 'tramp-submit-bug 'tramp-bug) 5692(defalias 'tramp-submit-bug 'tramp-bug)
5670 5693