tramp-devel
[Top][All Lists]
Advanced

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

Re: New Tramp with uuencode on Windows


From: Douglas Gray Stephens
Subject: Re: New Tramp with uuencode on Windows
Date: Mon, 16 Sep 2002 22:55:23 +0100

Kai,

At 10:43 (GMT+0200) on 16-September-2002, Kai Großjohann wrote:
 > Rainer Thiel <address@hidden> writes:
 > 
 > > I find disturbing one feature (may I call it a bug?):  When I access
 > > ("find") a file in Emacs, I exspect to see the pertaining buffer in
 > > the current window when the file's been loaded.  This disturbingly is
 > > not the case when accessing a remote file with (tramp and) plink:  I
 > > have to dig it from from the buffer list instead.
 > 
 > Oh.  Is anybody else seeing this?  I guess a save-excursion somewhere
 > should fix the problem, but where?

After you put the uuencode.el file in the contrib directory, I can
access files via uuencode, but I needed to add a 
 (require 'uuencode)
before calling tramp, otherwise I have the 
 Wrong type argument: stringp, uudecode-decode-region
error message.  The contents of the debug buffer are attached.

Emacs displays the buffer as expected, however when saving the file I
am left looking at
 tramp: file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
as the last message, rather than
 Wrote /plink:address@hidden:/home/gray/work/temp.pl

I seem to get the same last message if I use the default settings for
tramp-coding-commands (so using base64).

Douglas.

-- 

================================
Douglas GRAY STEPHENS        
Technical Architect (Directories)
Schlumberger Cambridge Research
High Cross,
Madingley Road,
Cambridge.
CB3 0EL
ENGLAND

Phone  +44 1223 325295
Mobile +44 773 0051628
Fax    +44 1223 311830
Email address@hidden
================================

# Opening connection for address@hidden using plink...
# Waiting for prompts from remote shell
# Waiting 60s for prompt from remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):? *" from remote shell
# Sending password
# Looking for regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^.*\(Connection \(closed\|refused\)\|Host key 
verification failed\.\|Login \(Incorrect\|incorrect\)\|Name or service not 
known\|Permission denied\.\|Sorry, try again\.\).*\|^.*\(Received signal 
[0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting 
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):? *" from remote shell
# Looking for regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^.*\(Connection \(closed\|refused\)\|Host key 
verification failed\.\|Login \(Incorrect\|incorrect\)\|Name or service not 
known\|Permission denied\.\|Sorry, try again\.\).*\|^.*\(Received signal 
[0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting 
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):? *" from remote shell
# Looking for regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^.*\(Connection \(closed\|refused\)\|Host key 
verification failed\.\|Login \(Incorrect\|incorrect\)\|Name or service not 
known\|Permission denied\.\|Sorry, try again\.\).*\|^.*\(Received signal 
[0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting 
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):? *" from remote shell
# Looking for regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Found remote shell prompt.
# Initializing remote shell
$ exec env PS1='$ ' /bin/sh
# Waiting 30s for remote `/bin/sh' to come up...
exec env 'PS1=$ ' /bin/sh
$ # Setting up remote shell environment
stty -inlcr -echo kill '^U'
$ $ # Determining coding system
foo
bar
$ # Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1'
$ # Waiting 30s for `set +o vi +o emacs'
$ # Waiting 30s for `unset MAIL MAILCHECK MAILPATH'
$ # Waiting 30s for `unset CDPATH'
$ # Setting shell prompt
$ PS1='
/////
'; PS2=''; PS3=''
$ echo ~root
/root
# Remote `/bin/sh' groks tilde expansion, good
# Finding command to check if file exists
$ test -e / 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /\ this\ file\ does\ not\ exist\  2>/dev/null; echo tramp_exit_status 
$? 
tramp_exit_status 1
# Finding a suitable `ls' command
# Checking remote `/export/home/gray/bin/ls' command for `-n' option
$ test -x /export/home/gray/bin/ls 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
# Checking remote `/bin/ls' command for `-n' option
$ test -x /bin/ls 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Testing remote command `/bin/ls' for -n...
$ /bin/ls -lnd / >/dev/null 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Testing remote command `/bin/ls' for -n...okay
# Using remote command `/bin/ls' for getting directory listings
$ tramp_set_exit_status () {
return $1
}
$ test -e /export/home/gray/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/sbin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/sbin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/local/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ ( test -d /usr/local/bin 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
$ test -e /usr/ccs/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/freeware/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /local/gnu/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/freeware/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/pkg/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /usr/contrib/bin 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin; export PATH
$ LC_TIME=C; export LC_TIME; echo huhu
huhu
$ mesg n; echo huhu
huhu
$ biff n ; echo huhu
sh: biff: command not found
huhu
$ unalias ls; echo huhu
sh: unalias: `ls': not an alias
huhu
$ ( test / -nt / )
$ tramp_test_nt () {
test -n "`find $1 -prune -newer $2 -print`"
}
$ tramp_uudecode () {
(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode
cat /tmp/tramp.$$
rm -f /tmp/tramp.$$
}
$ while read d; do if test -x $d/perl5 -a -f $d/perl5; then echo 
tramp_executable $d/perl5; break; fi; done <<'EOF'
$ /export/home/gray/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
$ while read d; do if test -x $d/perl -a -f $d/perl; then echo tramp_executable 
$d/perl; break; fi; done <<'EOF'
$ /export/home/gray/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /usr/bin/perl
# Sending the Perl `file-attributes' implementation.
$ tramp_file_attributes () {
/usr/bin/perl -e '$f = $ARGV[0];
@s = lstat($f);
if (($s[2] & 0170000) == 0120000) { $l = readlink($f); $l = "\"$l\""; }
elsif (($s[2] & 0170000) == 040000) { $l = "t"; }
else { $l = "nil" };
printf("(%s %u %d %d (%u %u) (%u %u) (%u %u) %u %u t (%u . %u) (%u %u))\n",
$l, $s[3], $s[4], $s[5], $s[8] >> 16 & 0xffff, $s[8] & 0xffff,
$s[9] >> 16 & 0xffff, $s[9] & 0xffff, $s[10] >> 16 & 0xffff, $s[10] & 0xffff,
$s[7], $s[2], $s[1] >> 16 & 0xffff, $s[1] & 0xffff, $s[0] >> 16 & 0xffff, $s[0] 
& 0xffff);' $1 2>/dev/null
}
# Sending the Perl `mime-encode' implementations.
$ tramp_encode () {
/usr/bin/perl -e '
# This script contributed by Juanma Barranquero <address@hidden>.
# Copyright (C) 2002 Free Software Foundation, Inc.
use strict;

my %trans = do {
    my $i = 0;
    map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)}
      split //, 
q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);
};

