Kai,
At 12:30 (GMT+0200) on 12-September-2002, Kai Großjohann wrote: > Douglas Gray Stephens <[EMAIL PROTECTED]> writes: > > > I have downloaded 2.0.16 from the CVS archive on > > [EMAIL PROTECTED]:/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 gray@gray-linux-scr *debug tramp/plink gray@gray-linux-scr 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:gray@gray-linux-scr:/home/gray/work/temp.pl' tramp: Check /home tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home tramp: Check /home/gray tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray tramp: Check /home/gray/work tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work tramp: Check /home/gray/work/temp.pl tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work/temp.pl tramp: True name of `/plink:gray@gray-linux-scr:/home/gray/work/temp.pl' is `/home/gray/work/temp.pl' tramp: Finding true name for `/plink:gray@gray-linux-scr:/home/gray/work/temp.pl' tramp: Check /home tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home tramp: Check /home/gray tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray tramp: Check /home/gray/work tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work tramp: Check /home/gray/work/temp.pl tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work/temp.pl tramp: True name of `/plink:gray@gray-linux-scr:/home/gray/work/temp.pl' is `/home/gray/work/temp.pl' tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work/temp.pl [3 times] tramp: file attributes with perl: /plink:gray@gray-linux-scr:/home/gray/work/temp.pl.~1.~ tramp: Encoding region... tramp: Encoding region using function... tramp: Decoding region into remote file /plink:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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 gray@gray-linux-scr 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 <[EMAIL PROTECTED]>. # 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 <[EMAIL PROTECTED]>. # 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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/home/gray/work/temp1.pl' is `/home/gray/work/temp1.pl' # Finding true name for `/plink:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/home/gray/work/temp.pl' is `/home/gray/work/temp.pl' # Finding true name for `/plink:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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:gray@gray-linux-scr:/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 [EMAIL PROTECTED] ================================