+2002-08-04 Kai Gro\e,b_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+ * net/tramp.el: 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.
+
+2002-08-04 Kai Gro\e,b_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+ * net/tramp.el: Version 2.0.9 released.
+ (tramp-bug): Add wording about additional info to include in bug
+ report.
+ (tramp-find-shell): Set $PS1 for invocation of second shell (for
+ tilde expansion).
+ (tramp-find-shell): Shell prompt must match at end of buffer. Do
+ this also for fallback shell prompt.
+ (tramp-find-shell): More debugging output.
+ (tramp-find-inline-encoding): When checking the decoding command,
+ some commands fail when reading from /dev/null. So we pass a
+ known string through the encoding command and pass that through
+ the decoding command. So we know whether the decoding command can
+ deal with some real input.
+
2002-08-04 Andreas Schwab <schwab@suse.de>
* net/tramp.el (tramp-perl-encode, tramp-perl-decode): Doc fix.
;; In the Tramp CVS repository, the version numer is auto-frobbed from
;; the Makefile, so you should edit the top-level Makefile to change
;; the version number.
-(defconst tramp-version "2.0.9"
+(defconst tramp-version "2.0.10"
"This version of tramp.")
(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org"
This variable is automatically made buffer-local to each rsh process buffer
upon opening the connection.")
-;; Perl script to implement `file-attributes' in a Lisp `read'able output.
-;; If you are hacking on this, note that you get *no* output unless this
-;; spits out a complete line, including the '\n' at the end.
+(defconst tramp-uudecode "\
+tramp_uudecode () {
+\(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
+cat /tmp/tramp.$$
+rm -f /tmp/tramp.$$
+}"
+ "Shell function to implement `uudecode' to standard output.
+Many systems support `uudecode -o -' for this or `uudecode -p', but
+some systems don't, and for them we have this shell function.")
+
+;; Perl script to implement `file-attributes' in a Lisp `read'able
+;; output. If you are hacking on this, note that you get *no* output
+;; unless this spits out a complete line, including the '\n' at the
+;; end.
(defconst tramp-perl-file-attributes (concat
"$f = $ARGV[0];
@s = lstat($f);
;; with buggy /bin/sh implementations will have a working bash or
;; ksh. Whee...
(tramp-find-shell multi-method method user host)
- (tramp-find-file-exists-command multi-method method user host)
- (sit-for 1)
;; Without (sit-for 0.1) at least, my machine will almost always blow
;; up on 'not numberp /root' - a race that causes the 'echo ~root'
;; output of (tramp-find-shell) to show up along with the output of
;; of that function though. The workaround stays for me at least. :/
;;
;; Daniel Pittman <daniel@danann.net>
+ (sleep-for 1)
+ (tramp-find-file-exists-command multi-method method user host)
(make-local-variable 'tramp-ls-command)
(setq tramp-ls-command (tramp-find-ls-command multi-method method user host))
(unless tramp-ls-command
"test -n \"`find $1 -prune -newer $2 -print`\"" tramp-rsh-end-of-line
"}")))
(tramp-wait-for-output)
+ ;; Send the fallback `uudecode' script.
+ (erase-buffer)
+ (tramp-send-linewise multi-method method user host tramp-uudecode)
+ (tramp-wait-for-output)
;; Find a `perl'.
(erase-buffer)
(let ((tramp-remote-perl
(or (tramp-find-executable multi-method method user host
- "perl5" tramp-remote-path nil)
+ "perl5" tramp-remote-path nil)
(tramp-find-executable multi-method method user host
- "perl" tramp-remote-path nil))))
+ "perl" tramp-remote-path nil))))
(when tramp-remote-perl
- (tramp-set-connection-property "perl" tramp-remote-perl multi-method method user host)
+ (tramp-set-connection-property "perl" tramp-remote-perl
+ multi-method method user host)
;; Set up stat in Perl if we can.
(when tramp-remote-perl
(tramp-message 5 "Sending the Perl `file-attributes' implementation.")
nil uudecode-decode-region)
("uuencode xxx" "uudecode -p"
nil uudecode-decode-region)
+ ("uuencode xxx" "tramp_uudecode"
+ nil uudecode-decode-region)
("tramp_encode_with_module" "tramp_decode_with_module"
base64-encode-region base64-decode-region)
("tramp_encode" "tramp_decode"
tramp-login-prompt-regexp
tramp-password-prompt-regexp
tramp-wrong-passwd-regexp
+ tramp-yesno-prompt-regexp
tramp-temp-name-prefix
tramp-file-name-structure
tramp-file-name-regexp
tramp-multi-connection-function-alist
tramp-make-tramp-file-format
tramp-end-of-output
+ tramp-coding-commands
+ tramp-actions-before-shell
+ tramp-multi-actions
;; Non-tramp variables of interest
shell-prompt-pattern
of the *tramp/foo* buffer and the *debug tramp/foo* buffer in your bug
report.
---bug report follows this line--")))
+--bug report follows this line--
+")))
(defalias 'tramp-submit-bug 'tramp-bug)