binmode(\*STDIN);

# We read in chunks of 54 bytes, to generate output lines
# of 72 chars (plus end of line)
$/ = \54;

while (my $data = <STDIN>) {
    my $pad = q();

    # Only for the last chunk, and only if did not fill the last three-byte 
packet
    if (eof) {
        my $mod = length($data) % 3;
        $pad = q(=) x (3 - $mod) if $mod;
    }

    # Not the fastest method, but it is simple: unpack to binary string, split
    # by groups of 6 bits and convert back from binary to byte; then map into
    # the translation table
    print
      join q(),
        map($trans{$_},
            (substr(unpack(q(B*), $data) . q(00000), 0, 432) =~ /....../g)),
              $pad,
                qq(\n);
}
' 2>/dev/null
}
$ tramp_encode_with_module () {
perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' 2>/dev/null
}
# Sending the Perl `mime-decode' implementations.
$ tramp_decode () {
/usr/bin/perl -e '
# This script contributed by Juanma Barranquero <address@hidden>.
# Copyright (C) 2002 Free Software Foundation, Inc.
use strict;

my %trans = do {
    my $i = 0;
    map {($_, substr(unpack(q(B8), chr $i++), 2, 6))}
      split //, 
q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)
};

my %bytes = map {(unpack(q(B8), chr $_), chr $_)} 0 .. 255;

binmode(\*STDOUT);

# We are going to accumulate into $pending to accept any line length
# (we do not check they are <= 76 chars as the RFC says)
my $pending = q();

