[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tramp and NT-Emacs with plink
From: |
Douglas Gray Stephens |
Subject: |
Re: Tramp and NT-Emacs with plink |
Date: |
Fri, 13 Sep 2002 11:36:26 +0100 |
Kai,
At 12:30 (GMT+0200) on 12-September-2002, Kai Großjohann wrote:
> Douglas Gray Stephens <address@hidden> writes:
>
> > I have downloaded 2.0.16 from the CVS archive on
> > address@hidden:/cvsroot/tramp
> > and tried it out, and I only need set
> > (setq tramp-password-end-of-line "\r\n")
> > and otherwise the code works without modification.
>
> That's good news!
I spoke to soon. I am able to read files (which is what I was doing
yesterday), but it appears that I cannot write files -- I think the
file is actually written, but tramp reports an error
Method `plink' should specify both encoding and decoding command or an rcp
program
I have attached three files with details from the buffers
*Messages*
*tramp/plink address@hidden
*debug tramp/plink address@hidden
It appears that none of the methods specify a
tramp-encoding-command
tramp-decoding-command
tramp-encoding-function
tramp-decoding-function
and using
;; Use plink with MIME (base64) encoding
(add-to-list
'tramp-methods
'("pm"
(tramp-connection-function tramp-open-connection-rsh)
(tramp-rsh-program "plink")
(tramp-rcp-program nil)
(tramp-remote-sh "/bin/sh")
(tramp-rsh-args ("-v" "-ssh")) ;; "-v" optional
(tramp-rcp-args nil)
(tramp-rcp-keep-date-arg nil)
(tramp-su-program nil)
(tramp-su-args nil)
(tramp-encoding-command "mimencode -b")
(tramp-decoding-command "mimencode -u -b")
(tramp-encoding-function base64-encode-region)
(tramp-decoding-function base64-decode-region)
(tramp-telnet-program nil)
(tramp-telnet-args nil)
)
)
results in the same error.
Any suggestions?
Douglas.
tramp: Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
tramp: Check /home
tramp: file attributes with perl: /plink:address@hidden:/home
tramp: Check /home/gray
tramp: file attributes with perl: /plink:address@hidden:/home/gray
tramp: Check /home/gray/work
tramp: file attributes with perl: /plink:address@hidden:/home/gray/work
tramp: Check /home/gray/work/temp.pl
tramp: file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
tramp: True name of `/plink:address@hidden:/home/gray/work/temp.pl' is
`/home/gray/work/temp.pl'
tramp: Finding true name for `/plink:address@hidden:/home/gray/work/temp.pl'
tramp: Check /home
tramp: file attributes with perl: /plink:address@hidden:/home
tramp: Check /home/gray
tramp: file attributes with perl: /plink:address@hidden:/home/gray
tramp: Check /home/gray/work
tramp: file attributes with perl: /plink:address@hidden:/home/gray/work
tramp: Check /home/gray/work/temp.pl
tramp: file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
tramp: True name of `/plink:address@hidden:/home/gray/work/temp.pl' is
`/home/gray/work/temp.pl'
tramp: file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl
[3 times]
tramp: file attributes with perl:
/plink:address@hidden:/home/gray/work/temp.pl.~1.~
tramp: Encoding region...
tramp: Encoding region using function...
tramp: Decoding region into remote file
/plink:address@hidden:/home/gray/work/temp.pl...
tramp: Sending data to remote host...
tramp: Sending end of data token...
tramp: Waiting for remote host to process data...
tramp: Decoding region into remote file
/plink:address@hidden:/home/gray/work/temp.pl...done
Method `plink' should specify both encoding and decoding command or an rcp
program
$ echo are you awake
$ echo are you awake
# 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
# 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 {($_, sprintf(q(%06b), $i++))}
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, q());
# 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 `mimencode -b' for sanity
$ ( mimencode -b </dev/null >/dev/null 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 0
# Checking remote decoding command `mimencode -u -b' for sanity
$ ( echo xyzzy | mimencode -b | mimencode -u -b >/dev/null 2>/dev/null; echo
tramp_exit_status $? )
tramp_exit_status 0
# Checking to see if encoding/decoding commands work on remote host...
$ echo xyzzy | mimencode -b | mimencode -u -b
xyzzy
# Checking to see if encoding/decoding commands work on remote host...done
$ ( test -d /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
# Finding true name for `/plink:address@hidden:/home/gray/work/ldaps.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 (15745 21806) (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 (15745 41218) (15744 26181) (15744 26181) 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 (15745 21806) (15744 18291) (15744 18291) 4096 16893 t (1 .
63180) (0 769))
# Check /home/gray/work/ldaps.pl
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/ldaps.pl' is
`/home/gray/work/ldaps.pl'
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
$ echo are you awake
are you awake
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 1351) (15744 17430) (15744 17430) 2018 33204 t (1 .
63169) (0 769))
$ cd /home/gray/work/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ /bin/ls -a -d ldaps.pl.\~* 2>/dev/null | while read f; do if test -d "$f"
2>/dev/null; then echo "$f/"; else echo "$f"; fi; done
$ cd
$ mv -f /home/gray/work/ldaps.pl /home/gray/work/ldaps.pl.\~1.\~ 2>/dev/null;
echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/ldaps.pl.\~1.\~ 2>/dev/null; echo tramp_exit_status
$?
tramp_exit_status 0
$ test -e /home/gray/work/ldaps.pl.\~1.\~ 2>/dev/null; echo tramp_exit_status
$?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl.~1.~
$ tramp_file_attributes /home/gray/work/ldaps.pl.\~1.\~
(nil 1 500 500 (15745 1351) (15744 17430) (15745 47849) 2018 33204 t (1 .
63169) (0 769))
# Encoding region...
# Encoding region using function...
# Decoding region into remote file
/plink:address@hidden:/home/gray/work/ldaps.pl...
$ mimencode -u -b >/home/gray/work/ldaps.pl <<'EOF'
# Sending data to remote host...
CiMgR2V0IGRldGFpbHMgCm15ICRmaWx0ZXIsJHBhc3N3ZCwkaG9zdCwkdmVyaWZ5OwppZiAoJCNB
UkdWID09IDMpIHsKICAgICgkZmlsdGVyLCAkcGFzc3dkLCRob3N0LCR2ZXJpZnkpPUBBUkdWOwp9
IGVsc2UgewogICAgcHJpbnQgIkZpbHRlcjogIjsKICAgICRmaWx0ZXI9PFNURElOPjsKICAgIGNo
b3AgJGZpbHRlcjsKICAgIHByaW50ICJQYXNzd29yZDogIjsKICAgICRwYXNzd2Q9PFNURElOPjsK
ICAgIGNob3AgJHBhc3N3ZDsKICAgIHByaW50ICJMREFQUyBIb3N0OiAiOwogICAgJGhvc3Q9PFNU
RElOPjsKICAgIGNob3AgJGhvc3Q7CiAgICBwcmludCAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u
IChub25lL3JlcXVpcmUpOiAiOwogICAgJHZlcmlmeT08U1RESU4+OwogICAgY2hvcCAkdmVyaWZ5
Owp9Cgp1c2UgTmV0OjpMREFQUzsKIyRsZGFwID0gbmV3IE5ldDo6TERBUFMoJ2hvbHN0LmhvdXN0
b24uc2luZXQuc2xiLmNvbScsdmVyc2lvbj0+Mykgb3IgZGllICIkQCI7CiMkbGRhcCA9IG5ldyBO
ZXQ6OkxEQVBTKCdsZGFwMi5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBkaWUgIiRAIjsKIyRsZGFw
ID0gbmV3IE5ldDo6TERBUFMoJ2xkYXA0LnNsYi5jb20nLHZlcnNpb249PjMpIG9yIGRpZSAiJEAi
OwojJGxkYXAgPSBuZXcgTmV0OjpMREFQUygnbGRhcC5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBk
aWUgIiRAIjsKIyBTZXQgYSB0aW1lcgokdGltZW91dD0xMDsKJFNJR3tBTFJNfSA9IHN1YiB7IGRp
ZSAidGltZW91dCIgfTsKZXZhbCB7CiAgICBhbGFybSgkdGltZW91dCk7CiAgICAkbGRhcCA9IG5l
dyBOZXQ6OkxEQVBTKCRob3N0LHZlcnNpb249PjMsdmVyaWZ5PT4kdmVyaWZ5LG9uZXJyb3I9Pid3
YXJuJyk7CiAgICBhbGFybSgwKTsKfTsKaWYgKCRAKSB7CiAgICBpZiAoJEAgPX4gL3RpbWVvdXQv
KSB7CglkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgcG9ydCBmYWlsZWQgdG8gc3RhcnQgaW4gJHRp
bWVvdXQgc2Vjb25kcyEiOwogICAgfSBlbHNlIHsKCWRpZSAkQDsKICAgIH0KfQp1bmxlc3MgKCRs
ZGFwKSB7CiAgICBkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgZmFpbGVkISI7Cn0gICAgICAKCiRt
ZXNnID0gJGxkYXAtPnNlYXJjaCAoICAjIHBlcmZvcm0gYSBzZWFyY2gKCQkJIGJhc2UgICA9PiAi
bz1zbGIsYz1BTiIsCgkJCSBmaWx0ZXIgPT4gJGZpbHRlciwKCQkJIGF0dHJzID0+IFsnYWxpYXMn
LCdjbicsJ21haWwnXQoJCQkgCgkJCSApOwokbWVzZy0+Y29kZSAmJiBkaWUgJG1lc2ctPmVycm9y
OwoKICAjIENoZWNrIG9uZSByZWNvcmQgYW5kIGdldCBETgpteSAkbWF4PSRtZXNnLT5jb3VudDsK
aWYgKCRtYXggIT0gMSkgewogICAgcHJpbnQgcXF7Rm91bmQgJG1heCBtYXRjaGVzIHRvIHRoZSBm
aWx0ZXIgIiRmaWx0ZXIiOlxufSwKICAgICctJ3gyMCwiXG4iOwogICAgZm9yKCRpID0gMCA7ICRp
IDwgJG1heCA7ICRpKyspIHsKCW15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgkaSk7Cglmb3JlYWNo
IG15ICRhdHRyICgkZW50cnktPmF0dHJpYnV0ZXMpIHsKCSAgICBwcmludCAnICcsam9pbigiXG4g
ICIsJGF0dHIsICRlbnRyeS0+Z2V0X3ZhbHVlKCRhdHRyKSksIlxuIjsKCX0KCXByaW50ICctJ3gy
MCwiXG4iOwogICAgfQogICAgcHJpbnQgIk11c3QgaGF2ZSBvbmUgbWF0Y2ggZm9yIGxvZ2luIVxu
IjsKfSBlbHNlIHsKICAgIG15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgwKTsKICAgIG15ICRkbj0k
ZW50cnktPmRuOwogICAgaWYgKCRwYXNzd2QgZXEgJycpIHsKCXByaW50ICJDYW5ub3QgYXV0aGVu
dGljYXRlIHdpdGggYmxhbmsgcGFzc3dvcmQhXG4iOwogICAgfSBlbHNlIHsKCSRtZXNnID0gJGxk
YXAtPmJpbmQoICRkbiwgcGFzc3dvcmQgPT4gJHBhc3N3ZCk7CglpZiAoJG1lc2ctPmNvZGUpIHsK
CSAgICBwcmludCAiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBhcyAkZG5cbiIsJG1lc2ctPmVycm9y
LCJcbiI7Cgl9IGVsc2UgewoJICAgIHByaW50ICJBdXRoZW50aWNhdGVkIGFzICRkblxuIjsKCX0K
ICAgIH0KfQoKJGxkYXAtPnVuYmluZDsK
# 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/ldaps.pl...done
$ echo are you awake
are you awake
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/ldaps.pl
$ tramp_file_attributes /home/gray/work/ldaps.pl
(nil 1 500 500 (15745 47850) (15745 47850) (15745 47850) 2019 33204 t (1 .
63697) (0 769))
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/ldaps.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /home/gray/work/ldaps.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/ldaps.pl...
$ mimencode -u -b >/home/gray/work/ldaps.pl <<'EOF'
# Sending data to remote host...
CiMgR2V0IGRldGFpbHMgCm15ICRmaWx0ZXIsJHBhc3N3ZCwkaG9zdCwkdmVyaWZ5OwppZiAoJCNB
UkdWID09IDMpIHsKICAgICgkZmlsdGVyLCAkcGFzc3dkLCRob3N0LCR2ZXJpZnkpPUBBUkdWOwp9
IGVsc2UgewogICAgcHJpbnQgIkZpbHRlcjogIjsKICAgICRmaWx0ZXI9PFNURElOPjsKICAgIGNo
b3AgJGZpbHRlcjsKICAgIHByaW50ICJQYXNzd29yZDogIjsKICAgICRwYXNzd2Q9PFNURElOPjsK
ICAgIGNob3AgJHBhc3N3ZDsKICAgIHByaW50ICJMREFQUyBIb3N0OiAiOwogICAgJGhvc3Q9PFNU
RElOPjsKICAgIGNob3AgJGhvc3Q7CiAgICBwcmludCAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u
IChub25lL3JlcXVpcmUpOiAiOwogICAgJHZlcmlmeT08U1RESU4+OwogICAgY2hvcCAkdmVyaWZ5
Owp9Cgp1c2UgTmV0OjpMREFQUzsKIyRsZGFwID0gbmV3IE5ldDo6TERBUFMoJ2hvbHN0LmhvdXN0
b24uc2luZXQuc2xiLmNvbScsdmVyc2lvbj0+Mykgb3IgZGllICIkQCI7CiMkbGRhcCA9IG5ldyBO
ZXQ6OkxEQVBTKCdsZGFwMi5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBkaWUgIiRAIjsKIyRsZGFw
ID0gbmV3IE5ldDo6TERBUFMoJ2xkYXA0LnNsYi5jb20nLHZlcnNpb249PjMpIG9yIGRpZSAiJEAi
OwojJGxkYXAgPSBuZXcgTmV0OjpMREFQUygnbGRhcC5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBk
aWUgIiRAIjsKIyBTZXQgYSB0aW1lcgokdGltZW91dD0xMDsKJFNJR3tBTFJNfSA9IHN1YiB7IGRp
ZSAidGltZW91dCIgfTsKZXZhbCB7CiAgICBhbGFybSgkdGltZW91dCk7CiAgICAkbGRhcCA9IG5l
dyBOZXQ6OkxEQVBTKCRob3N0LHZlcnNpb249PjMsdmVyaWZ5PT4kdmVyaWZ5LG9uZXJyb3I9Pid3
YXJuJyk7CiAgICBhbGFybSgwKTsKfTsKaWYgKCRAKSB7CiAgICBpZiAoJEAgPX4gL3RpbWVvdXQv
KSB7CglkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgcG9ydCBmYWlsZWQgdG8gc3RhcnQgaW4gJHRp
bWVvdXQgc2Vjb25kcyEiOwogICAgfSBlbHNlIHsKCWRpZSAkQDsKICAgIH0KfQp1bmxlc3MgKCRs
ZGFwKSB7CiAgICBkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgZmFpbGVkISI7Cn0gICAgICAKCiRt
ZXNnID0gJGxkYXAtPnNlYXJjaCAoICAjIHBlcmZvcm0gYSBzZWFyY2gKCQkJIGJhc2UgICA9PiAi
bz1zbGIsYz1BTiIsCgkJCSBmaWx0ZXIgPT4gJGZpbHRlciwKCQkJIGF0dHJzID0+IFsnYWxpYXMn
LCdjbicsJ21haWwnXQoJCQkgCgkJCSApOwokbWVzZy0+Y29kZSAmJiBkaWUgJG1lc2ctPmVycm9y
OwoKICAjIENoZWNrIG9uZSByZWNvcmQgYW5kIGdldCBETgpteSAkbWF4PSRtZXNnLT5jb3VudDsK
aWYgKCRtYXggIT0gMSkgewogICAgcHJpbnQgcXF7Rm91bmQgJG1heCBtYXRjaGVzIHRvIHRoZSBm
aWx0ZXIgIiRmaWx0ZXIiOlxufSwKICAgICctJ3gyMCwiXG4iOwogICAgZm9yKCRpID0gMCA7ICRp
IDwgJG1heCA7ICRpKyspIHsKCW15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgkaSk7Cglmb3JlYWNo
IG15ICRhdHRyICgkZW50cnktPmF0dHJpYnV0ZXMpIHsKCSAgICBwcmludCAnICcsam9pbigiXG4g
ICIsJGF0dHIsICRlbnRyeS0+Z2V0X3ZhbHVlKCRhdHRyKSksIlxuIjsKCX0KCXByaW50ICctJ3gy
MCwiXG4iOwogICAgfQogICAgcHJpbnQgIk11c3QgaGF2ZSBvbmUgbWF0Y2ggZm9yIGxvZ2luIVxu
IjsKfSBlbHNlIHsKICAgIG15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgwKTsKICAgIG15ICRkbj0k
ZW50cnktPmRuOwogICAgaWYgKCRwYXNzd2QgZXEgJycpIHsKCXByaW50ICJDYW5ub3QgYXV0aGVu
dGljYXRlIHdpdGggYmxhbmsgcGFzc3dvcmQhXG4iOwogICAgfSBlbHNlIHsKCSRtZXNnID0gJGxk
YXAtPmJpbmQoICRkbiwgcGFzc3dvcmQgPT4gJHBhc3N3ZCk7CglpZiAoJG1lc2ctPmNvZGUpIHsK
CSAgICBwcmludCAiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBhcyAkZG5cbiIsJG1lc2ctPmVycm9y
LCJcbiI7Cgl9IGVsc2UgewoJICAgIHByaW50ICJBdXRoZW50aWNhdGVkIGFzICRkblxuIjsKCX0K
ICAgIH0KfQoKJGxkYXAtPnVuYmluZDsK
# 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/ldaps.pl...done
$ echo are you awake
are you awake
$ ( test -d /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $? )
tramp_exit_status 1
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
# Finding true name for `/plink:address@hidden:/home/gray/work/temp1.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 (15745 21806) (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 (15745 48314) (15744 26181) (15744 26181) 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 (15745 47849) (15745 48331) (15745 48331) 4096 16893 t (1 .
63180) (0 769))
# Check /home/gray/work/temp1.pl
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
# True name of `/plink:address@hidden:/home/gray/work/temp1.pl' is
`/home/gray/work/temp1.pl'
# Finding true name for `/plink:address@hidden:/home/gray/work/temp1.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 (15745 21806) (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 (15745 48314) (15744 26181) (15744 26181) 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 (15745 47849) (15745 48331) (15745 48331) 4096 16893 t (1 .
63180) (0 769))
# Check /home/gray/work/temp1.pl
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
# True name of `/plink:address@hidden:/home/gray/work/temp1.pl' is
`/home/gray/work/temp1.pl'
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -d /home/gray/work/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /home/gray/work/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
$ test -d /home/gray/work/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -w /home/gray/work/ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/temp1.pl 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 1
# Encoding region...
# Encoding region using function...
# Decoding region into remote file
/plink:address@hidden:/home/gray/work/temp1.pl...
$ mimencode -u -b >/home/gray/work/temp1.pl <<'EOF'
# Sending data to remote host...
CiMgR2V0IGRldGFpbHMgCm15ICRmaWx0ZXIsJHBhc3N3ZCwkaG9zdCwkdmVyaWZ5OwppZiAoJCNB
UkdWID09IDMpIHsKICAgICgkZmlsdGVyLCAkcGFzc3dkLCRob3N0LCR2ZXJpZnkpPUBBUkdWOwp9
IGVsc2UgewogICAgcHJpbnQgIkZpbHRlcjogIjsKICAgICRmaWx0ZXI9PFNURElOPjsKICAgIGNo
b3AgJGZpbHRlcjsKICAgIHByaW50ICJQYXNzd29yZDogIjsKICAgICRwYXNzd2Q9PFNURElOPjsK
ICAgIGNob3AgJHBhc3N3ZDsKICAgIHByaW50ICJMREFQUyBIb3N0OiAiOwogICAgJGhvc3Q9PFNU
RElOPjsKICAgIGNob3AgJGhvc3Q7CiAgICBwcmludCAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u
IChub25lL3JlcXVpcmUpOiAiOwogICAgJHZlcmlmeT08U1RESU4+OwogICAgY2hvcCAkdmVyaWZ5
Owp9Cgp1c2UgTmV0OjpMREFQUzsKIyRsZGFwID0gbmV3IE5ldDo6TERBUFMoJ2hvbHN0LmhvdXN0
b24uc2luZXQuc2xiLmNvbScsdmVyc2lvbj0+Mykgb3IgZGllICIkQCI7CiMkbGRhcCA9IG5ldyBO
ZXQ6OkxEQVBTKCdsZGFwMi5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBkaWUgIiRAIjsKIyRsZGFw
ID0gbmV3IE5ldDo6TERBUFMoJ2xkYXA0LnNsYi5jb20nLHZlcnNpb249PjMpIG9yIGRpZSAiJEAi
OwojJGxkYXAgPSBuZXcgTmV0OjpMREFQUygnbGRhcC5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBk
aWUgIiRAIjsKIyBTZXQgYSB0aW1lcgokdGltZW91dD0xMDsKJFNJR3tBTFJNfSA9IHN1YiB7IGRp
ZSAidGltZW91dCIgfTsKZXZhbCB7CiAgICBhbGFybSgkdGltZW91dCk7CiAgICAkbGRhcCA9IG5l
dyBOZXQ6OkxEQVBTKCRob3N0LHZlcnNpb249PjMsdmVyaWZ5PT4kdmVyaWZ5LG9uZXJyb3I9Pid3
YXJuJyk7CiAgICBhbGFybSgwKTsKfTsKaWYgKCRAKSB7CiAgICBpZiAoJEAgPX4gL3RpbWVvdXQv
KSB7CglkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgcG9ydCBmYWlsZWQgdG8gc3RhcnQgaW4gJHRp
bWVvdXQgc2Vjb25kcyEiOwogICAgfSBlbHNlIHsKCWRpZSAkQDsKICAgIH0KfQp1bmxlc3MgKCRs
ZGFwKSB7CiAgICBkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgZmFpbGVkISI7Cn0gICAgICAKCiRt
ZXNnID0gJGxkYXAtPnNlYXJjaCAoICAjIHBlcmZvcm0gYSBzZWFyY2gKCQkJIGJhc2UgICA9PiAi
bz1zbGIsYz1BTiIsCgkJCSBmaWx0ZXIgPT4gJGZpbHRlciwKCQkJIGF0dHJzID0+IFsnYWxpYXMn
LCdjbicsJ21haWwnXQoJCQkgCgkJCSApOwokbWVzZy0+Y29kZSAmJiBkaWUgJG1lc2ctPmVycm9y
OwoKICAjIENoZWNrIG9uZSByZWNvcmQgYW5kIGdldCBETgpteSAkbWF4PSRtZXNnLT5jb3VudDsK
aWYgKCRtYXggIT0gMSkgewogICAgcHJpbnQgcXF7Rm91bmQgJG1heCBtYXRjaGVzIHRvIHRoZSBm
aWx0ZXIgIiRmaWx0ZXIiOlxufSwKICAgICctJ3gyMCwiXG4iOwogICAgZm9yKCRpID0gMCA7ICRp
IDwgJG1heCA7ICRpKyspIHsKCW15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgkaSk7Cglmb3JlYWNo
IG15ICRhdHRyICgkZW50cnktPmF0dHJpYnV0ZXMpIHsKCSAgICBwcmludCAnICcsam9pbigiXG4g
ICIsJGF0dHIsICRlbnRyeS0+Z2V0X3ZhbHVlKCRhdHRyKSksIlxuIjsKCX0KCXByaW50ICctJ3gy
MCwiXG4iOwogICAgfQogICAgcHJpbnQgIk11c3QgaGF2ZSBvbmUgbWF0Y2ggZm9yIGxvZ2luIVxu
IjsKfSBlbHNlIHsKICAgIG15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgwKTsKICAgIG15ICRkbj0k
ZW50cnktPmRuOwogICAgaWYgKCRwYXNzd2QgZXEgJycpIHsKCXByaW50ICJDYW5ub3QgYXV0aGVu
dGljYXRlIHdpdGggYmxhbmsgcGFzc3dvcmQhXG4iOwogICAgfSBlbHNlIHsKCSRtZXNnID0gJGxk
YXAtPmJpbmQoICRkbiwgcGFzc3dvcmQgPT4gJHBhc3N3ZCk7CglpZiAoJG1lc2ctPmNvZGUpIHsK
CSAgICBwcmludCAiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBhcyAkZG5cbiIsJG1lc2ctPmVycm9y
LCJcbiI7Cgl9IGVsc2UgewoJICAgIHByaW50ICJBdXRoZW50aWNhdGVkIGFzICRkblxuIjsKCX0K
ICAgIH0KfQoKJGxkYXAtPnVuYmluZDsK
# 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/temp1.pl...done
$ ( test -d /home/gray/work/temp.pl 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
# 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 (15745 21806) (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 (15745 48577) (15744 26181) (15744 26181) 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 (15745 48581) (15745 48564) (15745 48564) 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 (15745 48331) (15745 48331) (15745 48331) 2019 33204 t (1 .
63698) (0 769))
# True name of `/plink:address@hidden:/home/gray/work/temp.pl' is
`/home/gray/work/temp.pl'
# 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 (15745 21806) (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 (15745 48577) (15744 26181) (15744 26181) 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 (15745 48581) (15745 48564) (15745 48564) 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 (15745 48331) (15745 48331) (15745 48331) 2019 33204 t (1 .
63698) (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 (15745 48331) (15745 48331) (15745 48331) 2019 33204 t (1 .
63698) (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 (15745 48331) (15745 48331) (15745 48331) 2019 33204 t (1 .
63698) (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 -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 (15745 48331) (15745 48331) (15745 48331) 2019 33204 t (1 .
63698) (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
$ cd
$ mv -f /home/gray/work/temp.pl /home/gray/work/temp.pl.\~1.\~ 2>/dev/null;
echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl.\~1.\~ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
$ test -e /home/gray/work/temp.pl.\~1.\~ 2>/dev/null; echo tramp_exit_status $?
tramp_exit_status 0
# file attributes with perl: /plink:address@hidden:/home/gray/work/temp.pl.~1.~
$ tramp_file_attributes /home/gray/work/temp.pl.\~1.\~
(nil 1 500 500 (15745 48331) (15745 48331) (15745 48593) 2019 33204 t (1 .
63698) (0 769))
# Encoding region...
# Encoding region using function...
# Decoding region into remote file
/plink:address@hidden:/home/gray/work/temp.pl...
$ mimencode -u -b >/home/gray/work/temp.pl <<'EOF'
# Sending data to remote host...
CiMgR2V0IGRldGFpbHMgCm15ICRmaWx0ZXIsJHBhc3N3ZCwkaG9zdCwkdmVyaWZ5OwppZiAoJCNB
UkdWID09IDMpIHsKICAgICgkZmlsdGVyLCAkcGFzc3dkLCRob3N0LCR2ZXJpZnkpPUBBUkdWOwp9
IGVsc2UgewogICAgcHJpbnQgIkZpbHRlcjogIjsKICAgICRmaWx0ZXI9PFNURElOPjsKICAgIGNo
b3AgJGZpbHRlcjsKICAgIHByaW50ICJQYXNzd29yZDogIjsKICAgICRwYXNzd2Q9PFNURElOPjsK
ICAgIGNob3AgJHBhc3N3ZDsKICAgIHByaW50ICJMREFQUyBIb3N0OiAiOwogICAgJGhvc3Q9PFNU
RElOPjsKICAgIGNob3AgJGhvc3Q7CiAgICBwcmludCAiQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u
IChub25lL3JlcXVpcmUpOiAiOwogICAgJHZlcmlmeT08U1RESU4+OwogICAgY2hvcCAkdmVyaWZ5
Owp9Cgp1c2UgTmV0OjpMREFQUzsKIyRsZGFwID0gbmV3IE5ldDo6TERBUFMoJ2hvbHN0LmhvdXN0
b24uc2luZXQuc2xiLmNvbScsdmVyc2lvbj0+Mykgb3IgZGllICIkQCI7CiMkbGRhcCA9IG5ldyBO
ZXQ6OkxEQVBTKCdsZGFwMi5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBkaWUgIiRAIjsKIyRsZGFw
ID0gbmV3IE5ldDo6TERBUFMoJ2xkYXA0LnNsYi5jb20nLHZlcnNpb249PjMpIG9yIGRpZSAiJEAi
OwojJGxkYXAgPSBuZXcgTmV0OjpMREFQUygnbGRhcC5zbGIuY29tJyx2ZXJzaW9uPT4zKSBvciBk
aWUgIiRAIjsKIyBTZXQgYSB0aW1lcgokdGltZW91dD0xMDsKJFNJR3tBTFJNfSA9IHN1YiB7IGRp
ZSAidGltZW91dCIgfTsKZXZhbCB7CiAgICBhbGFybSgkdGltZW91dCk7CiAgICAkbGRhcCA9IG5l
dyBOZXQ6OkxEQVBTKCRob3N0LHZlcnNpb249PjMsdmVyaWZ5PT4kdmVyaWZ5LG9uZXJyb3I9Pid3
YXJuJyk7CiAgICBhbGFybSgwKTsKfTsKaWYgKCRAKSB7CiAgICBpZiAoJEAgPX4gL3RpbWVvdXQv
KSB7CglkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgcG9ydCBmYWlsZWQgdG8gc3RhcnQgaW4gJHRp
bWVvdXQgc2Vjb25kcyEiOwogICAgfSBlbHNlIHsKCWRpZSAkQDsKICAgIH0KfQp1bmxlc3MgKCRs
ZGFwKSB7CiAgICBkaWUgIkNvbm5lY3Rpb24gdG8gJGhvc3QgZmFpbGVkISI7Cn0gICAgICAKCiRt
ZXNnID0gJGxkYXAtPnNlYXJjaCAoICAjIHBlcmZvcm0gYSBzZWFyY2gKCQkJIGJhc2UgICA9PiAi
bz1zbGIsYz1BTiIsCgkJCSBmaWx0ZXIgPT4gJGZpbHRlciwKCQkJIGF0dHJzID0+IFsnYWxpYXMn
LCdjbicsJ21haWwnXQoJCQkgCgkJCSApOwokbWVzZy0+Y29kZSAmJiBkaWUgJG1lc2ctPmVycm9y
OwoKICAjIENoZWNrIG9uZSByZWNvcmQgYW5kIGdldCBETgpteSAkbWF4PSRtZXNnLT5jb3VudDsK
aWYgKCRtYXggIT0gMSkgewogICAgcHJpbnQgcXF7Rm91bmQgJG1heCBtYXRjaGVzIHRvIHRoZSBm
aWx0ZXIgIiRmaWx0ZXIiOlxufSwKICAgICctJ3gyMCwiXG4iOwogICAgZm9yKCRpID0gMCA7ICRp
IDwgJG1heCA7ICRpKyspIHsKCW15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgkaSk7Cglmb3JlYWNo
IG15ICRhdHRyICgkZW50cnktPmF0dHJpYnV0ZXMpIHsKCSAgICBwcmludCAnICcsam9pbigiXG4g
ICIsJGF0dHIsICRlbnRyeS0+Z2V0X3ZhbHVlKCRhdHRyKSksIlxuIjsKCX0KCXByaW50ICctJ3gy
MCwiXG4iOwogICAgfQogICAgcHJpbnQgIk11c3QgaGF2ZSBvbmUgbWF0Y2ggZm9yIGxvZ2luIVxu
IjsKfSBlbHNlIHsKICAgIG15ICRlbnRyeSA9ICRtZXNnLT5lbnRyeSgwKTsKICAgIG15ICRkbj0k
ZW50cnktPmRuOwogICAgaWYgKCRwYXNzd2QgZXEgJycpIHsKCXByaW50ICJDYW5ub3QgYXV0aGVu
dGljYXRlIHdpdGggYmxhbmsgcGFzc3dvcmQhXG4iOwogICAgfSBlbHNlIHsKCSRtZXNnID0gJGxk
YXAtPmJpbmQoICRkbiwgcGFzc3dvcmQgPT4gJHBhc3N3ZCk7CglpZiAoJG1lc2ctPmNvZGUpIHsK
CSAgICBwcmludCAiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBhcyAkZG5cbiIsJG1lc2ctPmVycm9y
LCJcbiI7Cgl9IGVsc2UgewoJICAgIHByaW50ICJBdXRoZW50aWNhdGVkIGFzICRkblxuIjsKCX0K
ICAgIH0KfQoKJGxkYXAtPnVuYmluZDsK
# 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
tramp_exit_status 0
--
================================
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
================================
- Re: Tramp and NT-Emacs with plink, (continued)
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Rainer Thiel, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/13
- Re: Tramp and NT-Emacs with plink,
Douglas Gray Stephens <=
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/13
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/25
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/25
- Re: Tramp and NT-Emacs with plink, Douglas Gray Stephens, 2002/09/26
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/26
- Re: Tramp and NT-Emacs with plink, Kai Großjohann, 2002/09/26