diff options
| author | Kai Großjohann | 2002-08-04 13:58:44 +0000 |
|---|---|---|
| committer | Kai Großjohann | 2002-08-04 13:58:44 +0000 |
| commit | fabf2143a88cc34eb5d747acc75dcd69b1bff252 (patch) | |
| tree | f6e18c3cc8ef9c50360dc4460a04bfd352016d7a | |
| parent | 89509ea00af97d7d013cf87b17b86674f969d3b7 (diff) | |
| download | emacs-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/ChangeLog | 30 | ||||
| -rw-r--r-- | lisp/net/tramp.el | 43 |
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 @@ | |||
| 1 | 2002-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 | |||
| 15 | 2002-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 | |||
| 1 | 2002-08-04 Andreas Schwab <schwab@suse.de> | 31 | 2002-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.") | |||
| 1202 | This variable is automatically made buffer-local to each rsh process buffer | 1202 | This variable is automatically made buffer-local to each rsh process buffer |
| 1203 | upon opening the connection.") | 1203 | upon 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 | 1206 | tramp_uudecode () { |
| 1207 | ;; spits out a complete line, including the '\n' at the end. | 1207 | \(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode |
| 1208 | cat /tmp/tramp.$$ | ||
| 1209 | rm -f /tmp/tramp.$$ | ||
| 1210 | }" | ||
| 1211 | "Shell function to implement `uudecode' to standard output. | ||
| 1212 | Many systems support `uudecode -o -' for this or `uudecode -p', but | ||
| 1213 | some 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 | |||
| 5664 | of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug | 5686 | of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug |
| 5665 | report. | 5687 | report. |
| 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 | ||