while (my $data = <STDIN>) {
    chomp $data;

    # If we find one or two =, we have reached the end and
    # any following data is to be discarded
    my $finished = $data =~ s/(==?).*/$1/;
    $pending .= $data;

    my $len = length($pending);
    my $chunk = substr($pending, 0, $len & ~3);

    # Easy method: translate from chars to (pregenerated) six-bit packets, join,
    # split in 8-bit chunks and convert back to char.
    print join q(),
      map $bytes{$_},
        ((join q(), map {$trans{$_} || q()} split //, $chunk) =~ /......../g);

    last if $finished;
}
' 2>/dev/null
}
$ tramp_decode_with_module () {
perl -MMIME::Base64 -0777 -ne 'print decode_base64($_)' 2>/dev/null
}
$ while read d; do if test -x $d/ln -a -f $d/ln; then echo tramp_executable 
$d/ln; break; fi; done <<'EOF'
$ /export/home/gray/bin
$ /bin
$ /usr/bin
$ /usr/sbin
$ /usr/local/bin
$ /usr/ccs/bin
$ /local/bin
$ /local/freeware/bin
$ /local/gnu/bin
$ /usr/freeware/bin
$ /usr/pkg/bin
$ /usr/contrib/bin
$ EOF
tramp_executable /bin/ln
# Checking remote encoding command `uuencode xxx' for sanity
$ ( uuencode xxx </dev/null >/dev/null 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
# Checking remote decoding command `uudecode -o -' for sanity
$ ( echo xyzzy | uuencode xxx | uudecode -o - >/dev/null 2>/dev/null; echo 
tramp_exit_status $? )
tramp_exit_status 0
# Using remote encoding uuencode xxx
# Using remote decoding uudecode -o -
# Using local encoding tramp-uuencode-region
# Using local decoding uudecode-decode-region
# Checking to see if encoding/decoding commands work on remote host...
$ echo xyzzy | uuencode xxx | uudecode -o -
xyzzy
# Checking to see if encoding/decoding commands work on remote host...done
$ cd ~; pwd
/home/gray
$ ( test -d /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
# Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home
$ tramp_file_attributes /home
(t 13 0 0 (15749 18862) (15703 46115) (15703 46115) 4096 16877 t (1 . 30746) (0 
769))
# Check /home/gray
$ test -e /home/gray 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray
$ tramp_file_attributes /home/gray
(t 20 500 500 (15750 20864) (15749 57175) (15749 57175) 4096 16877 t (1 . 
63138) (0 769))
# Check /home/gray/work
$ test -e /home/gray/work 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work
$ tramp_file_attributes /home/gray/work
(t 17 500 500 (15750 20466) (15749 57383) (15749 57383) 4096 16893 t (1 . 
63180) (0 769))
# Check /home/gray/work/temp.pl
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20776) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is 
`/home/gray/work/temp.pl'
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20776) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home
$ tramp_file_attributes /home
(t 13 0 0 (15749 18862) (15703 46115) (15703 46115) 4096 16877 t (1 . 30746) (0 
769))
# Check /home/gray
$ test -e /home/gray 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray
$ tramp_file_attributes /home/gray
(t 20 500 500 (15750 20864) (15749 57175) (15749 57175) 4096 16877 t (1 . 
63138) (0 769))
# Check /home/gray/work
$ test -e /home/gray/work 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work
$ tramp_file_attributes /home/gray/work
(t 17 500 500 (15750 20466) (15749 57383) (15749 57383) 4096 16893 t (1 . 
63180) (0 769))
# Check /home/gray/work/temp.pl
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20776) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is 
`/home/gray/work/temp.pl'
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20776) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Encoding remote file /plink:address@hidden:/home/gray/work/temp.pl...
$ uuencode xxx < /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
begin 664 xxx
M(R!-;VX@,38M4V5P+3(P,#([($1O=6=L87,@1W)A>2!3=&5P:&5N<PH*(R!'
address@hidden&5T86EL<R`*;7D@)&9I;'1E<BPD<&%S<W=D+"1H;W-T+"1V97)I9GD[
M"FEF("@D(T%21U8@/3T@,RD@>PH@("address@hidden"1F:6QT97(L("1P87-S=V0L)&AO
M<W0L)'9E<FEF>2D]0$%21U8["address@hidden"B`@("!P<FEN="`B1FEL=&5R
M.B`B.PH@("`@)&9I;'1E<CT\4U1$24X^.PH@("address@hidden<"`D9FEL=&5R.PH@
M("`@<')I;G0@(E!A<W-W;W)D.B`B.PH@("`@)'!A<W-W9#T\4U1$24X^.PH@
M("address@hidden<"`D<&%S<W=D.PH@("`@<')I;G0@(DQ$05!3($AO<W0Z("(["B`@
M("`D:&]S=#T\4U1$24X^.PH@("address@hidden<"`D:&]S=#L*("`@('!R:6YT(")#
M97)T:69I8V%T92!V97)I9FEC871I;address@hidden&YO;F4O<F5Q=6ER92DZ("(["B`@
M("`D=F5R:69Y/3Q35$1)3CX["B`@("!C:&]P("1V97)I9GD["GT*"G5S92!.
M970Z.DQ$05!3.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden:&]L<W0N:&]U
M<W1O;BYS:6YE="YS;&(N8V]M)RQV97)S:6]N/3XS*2!O<B!D:64@(B1`(CL*
M(R1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)VQD87`R+G-L8BYC;VTG+'9E<G-I
M;VX]/C,I(&]R(&1I92`B)$`B.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden
M;&1A<#0N<VQB+F-O;2<L=F5R<VEO;CT^,RD@;W(@9&EE("(D0"(["B,D;&1A
M<"`](&YE=R!.970Z.DQ$05!3*"=L9&%P+G-L8BYC;VTG+'9E<G-I;VX]/C,I
M(&]R(&1I92`B)$`B.PHC(%-E="!A('1I;65R"B1T:6UE;W5T/3$P.PHD4TE'
M>T%,4DU](#T@<W5B('address@hidden&EE(")T:6UE;W5T(B!].PIE=F%L('L*("`@(&%L
M87)M*"1T:6UE;W5T*3L*("`@("1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)&AO
M<W0L=F5R<VEO;CT^,RQV97)I9GD]/B1V97)I9GDL;VYE<G)O<CT^)W=A<FXG
M*3L*("`@(&%L87)M*#`I.PI].PII9B`H)$`I('L*("`@(&EF("@D0"`]?B`O
M=&EM96]U="\I('L*"61I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!P;W)T(&9A
M:6QE9"!T;R!S=&%R="!I;B`D=&EM96]U="!S96-O;F1S(2(["B`@("!](&5L
M<V4@>PH)9&EE("1`.PH@("address@hidden"G5N;&5S<R`H)&QD87`I('L*("`@(&1I
M92`B0V]N;F5C=&EO;B!T;R`D:&]S="!F86EL960A(CL*?2`@("`@(`H*)&UE
M<V<@/2`D;&1A<"T^<V5A<F-H("@@(",@<&5R9F]R;2!A('-E87)C:`H)"0D@
M8F%S92`@(#T^(")O/7-L8BQC/4%.(BP*"0D)(&9I;'1E<B`]/B`D9FEL=&5R
M+`H)"address@hidden<G,@/address@hidden;&EA<R<L)V-N)RPG;6%I;"=="@D)"2`*"0D)
M("D["B1M97-G+3YC;V1E("8F(&1I92`D;65S9RT^97)R;W(["@H@(",@0VAE
M8VL@;VYE(')E8V]R9"!A;address@hidden($1."FUY("address@hidden)&UE<V<M/F-O=6YT
M.PII9B`H)&UA>"`A/2`Q*2!["B`@("!P<FEN="!Q<7M&;W5N9"`D;6%X(&UA
M=&-H97,@=&address@hidden&AE(&9I;'1E<B`B)&9I;'1E<B(Z7&Y]+`H@("`@)RTG>#(P
M+")<;B(["B`@("!F;W(H)&D@/2`P(#L@)&D@/"`D;6%X(#L@)&DK*RD@>PH)
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*"1I*3L*"69O<F5A8V@@;7D@)&%T
M='(@*"1E;G1R>2T^871T<FEB=71E<RD@>PH)("`@('!R:6YT("<@)RQJ;VEN
M*")<;B`@(BPD871T<BP@)&5N=')Y+3YG971?=F%L=64H)&%T='(I*2PB7&XB
M.PH)?0H)<')I;G0@)RTG>#(P+")<;B(["B`@("!]"B`@("!P<FEN="`B375S
M="!H879E(&]N92!M871C:"!F;W(@;&]G:6XA7&XB.PI](&5L<V4@>PH@("`@
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*#`I.PH@("`@;7D@)&1N/21E;G1R
M>2T^9&X["B`@("!I9B`H)'!A<W-W9"!E<2`G)RD@>PH)<')I;G0@(D-A;FYO
M="!A=71H96YT:6-A=&address@hidden:"!B;&%N:R!P87-S=V]R9"%<;B(["B`@("!]
M(&5L<V4@>PH))&UE<V<@/2`D;&1A<"T^8FEN9"@@)&1N+"!P87-S=V]R9"`]
M/B`D<&%S<W=D*3L*"6EF("@D;65S9RT^8V]D92D@>PH)("`@('!R:6YT(")&
address@hidden&address@hidden:&5N=&EC871E(&%S("1D;EQN(BPD;65S9RT^97)R;W(L
M(EQN(CL*"address@hidden"@D@("`@<')I;G0@(D%U=&AE;address@hidden,@
C)&1N7&XB.PH)?0H@("address@hidden"@HD;&1A<"T^=6YB:6YD.PH`
`
end
tramp_exit_status 0
# Decoding remote file /plink:address@hidden:/home/gray/work/temp.pl...
# Decoding remote file /plink:address@hidden:/home/gray/work/temp.pl with 
command uudecode-decode-region...
$ cd ~; pwd
/home/gray
$ ( test -d /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
# Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home
$ tramp_file_attributes /home
(t 13 0 0 (15749 18862) (15703 46115) (15703 46115) 4096 16877 t (1 . 30746) (0 
769))
# Check /home/gray
$ test -e /home/gray 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray
$ tramp_file_attributes /home/gray
(t 20 500 500 (15750 20864) (15749 57175) (15749 57175) 4096 16877 t (1 . 
63138) (0 769))
# Check /home/gray/work
$ test -e /home/gray/work 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work
$ tramp_file_attributes /home/gray/work
(t 17 500 500 (15750 20466) (15749 57383) (15749 57383) 4096 16893 t (1 . 
63180) (0 769))
# Check /home/gray/work/temp.pl
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20886) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is 
`/home/gray/work/temp.pl'
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20886) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home
$ tramp_file_attributes /home
(t 13 0 0 (15749 18862) (15703 46115) (15703 46115) 4096 16877 t (1 . 30746) (0 
769))
# Check /home/gray
$ test -e /home/gray 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray
$ tramp_file_attributes /home/gray
(t 20 500 500 (15750 20864) (15749 57175) (15749 57175) 4096 16877 t (1 . 
63138) (0 769))
# Check /home/gray/work
$ test -e /home/gray/work 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work
$ tramp_file_attributes /home/gray/work
(t 17 500 500 (15750 20466) (15749 57383) (15749 57383) 4096 16893 t (1 . 
63180) (0 769))
# Check /home/gray/work/temp.pl
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20886) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is 
`/home/gray/work/temp.pl'
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20886) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Encoding remote file /plink:address@hidden:/home/gray/work/temp.pl...
$ uuencode xxx < /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
begin 664 xxx
M(R!-;VX@,38M4V5P+3(P,#([($1O=6=L87,@1W)A>2!3=&5P:&5N<PH*(R!'
address@hidden&5T86EL<R`*;7D@)&9I;'1E<BPD<&%S<W=D+"1H;W-T+"1V97)I9GD[
M"FEF("@D(T%21U8@/3T@,RD@>PH@("address@hidden"1F:6QT97(L("1P87-S=V0L)&AO
M<W0L)'9E<FEF>2D]0$%21U8["address@hidden"B`@("!P<FEN="`B1FEL=&5R
M.B`B.PH@("`@)&9I;'1E<CT\4U1$24X^.PH@("address@hidden<"`D9FEL=&5R.PH@
M("`@<')I;G0@(E!A<W-W;W)D.B`B.PH@("`@)'!A<W-W9#T\4U1$24X^.PH@
M("address@hidden<"`D<&%S<W=D.PH@("`@<')I;G0@(DQ$05!3($AO<W0Z("(["B`@
M("`D:&]S=#T\4U1$24X^.PH@("address@hidden<"`D:&]S=#L*("`@('!R:6YT(")#
M97)T:69I8V%T92!V97)I9FEC871I;address@hidden&YO;F4O<F5Q=6ER92DZ("(["B`@
M("`D=F5R:69Y/3Q35$1)3CX["B`@("!C:&]P("1V97)I9GD["GT*"G5S92!.
M970Z.DQ$05!3.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden:&]L<W0N:&]U
M<W1O;BYS:6YE="YS;&(N8V]M)RQV97)S:6]N/3XS*2!O<B!D:64@(B1`(CL*
M(R1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)VQD87`R+G-L8BYC;VTG+'9E<G-I
M;VX]/C,I(&]R(&1I92`B)$`B.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden
M;&1A<#0N<VQB+F-O;2<L=F5R<VEO;CT^,RD@;W(@9&EE("(D0"(["B,D;&1A
M<"`](&YE=R!.970Z.DQ$05!3*"=L9&%P+G-L8BYC;VTG+'9E<G-I;VX]/C,I
M(&]R(&1I92`B)$`B.PHC(%-E="!A('1I;65R"B1T:6UE;W5T/3$P.PHD4TE'
M>T%,4DU](#T@<W5B('address@hidden&EE(")T:6UE;W5T(B!].PIE=F%L('L*("`@(&%L
M87)M*"1T:6UE;W5T*3L*("`@("1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)&AO
M<W0L=F5R<VEO;CT^,RQV97)I9GD]/B1V97)I9GDL;VYE<G)O<CT^)W=A<FXG
M*3L*("`@(&%L87)M*#`I.PI].PII9B`H)$`I('L*("`@(&EF("@D0"`]?B`O
M=&EM96]U="\I('L*"61I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!P;W)T(&9A
M:6QE9"!T;R!S=&%R="!I;B`D=&EM96]U="!S96-O;F1S(2(["B`@("!](&5L
M<V4@>PH)9&EE("1`.PH@("address@hidden"G5N;&5S<R`H)&QD87`I('L*("`@(&1I
M92`B0V]N;F5C=&EO;B!T;R`D:&]S="!F86EL960A(CL*?2`@("`@(`H*)&UE
M<V<@/2`D;&1A<"T^<V5A<F-H("@@(",@<&5R9F]R;2!A('-E87)C:`H)"0D@
M8F%S92`@(#T^(")O/7-L8BQC/4%.(BP*"0D)(&9I;'1E<B`]/B`D9FEL=&5R
M+`H)"address@hidden<G,@/address@hidden;&EA<R<L)V-N)RPG;6%I;"=="@D)"2`*"0D)
M("D["B1M97-G+3YC;V1E("8F(&1I92`D;65S9RT^97)R;W(["@H@(",@0VAE
M8VL@;VYE(')E8V]R9"!A;address@hidden($1."FUY("address@hidden)&UE<V<M/F-O=6YT
M.PII9B`H)&UA>"`A/2`Q*2!["B`@("!P<FEN="!Q<7M&;W5N9"`D;6%X(&UA
M=&-H97,@=&address@hidden&AE(&9I;'1E<B`B)&9I;'1E<B(Z7&Y]+`H@("`@)RTG>#(P
M+")<;B(["B`@("!F;W(H)&D@/2`P(#L@)&D@/"`D;6%X(#L@)&DK*RD@>PH)
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*"1I*3L*"69O<F5A8V@@;7D@)&%T
M='(@*"1E;G1R>2T^871T<FEB=71E<RD@>PH)("`@('!R:6YT("<@)RQJ;VEN
M*")<;B`@(BPD871T<BP@)&5N=')Y+3YG971?=F%L=64H)&%T='(I*2PB7&XB
M.PH)?0H)<')I;G0@)RTG>#(P+")<;B(["B`@("!]"B`@("!P<FEN="`B375S
M="!H879E(&]N92!M871C:"!F;W(@;&]G:6XA7&XB.PI](&5L<V4@>PH@("`@
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*#`I.PH@("`@;7D@)&1N/21E;G1R
M>2T^9&X["B`@("!I9B`H)'!A<W-W9"!E<2`G)RD@>PH)<')I;G0@(D-A;FYO
M="!A=71H96YT:6-A=&address@hidden:"!B;&%N:R!P87-S=V]R9"%<;B(["B`@("!]
M(&5L<V4@>PH))&UE<V<@/2`D;&1A<"T^8FEN9"@@)&1N+"!P87-S=V]R9"`]
M/B`D<&%S<W=D*3L*"6EF("@D;65S9RT^8V]D92D@>PH)("`@('!R:6YT(")&
address@hidden&address@hidden:&5N=&EC871E(&%S("1D;EQN(BPD;65S9RT^97)R;W(L
M(EQN(CL*"address@hidden"@D@("`@<')I;G0@(D%U=&AE;address@hidden,@
C)&1N7&XB.PH)?0H@("address@hidden"@HD;&1A<"T^=6YB:6YD.PH`
`
end
tramp_exit_status 0
# Decoding remote file /plink:address@hidden:/home/gray/work/temp.pl...
# Decoding remote file /plink:address@hidden:/home/gray/work/temp.pl with 
function uudecode-decode-region...
# Decoding remote file /plink:address@hidden:/home/gray/work/temp.pl...done
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# Inserting local temp file `d:/Temp/tramp.1864sNg'...
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -w /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ cd ~; pwd
/home/gray
$ ( test -d /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
# Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
# Check /home
$ test -e /home 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home
$ tramp_file_attributes /home
(t 13 0 0 (15749 18862) (15703 46115) (15703 46115) 4096 16877 t (1 . 30746) (0 
769))
# Check /home/gray
$ test -e /home/gray 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray
$ tramp_file_attributes /home/gray
(t 20 500 500 (15750 20864) (15749 57175) (15749 57175) 4096 16877 t (1 . 
63138) (0 769))
# Check /home/gray/work
$ test -e /home/gray/work 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work
$ tramp_file_attributes /home/gray/work
(t 17 500 500 (15750 20466) (15749 57383) (15749 57383) 4096 16893 t (1 . 
63180) (0 769))
# Check /home/gray/work/temp.pl
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is 
`/home/gray/work/temp.pl'
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -w /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20909) (15749 57383) (15749 57383) 2060 33188 t (1 . 
63703) (0 769))
$ cd /home/gray/work/ 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ /bin/ls -a -d temp.pl.\~* 2>/dev/null | while read f; do if test -d "$f" 
2>/dev/null; then echo "$f/"; else echo "$f"; fi; done
temp.pl.~1.~
temp.pl.~2.~
$ cd
$ mv -f /home/gray/work/temp.pl /home/gray/work/temp.pl.\~3.\~ 2>/dev/null; 
echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl.\~3.\~ 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl.\~3.\~ 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl.~3.~
$ tramp_file_attributes /home/gray/work/temp.pl.\~3.\~
(nil 1 500 500 (15750 20909) (15749 57383) (15750 20922) 2060 33188 t (1 . 
63703) (0 769))
# Encoding region...
# Encoding region using function...
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...
$ uudecode -o - >/home/gray/work/temp.pl <<'EOF'
# Sending data to remote host...
begin 600 xxx
M(R!-;VX@,38M4V5P+3(P,#([($1O=6=L87,@1W)A>2!3=&5P:&5N<PH*(R!'
address@hidden&5T86EL<R`*;7D@)&9I;'1E<BPD<&%S<W=D+"1H;W-T+"1V97)I9GD[
M"FEF("@D(T%21U8@/3T@,RD@>PH@("address@hidden"1F:6QT97(L("1P87-S=V0L)&AO
M<W0L)'9E<FEF>2D]0$%21U8["address@hidden"B`@("!P<FEN="`B1FEL=&5R
M.B`B.PH@("`@)&9I;'1E<CT\4U1$24X^.PH@("address@hidden<"`D9FEL=&5R.PH@
M("`@<')I;G0@(E!A<W-W;W)D.B`B.PH@("`@)'!A<W-W9#T\4U1$24X^.PH@
M("address@hidden<"`D<&%S<W=D.PH@("`@<')I;G0@(DQ$05!3($AO<W0Z("(["B`@
M("`D:&]S=#T\4U1$24X^.PH@("address@hidden<"`D:&]S=#L*("`@('!R:6YT(")#
M97)T:69I8V%T92!V97)I9FEC871I;address@hidden&YO;F4O<F5Q=6ER92DZ("(["B`@
M("`D=F5R:69Y/3Q35$1)3CX["B`@("!C:&]P("1V97)I9GD["GT*"G5S92!.
M970Z.DQ$05!3.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden:&]L<W0N:&]U
M<W1O;BYS:6YE="YS;&(N8V]M)RQV97)S:6]N/3XS*2!O<B!D:64@(B1`(CL*
M(R1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)VQD87`R+G-L8BYC;VTG+'9E<G-I
M;VX]/C,I(&]R(&1I92`B)$`B.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden
M;&1A<#0N<VQB+F-O;2<L=F5R<VEO;CT^,RD@;W(@9&EE("(D0"(["B,D;&1A
M<"`](&YE=R!.970Z.DQ$05!3*"=L9&%P+G-L8BYC;VTG+'9E<G-I;VX]/C,I
M(&]R(&1I92`B)$`B.PHC(%-E="!A('1I;65R"B1T:6UE;W5T/3$P.PHD4TE'
M>T%,4DU](#T@<W5B('address@hidden&EE(")T:6UE;W5T(B!].PIE=F%L('L*("`@(&%L
M87)M*"1T:6UE;W5T*3L*("`@("1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)&AO
M<W0L=F5R<VEO;CT^,RQV97)I9GD]/B1V97)I9GDL;VYE<G)O<CT^)W=A<FXG
M*3L*("`@(&%L87)M*#`I.PI].PII9B`H)$`I('L*("`@(&EF("@D0"`]?B`O
M=&EM96]U="\I('L*"61I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!P;W)T(&9A
M:6QE9"!T;R!S=&%R="!I;B`D=&EM96]U="!S96-O;F1S(2(["B`@("!](&5L
M<V4@>PH)9&EE("1`.PH@("address@hidden"G5N;&5S<R`H)&QD87`I('L*("`@(&1I
M92`B0V]N;F5C=&EO;B!T;R`D:&]S="!F86EL960A(CL*?2`@("`@(`H*)&UE
M<V<@/2`D;&1A<"T^<V5A<F-H("@@(",@<&5R9F]R;2!A('-E87)C:`H)"0D@
M8F%S92`@(#T^(")O/7-L8BQC/4%.(BP*"0D)(&9I;'1E<B`]/B`D9FEL=&5R
M+`H)"address@hidden<G,@/address@hidden;&EA<R<L)V-N)RPG;6%I;"=="@D)"2`*"0D)
M("D["B1M97-G+3YC;V1E("8F(&1I92`D;65S9RT^97)R;W(["@H@(",@0VAE
M8VL@;VYE(')E8V]R9"!A;address@hidden($1."FUY("address@hidden)&UE<V<M/F-O=6YT
M.PII9B`H)&UA>"`A/2`Q*2!["B`@("!P<FEN="!Q<7M&;W5N9"`D;6%X(&UA
M=&-H97,@=&address@hidden&AE(&9I;'1E<B`B)&9I;'1E<B(Z7&Y]+`H@("`@)RTG>#(P
M+")<;B(["B`@("!F;W(H)&D@/2`P(#L@)&D@/"`D;6%X(#L@)&DK*RD@>PH)
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*"1I*3L*"69O<F5A8V@@;7D@)&%T
M='(@*"1E;G1R>2T^871T<FEB=71E<RD@>PH)("`@('!R:6YT("<@)RQJ;VEN
M*")<;B`@(BPD871T<BP@)&5N=')Y+3YG971?=F%L=64H)&%T='(I*2PB7&XB
M.PH)?0H)<')I;G0@)RTG>#(P+")<;B(["B`@("!]"B`@("!P<FEN="`B375S
M="!H879E(&]N92!M871C:"!F;W(@;&]G:6XA7&XB.PI](&5L<V4@>PH@("`@
M;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*#`I.PH@("`@;7D@)&1N/21E;G1R
M>2T^9&X["B`@("!I9B`H)'!A<W-W9"!E<2`G)RD@>PH)<')I;G0@(D-A;FYO
M="!A=71H96YT:6-A=&address@hidden:"!B;&%N:R!P87-S=V]R9"%<;B(["B`@("!]
M(&5L<V4@>PH))&UE<V<@/2`D;&1A<"T^8FEN9"@@)&1N+"!P87-S=V]R9"`]
M/B`D<&%S<W=D*3L*"6EF("@D;65S9RT^8V]D92D@>PH)("`@('!R:6YT(")&
address@hidden&address@hidden:&5N=&EC871E(&%S("1D;EQN(BPD;65S9RT^97)R;W(L
M(EQN(CL*"address@hidden"@D@("`@<')I;G0@(D%U=&AE;address@hidden,@
C)&1N7&XB.PH)?0H@("address@hidden"@HD;&1A<"T^=6YB:6YD.PH`
`
end
# Sending end of data token...
$ EOF
# Waiting for remote host to process data...
$ echo tramp_exit_status $? 
tramp_exit_status 0
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...done
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20923) (15750 20923) 2060 33204 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20923) (15750 20923) 2060 33204 t (1 . 
63704) (0 769))
$ chmod 0644 /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -e /home/gray/work/RCS/temp.pl\,v 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/gray/work/temp.pl\,v 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/gray/work/RCS/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/gray/work/SCCS/s.temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ test -e /home/gray/work/s.temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 1
$ ( test -d /home/gray/work/CVS 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20923) (15750 20924) 2060 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20923) (15750 20924) 2060 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -w /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Encoding region...
# Encoding region using function...
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...
$ uudecode -o - >/home/gray/work/temp.pl <<'EOF'
# Sending data to remote host...
begin 600 xxx
M(R!-;VX@,38M4V5P+3(P,#(@,C(address@hidden($1O=6=L87,@1W)A>2!3=&5P:&5N
M<PH*(R!'address@hidden&5T86EL<R`*;7D@)&9I;'1E<BPD<&%S<W=D+"1H;W-T+"1V
M97)I9GD["FEF("@D(T%21U8@/3T@,RD@>PH@("address@hidden"1F:6QT97(L("1P87-S
M=V0L)&AO<W0L)'9E<FEF>2D]0$%21U8["address@hidden"B`@("!P<FEN="`B
M1FEL=&5R.B`B.PH@("`@)&9I;'1E<CT\4U1$24X^.PH@("address@hidden<"`D9FEL
M=&5R.PH@("`@<')I;G0@(E!A<W-W;W)D.B`B.PH@("`@)'!A<W-W9#T\4U1$
M24X^.PH@("address@hidden<"`D<&%S<W=D.PH@("`@<')I;G0@(DQ$05!3($AO<W0Z
M("(["B`@("`D:&]S=#T\4U1$24X^.PH@("address@hidden<"`D:&]S=#L*("`@('!R
M:6YT(")#97)T:69I8V%T92!V97)I9FEC871I;address@hidden&YO;F4O<F5Q=6ER92DZ
M("(["B`@("`D=F5R:69Y/3Q35$1)3CX["B`@("!C:&]P("1V97)I9GD["GT*
M"G5S92!.970Z.DQ$05!3.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden:&]L
M<W0N:&]U<W1O;BYS:6YE="YS;&(N8V]M)RQV97)S:6]N/3XS*2!O<B!D:64@
M(B1`(CL*(R1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)VQD87`R+G-L8BYC;VTG
M+'9E<G-I;VX]/C,I(&]R(&1I92`B)$`B.PHC)&QD87`@/2!N97<@3F5T.CI,
address@hidden;&1A<#0N<VQB+F-O;2<L=F5R<VEO;CT^,RD@;W(@9&EE("(D0"([
M"B,D;&1A<"`](&YE=R!.970Z.DQ$05!3*"=L9&%P+G-L8BYC;VTG+'9E<G-I
M;VX]/C,I(&]R(&1I92`B)$`B.PHC(%-E="!A('1I;65R"B1T:6UE;W5T/3$P
M.PHD4TE'>T%,4DU](#T@<W5B('address@hidden&EE(")T:6UE;W5T(B!].PIE=F%L('L*
M("`@(&%L87)M*"1T:6UE;W5T*3L*("`@("1L9&%P(#T@;F5W($YE=#HZ3$1!
M4%,H)&AO<W0L=F5R<VEO;CT^,RQV97)I9GD]/B1V97)I9GDL;VYE<G)O<CT^
M)W=A<FXG*3L*("`@(&%L87)M*#`I.PI].PII9B`H)$`I('L*("`@(&EF("@D
M0"`]?B`O=&EM96]U="\I('L*"61I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!P
M;W)T(&9A:6QE9"!T;R!S=&%R="!I;B`D=&EM96]U="!S96-O;F1S(2(["B`@
M("!](&5L<V4@>PH)9&EE("1`.PH@("address@hidden"G5N;&5S<R`H)&QD87`I('L*
M("`@(&1I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!F86EL960A(CL*?2`@("`@
M(`H*)&UE<V<@/2`D;&1A<"T^<V5A<F-H("@@(",@<&5R9F]R;2!A('-E87)C
M:`H)"address@hidden@(#T^(")O/7-L8BQC/4%.(BP*"0D)(&9I;'1E<B`]/B`D
M9FEL=&5R+`H)"address@hidden<G,@/address@hidden;&EA<R<L)V-N)RPG;6%I;"=="@D)
M"2`*"0D)("D["B1M97-G+3YC;V1E("8F(&1I92`D;65S9RT^97)R;W(["@H@
M(",@0VAE8VL@;VYE(')E8V]R9"!A;address@hidden($1."FUY("address@hidden)&UE<V<M
M/F-O=6YT.PII9B`H)&UA>"`A/2`Q*2!["B`@("!P<FEN="!Q<7M&;W5N9"`D
M;6%X(&UA=&-H97,@=&address@hidden&AE(&9I;'1E<B`B)&9I;'1E<B(Z7&Y]+`H@("`@
M)RTG>#(P+")<;B(["B`@("!F;W(H)&D@/2`P(#L@)&D@/"`D;6%X(#L@)&DK
M*RD@>PH);7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*"1I*3L*"69O<F5A8V@@
M;7D@)&%T='(@*"1E;G1R>2T^871T<FEB=71E<RD@>PH)("`@('!R:6YT("<@
M)RQJ;VEN*")<;B`@(BPD871T<BP@)&5N=')Y+3YG971?=F%L=64H)&%T='(I
M*2PB7&XB.PH)?0H)<')I;G0@)RTG>#(P+")<;B(["B`@("!]"B`@("!P<FEN
M="`B375S="!H879E(&]N92!M871C:"!F;W(@;&]G:6XA7&XB.PI](&5L<V4@
M>PH@("`@;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*#`I.PH@("`@;7D@)&1N
M/21E;G1R>2T^9&X["B`@("!I9B`H)'!A<W-W9"!E<2`G)RD@>PH)<')I;G0@
M(D-A;FYO="!A=71H96YT:6-A=&address@hidden:"!B;&%N:R!P87-S=V]R9"%<;B([
M"B`@("!](&5L<V4@>PH))&UE<V<@/2`D;&1A<"T^8FEN9"@@)&1N+"!P87-S
M=V]R9"`]/B`D<&%S<W=D*3L*"6EF("@D;65S9RT^8V]D92D@>PH)("`@('!R
M:6YT(")&address@hidden&address@hidden:&5N=&EC871E(&%S("1D;EQN(BPD;65S9RT^
M97)R;W(L(EQN(CL*"address@hidden"@D@("`@<')I;G0@(D%U=&AE;G1I8V%T
address@hidden,@)&1N7&XB.PH)?0H@("address@hidden"@HD;&1A<"T^=6YB:6YD.PH`
`
end
# Sending end of data token...
$ EOF
# Waiting for remote host to process data...
$ echo tramp_exit_status $? 
tramp_exit_status 0
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...done
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20940) (15750 20940) 2066 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20940) (15750 20940) 2066 33188 t (1 . 
63704) (0 769))
$ echo are you awake
are you awake
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20940) (15750 20940) 2066 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 20940) (15750 20940) 2066 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
$ test -w /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# Encoding region...
# Encoding region using function...
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...
$ uudecode -o - >/home/gray/work/temp.pl <<'EOF'
# Sending data to remote host...
begin 600 xxx
M(R!-;VX@,38M4V5P+3(P,#(@,C(Z-3$[($1O=6=L87,@1W)A>2!3=&5P:&5N
M<PH*(R!'address@hidden&5T86EL<R`*;7D@)&9I;'1E<BPD<&%S<W=D+"1H;W-T+"1V
M97)I9GD["FEF("@D(T%21U8@/3T@,RD@>PH@("address@hidden"1F:6QT97(L("1P87-S
M=V0L)&AO<W0L)'9E<FEF>2D]0$%21U8["address@hidden"B`@("!P<FEN="`B
M1FEL=&5R.B`B.PH@("`@)&9I;'1E<CT\4U1$24X^.PH@("address@hidden<"`D9FEL
M=&5R.PH@("`@<')I;G0@(E!A<W-W;W)D.B`B.PH@("`@)'!A<W-W9#T\4U1$
M24X^.PH@("address@hidden<"`D<&%S<W=D.PH@("`@<')I;G0@(DQ$05!3($AO<W0Z
M("(["B`@("`D:&]S=#T\4U1$24X^.PH@("address@hidden<"`D:&]S=#L*("`@('!R
M:6YT(")#97)T:69I8V%T92!V97)I9FEC871I;address@hidden&YO;F4O<F5Q=6ER92DZ
M("(["B`@("`D=F5R:69Y/3Q35$1)3CX["B`@("!C:&]P("1V97)I9GD["GT*
M"G5S92!.970Z.DQ$05!3.PHC)&QD87`@/2!N97<@3F5T.CI,address@hidden:&]L
M<W0N:&]U<W1O;BYS:6YE="YS;&(N8V]M)RQV97)S:6]N/3XS*2!O<B!D:64@
M(B1`(CL*(R1L9&%P(#T@;F5W($YE=#HZ3$1!4%,H)VQD87`R+G-L8BYC;VTG
M+'9E<G-I;VX]/C,I(&]R(&1I92`B)$`B.PHC)&QD87`@/2!N97<@3F5T.CI,
address@hidden;&1A<#0N<VQB+F-O;2<L=F5R<VEO;CT^,RD@;W(@9&EE("(D0"([
M"B,D;&1A<"`](&YE=R!.970Z.DQ$05!3*"=L9&%P+G-L8BYC;VTG+'9E<G-I
M;VX]/C,I(&]R(&1I92`B)$`B.PHC(%-E="!A('1I;65R"B1T:6UE;W5T/3$P
M.PHD4TE'>T%,4DU](#T@<W5B('address@hidden&EE(")T:6UE;W5T(B!].PIE=F%L('L*
M("`@(&%L87)M*"1T:6UE;W5T*3L*("`@("1L9&%P(#T@;F5W($YE=#HZ3$1!
M4%,H)&AO<W0L=F5R<VEO;CT^,RQV97)I9GD]/B1V97)I9GDL;VYE<G)O<CT^
M)W=A<FXG*3L*("`@(&%L87)M*#`I.PI].PII9B`H)$`I('L*("`@(&EF("@D
M0"`]?B`O=&EM96]U="\I('L*"61I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!P
M;W)T(&9A:6QE9"!T;R!S=&%R="!I;B`D=&EM96]U="!S96-O;F1S(2(["B`@
M("!](&5L<V4@>PH)9&EE("1`.PH@("address@hidden"G5N;&5S<R`H)&QD87`I('L*
M("`@(&1I92`B0V]N;F5C=&EO;B!T;R`D:&]S="!F86EL960A(CL*?2`@("`@
M(`H*)&UE<V<@/2`D;&1A<"T^<V5A<F-H("@@(",@<&5R9F]R;2!A('-E87)C
M:`H)"address@hidden@(#T^(")O/7-L8BQC/4%.(BP*"0D)(&9I;'1E<B`]/B`D
M9FEL=&5R+`H)"address@hidden<G,@/address@hidden;&EA<R<L)V-N)RPG;6%I;"=="@D)
M"2`*"0D)("D["B1M97-G+3YC;V1E("8F(&1I92`D;65S9RT^97)R;W(["@H@
M(",@0VAE8VL@;VYE(')E8V]R9"!A;address@hidden($1."FUY("address@hidden)&UE<V<M
M/F-O=6YT.PII9B`H)&UA>"`A/2`Q*2!["B`@("!P<FEN="!Q<7M&;W5N9"`D
M;6%X(&UA=&-H97,@=&address@hidden&AE(&9I;'1E<B`B)&9I;'1E<B(Z7&Y]+`H@("`@
M)RTG>#(P+")<;B(["B`@("!F;W(H)&D@/2`P(#L@)&D@/"`D;6%X(#L@)&DK
M*RD@>PH);7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*"1I*3L*"69O<F5A8V@@
M;7D@)&%T='(@*"1E;G1R>2T^871T<FEB=71E<RD@>PH)("`@('!R:6YT("<@
M)RQJ;VEN*")<;B`@(BPD871T<BP@)&5N=')Y+3YG971?=F%L=64H)&%T='(I
M*2PB7&XB.PH)?0H)<')I;G0@)RTG>#(P+")<;B(["B`@("!]"B`@("!P<FEN
M="`B375S="!H879E(&]N92!M871C:"!F;W(@;&]G:6XA7&XB.PI](&5L<V4@
M>PH@("`@;7D@)&5N=')Y(#T@)&UE<V<M/F5N=')Y*#`I.PH@("`@;7D@)&1N
M/21E;G1R>2T^9&X["B`@("!I9B`H)'!A<W-W9"!E<2`G)RD@>PH)<')I;G0@
M(D-A;FYO="!A=71H96YT:6-A=&address@hidden:"!B;&%N:R!P87-S=V]R9"%<;B([
M"B`@("!](&5L<V4@>PH))&UE<V<@/2`D;&1A<"T^8FEN9"@@)&1N+"!P87-S
M=V]R9"`]/B`D<&%S<W=D*3L*"6EF("@D;65S9RT^8V]D92D@>PH)("`@('!R
M:6YT(")&address@hidden&address@hidden:&5N=&EC871E(&%S("1D;EQN(BPD;65S9RT^
M97)R;W(L(EQN(CL*"address@hidden"@D@("`@<')I;G0@(D%U=&AE;G1I8V%T
address@hidden,@)&1N7&XB.PH)?0H@("address@hidden"@HD;&1A<"T^=6YB:6YD.PH`
`
end
# Sending end of data token...
$ EOF
# Waiting for remote host to process data...
$ echo tramp_exit_status $? 
tramp_exit_status 0
# Decoding region into remote file 
/plink:address@hidden:/home/gray/work/temp.pl...done
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 21123) (15750 21123) 2066 33188 t (1 . 
63704) (0 769))
$ test -e /home/gray/work/temp.pl 2>/dev/null; echo tramp_exit_status $? 
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
$ tramp_file_attributes /home/gray/work/temp.pl
(nil 1 500 500 (15750 20923) (15750 21123) (15750 21123) 2066 33188 t (1 . 
63704) (0 769))

reply via email to

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