;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'tramp) #@41 The default remote shell Tramp applies. (defconst tramp-default-remote-shell "/bin/sh" (#$ . 104)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\210\300\316\302\303\317DD\320\306\307\321\322\310\323& \207" [custom-declare-variable tramp-inline-compress-start-size funcall function #[0 "\300\207" [4096] 1] "The minimum size of compressing where inline transfer.\nWhen inline transfer, compress transferred data of file whose\nsize is this value or above (up to `tramp-copy-size-limit' for\nout-of-band methods).\nIf it is nil, no compression at all will be applied." :group tramp :type (choice (const nil) integer) tramp-copy-size-limit #[0 "\300\207" [10240] 1] "Maximum file size where inline copying is preferred to an out-of-the-band copy.\nIf it is nil, out-of-the-band copy will be used without a check." (choice (const nil) integer) tramp-histfile-override #[0 "\300\207" [#1="~/.tramp_history"] 1 #1#] "When invoking a shell, override the HISTFILE with this value.\nWhen setting to a string, it redirects the shell history to that\nfile. Be careful when setting to \"/dev/null\"; this might\nresult in undesired results when using \"bash\" as shell.\n\nThe value t unsets any setting of HISTFILE, and sets both\nHISTFILESIZE and HISTSIZE to 0. If you set this variable to nil,\nhowever, the *override* is disabled, so the history will go to\nthe default storage location, e.g. \"$HOME/.sh_history\"." :version "25.2" (choice (const :tag "Do not override HISTFILE" nil) (const :tag "Unset HISTFILE" t) (string :tag "Redirect to a file"))] 10) #@59 Terminal control escape sequences for display attributes. (defconst tramp-display-escape-sequence-regexp "[[:digit:];[]+m" (#$ . 1721)) #@54 Terminal control escape sequences for device status. (defconst tramp-device-escape-sequence-regexp "[[:digit:][]+n" (#$ . 1864)) #@166 String used to recognize end of output. The `$' character at the end is quoted; the string cannot be detected as prompt when being sent on echoing hosts, therefore. (defvar tramp-end-of-output (byte-code "\301\302\303\304!\305 P!\"\207" [process-environment format "///%s#$" md5 prin1-to-string current-time-string] 5) (#$ . 2001)) #@40 Prompt when establishing a connection. (defconst tramp-initial-end-of-output "#$ " (#$ . 2340)) #@50 String used to recognize end of heredoc strings. (defconst tramp-end-of-heredoc (md5 tramp-end-of-output) (#$ . 2442)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable tramp-use-ssh-controlmaster-options funcall function #[0 "\301=?\207" [system-type windows-nt] 2] "Whether to use `tramp-ssh-controlmaster-options'.\nSet it to nil, if you use Control* or Proxy* options in your ssh\nconfiguration." :group tramp :version "28.1" :type boolean] 10) #@468 Which ssh Control* arguments to use. If it is a string, it should have the form "-o ControlMaster=auto -o ControlPath=\='tramp.%%r@%%h:%%p\=' -o ControlPersist=no". Percent characters in the ControlPath spec must be doubled, because the string is used as format string. Otherwise, it will be auto-detected by Tramp, if `tramp-use-ssh-controlmaster-options' is non-nil. The value depends on the installed local ssh version. The string is used in `tramp-methods'. (defvar tramp-ssh-controlmaster-options nil (#$ . 2944)) #@243 Which scp strict file name checking argument to use. It is the string "-T" if supported by the local scp (since release 8.0), otherwise the string "". If it is nil, it will be auto-detected by Tramp. The string is used in `tramp-methods'. (defvar tramp-scp-strict-file-name-checking nil (#$ . 3475)) (add-hook 'tramp--startup-hook #[0 "\304\305\306\307\310\311D\312BBBB\"\210\304\305\313\314\315\311D\316BBBB\"\210\304\305\317\320\321\322\323\311D\324BBBBBB\"\210\304\305\325\326\327\330\311D\331BBBBB\"\210\304\305\332\333\334\335\336\311D\337BBBBBB\"\210\304\305\340\341\342\311D\343BBBB\"\210\304\305\344\345\346\311D\347BBBB\"\210\304\305\350\351\352\353\354\311D\355BBBBBB\"\210\304\305\356\357\360\361\311D\362BBBBB\"\210\304\305\363\364\365\311D\366BBBB\"\210\304\305\367\370\371\311D\372BBBB\"\210\304\305\373\374\375\311D\376BBBB\"\210\304\305\377\201@\201A\311D\201BBBBB\"\210\304\305\201C\201D\201E\311D\201FBBBB\"\210\304\305\201G\201H\201I\311D\201JBBBB\"\210\304\305\201K\201L\201M\311D\201NBBBB\"\210\304\305\201O\201P\201Q\311D\201RBBBB\"\210\304\305\201S\201T\201U\201V\201W\201X\201Y\201Z\201[\201\\\201] \n#C\201^BBBBBBBD\311D\201_BBBB\"\210\304\305\201`\201a\201U\201b\201c\201d\201e\201\\\201] \n#C\201fBBBBBD\311D\201gBBBB\"\210\304\305\201h\201i\201U\201j\201k\201l\201m\201n\201o\201\\\201] \n#C\201pBBBBBBBD\311D\201qBBBB\"\210\304\305\201r\201s\201U\201t\201u\201v\201w\201x\201y\201\\\201] \n#C\201zBBBBBBBD\311D\201{BBBB\"\210\304\305\201|\201}\201~\311D\201BBBB\"\210\304\201\200 \201\201B\"\210\304\201\202\201\203\201\204B\"\210\304\201\202\201\205\201\206\201\207 E\"\207" [tramp-default-remote-shell tramp-terminal-type tramp-initial-end-of-output tramp-local-host-regexp add-to-list tramp-methods "rcp" (tramp-login-program "rsh") (tramp-login-args (("%h") ("-l" "%u"))) tramp-remote-shell ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "rcp") (tramp-copy-args (("-p" "%k") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t)) "remcp" (tramp-login-program "remsh") (tramp-login-args (("%h") ("-l" "%u"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "rcp") (tramp-copy-args (("-p" "%k"))) (tramp-copy-keep-date t)) "scp" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-direct-async t) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("%x") ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t)) "scpx" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("-o" "RemoteCommand=\"%l\"") ("%h"))) (tramp-async-args (("-q"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("%x") ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t)) "rsync" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-direct-async t) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "rsync") (tramp-copy-args (("-t" "%k") ("-p") ("-r") ("-s") ("-c"))) (tramp-copy-env (("RSYNC_RSH") ("ssh" "%c"))) (tramp-copy-keep-date t) (tramp-copy-keep-tmpfile t) (tramp-copy-recursive t)) "rsh" (tramp-login-program "rsh") (tramp-login-args (("%h") ("-l" "%u"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "remsh" (tramp-login-program "remsh") (tramp-login-args (("%h") ("-l" "%u"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "ssh" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-direct-async t) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "sshx" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("-o" "RemoteCommand=\"%l\"") ("%h"))) (tramp-async-args (("-q"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "telnet" (tramp-login-program "telnet") (tramp-login-args (("%h") ("%p") ("%n"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "nc" (tramp-login-program "telnet") (tramp-login-args (("%h") ("%p") ("%n"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "nc") (tramp-copy-args (("-w" "1") ("-v") ("%h") ("%r"))) (tramp-remote-copy-program "nc") (tramp-remote-copy-args (("-l") ("-p" "%r") ("%n")))) "su" (tramp-login-program "su") (tramp-login-args (("-") ("%u"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10)) "sg" (tramp-login-program "sg") (tramp-login-args (("-") ("%u"))) ((tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10)) "sudo" (tramp-login-program "sudo") (tramp-login-args (("-u" "%u") ("-s") ("-H") ("-p" "P\"\"a\"\"s\"\"s\"\"w\"\"o\"\"r\"\"d\"\":") ("%l"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10) (tramp-session-timeout 300)) "doas" (tramp-login-program "doas") (tramp-login-args (("-u" "%u") ("-s"))) ((tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10) (tramp-session-timeout 300)) "ksu" (tramp-login-program "ksu") (tramp-login-args (("%u") ("-q"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10)) "krlogin" (tramp-login-program "krlogin") (tramp-login-args (("%h") ("-l" "%u") ("-x"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "plink" (tramp-login-program "plink") tramp-login-args ("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"") format "env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'" (("%l") ("\"")) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "plinkx" (tramp-login-program "plink") ("-load") ("%h") ("-t") ("\"") (("%l") ("\"")) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) "pscp" (tramp-login-program "plink") ("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"") (("%l") ("\"")) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "pscp") (tramp-copy-args (("-l" "%u") ("-P" "%p") ("-scp") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t)) "psftp" (tramp-login-program "plink") ("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"") (("%l") ("\"")) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")) (tramp-copy-program "pscp") (tramp-copy-args (("-l" "%u") ("-P" "%p") ("-sftp") ("-p" "%k") ("-q"))) (tramp-copy-keep-date t)) "fcp" (tramp-login-program "fsh") (tramp-login-args (("%h") ("-l" "%u") ("sh" "-i"))) ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-i") ("-c")) (tramp-copy-program "fcp") (tramp-copy-args (("-p" "%k"))) (tramp-copy-keep-date t)) tramp-default-method-alist ("\\`root\\'" "su") tramp-default-user-alist "\\`\\(?:doas\\|ksu\\|su\\(?:do\\)?\\)\\'" (nil "root") "\\`\\(?:fcp\\|krlogin\\|nc\\|r\\(?:cp\\|emcp\\|sh\\)\\|telnet\\)\\'" nil user-login-name] 15]) #@71 Default list of (FUNCTION FILE) pairs to be examined for rsh methods. (defconst tramp-completion-function-alist-rsh '((tramp-parse-rhosts "/etc/hosts.equiv") (tramp-parse-rhosts "~/.rhosts")) (#$ . 10833)) #@71 Default list of (FUNCTION FILE) pairs to be examined for ssh methods. (defconst tramp-completion-function-alist-ssh (byte-code "\301\302\303\304\305\306=\203\307\310!\206\311\"D\312\304\313\306=\203#\307\310!\206$\311\"D\314\315\316\317\303\304\320\306=\2039\307\321!\206:\322\"D\312\304\323\306=\203K\307\321!\206L\322\"D\324BBBBBBBBBB\207" [system-type (tramp-parse-rhosts "/etc/hosts.equiv") (tramp-parse-rhosts "/etc/shosts.equiv") tramp-parse-shosts expand-file-name "ssh/ssh_known_hosts" windows-nt getenv "ProgramData" "/etc/" tramp-parse-sconfig "ssh/ssh_config" (tramp-parse-shostkeys "/etc/ssh2/hostkeys") (tramp-parse-sknownhosts "/etc/ssh2/knownhosts") (tramp-parse-rhosts "~/.rhosts") (tramp-parse-rhosts "~/.shosts") ".ssh/known_hosts" "USERPROFILE" "~/" ".ssh/config" ((tramp-parse-shostkeys "~/.ssh2/hostkeys") (tramp-parse-sknownhosts "~/.ssh2/knownhosts"))] 14) (#$ . 11045)) #@74 Default list of (FUNCTION FILE) pairs to be examined for telnet methods. (defconst tramp-completion-function-alist-telnet '((tramp-parse-hosts "/etc/hosts")) (#$ . 11959)) #@70 Default list of (FUNCTION FILE) pairs to be examined for su methods. (defconst tramp-completion-function-alist-su '((tramp-parse-passwd "/etc/passwd")) (#$ . 12137)) #@70 Default list of (FUNCTION FILE) pairs to be examined for sg methods. (defconst tramp-completion-function-alist-sg '((tramp-parse-etc-group "/etc/group")) (#$ . 12309)) #@78 Default list of (FUNCTION REGISTRY) pairs to be examined for putty sessions. (defconst tramp-completion-function-alist-putty (byte-code "\301\302=\203 \303\202\f\304DC\207" [system-type tramp-parse-putty windows-nt "HKEY_CURRENT_USER\\Software\\SimonTatham\\PuTTY\\Sessions" "~/.putty/sessions"] 3) (#$ . 12483)) (byte-code "\300\301\302\"\210\303\304\305\306\307DD\310\311\312\313\314\315\316& \207" [add-hook tramp--startup-hook #[0 "\306\307\"\210\306\310\"\210\306\311 \"\210\306\312 \"\210\306\313 \"\210\306\314\"\210\306\315\"\210\306\316 \"\210\306\317 \"\210\306\320\n\"\210\306\321\n\"\210\306\322 \"\210\306\323 \"\210\306\324 \"\210\306\325 \"\210\306\326\f\"\210\306\327\"\210\306\330 \"\210\306\331 \"\210\306\332 \"\210\306\333 \"\210\306\334 \"\207" [tramp-completion-function-alist-rsh tramp-completion-function-alist-ssh tramp-completion-function-alist-telnet tramp-completion-function-alist-su tramp-completion-function-alist-sg tramp-completion-function-alist-putty tramp-set-completion-function "rcp" "remcp" "scp" "scpx" "rsync" "rsh" "remsh" "ssh" "sshx" "telnet" "nc" "su" "sudo" "doas" "ksu" "sg" "krlogin" "plink" "plinkx" "pscp" "psftp" "fcp"] 3] custom-declare-variable tramp-sh-extra-args funcall function #[0 "\300\207" [(("/bash\\'" . "-noediting -norc -noprofile") ("/zsh\\'" . "-f +Z -V"))] 1] "Alist specifying extra arguments to pass to the remote shell.\nEntries are (REGEXP . ARGS) where REGEXP is a regular expression\nmatching the shell file name and ARGS is a string specifying the\narguments. These arguments shall disable line editing, see\n`tramp-open-shell'.\n\nThis variable is only used when Tramp needs to start up another shell\nfor tilde expansion. The extra arguments should typically prevent the\nshell from reading its init file." :group tramp :version "27.1" :type (alist :key-type regexp :value-type string)] 10) #@473 List of pattern/action pairs. Whenever a pattern matches, the corresponding action is performed. Each item looks like (PATTERN ACTION). The PATTERN should be a symbol, a variable. The value of this variable gives the regular expression to search for. Note that the regexp must match at the end of the buffer, "\'" is implicitly appended to it. The ACTION should also be a symbol, but a function. When the corresponding PATTERN matches, the ACTION function is called. (defconst tramp-actions-before-shell '((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn) (tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp tramp-action-confirm-message) (tramp-process-alive-regexp tramp-action-process-alive)) (#$ . 14367)) #@145 List of pattern/action pairs. This list is used for copying/renaming with out-of-band methods. See `tramp-actions-before-shell' for more info. (defconst tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) (tramp-copy-failed-regexp tramp-action-permission-denied) (tramp-process-alive-regexp tramp-action-out-of-band)) (#$ . 15404)) #@315 Shell function to implement `uudecode' to standard output. Many systems support `uudecode -o /dev/stdout' or `uudecode -o -' for this or `uudecode -p', but some systems don't, and for them we have this shell function. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-uudecode "(echo begin 600 %t; tail -n +2) | uudecode\ncat %t\nrm -f %t" (#$ . 15837)) #@192 Perl script to produce output suitable for use with `file-truename' on the remote file system. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-file-truename "%p -e '\nuse File::Spec;\nuse Cwd \"realpath\";\n\nsub myrealpath {\n my ($file) = @_;\n return realpath($file) if (-e $file || -l $file);\n}\n\nsub recursive {\n my ($volume, @dirs) = @_;\n my $real = myrealpath(File::Spec->catpath(\n $volume, File::Spec->catdir(@dirs), \"\"));\n if ($real) {\n my ($vol, $dir) = File::Spec->splitpath($real, 1);\n return ($vol, File::Spec->splitdir($dir));\n }\n else {\n my $last = pop(@dirs);\n ($volume, @dirs) = recursive($volume, @dirs);\n push(@dirs, $last);\n return ($volume, @dirs);\n }\n}\n\n$result = myrealpath($ARGV[0]);\nif (!$result) {\n my ($vol, $dir) = File::Spec->splitpath($ARGV[0], 1);\n ($vol, @dirs) = recursive($vol, File::Spec->splitdir($dir));\n\n $result = File::Spec->catpath($vol, File::Spec->catdir(@dirs), \"\");\n}\n\n$result =~ s/\"/\\\\\"/g;\nprint \"\\\"$result\\\"\\n\";\n' \"$1\" %n" (#$ . 16260)) #@204 Perl script to produce output suitable for use with `file-name-all-completions' on the remote file system. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-file-name-all-completions "%p -e '\nopendir(d, $ARGV[0]) || die(\"$ARGV[0]: $!\\nfail\\n\");\n@files = readdir(d); closedir(d);\nforeach $f (@files) {\n if (-d \"$ARGV[0]/$f\") {\n print \"$f/\\n\";\n }\n else {\n print \"$f\\n\";\n }\n}\nprint \"ok\\n\"\n' \"$1\" %n" (#$ . 17458)) #@194 Perl script to produce output suitable for use with `file-attributes' on the remote file system. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-file-attributes "%p -e '\n@stat = lstat($ARGV[0]);\nif (!@stat) {\n print \"nil\\n\";\n exit 0;\n}\nif (($stat[2] & 0170000) == 0120000)\n{\n $type = readlink($ARGV[0]);\n $type =~ s/\"/\\\\\"/g;\n $type = \"\\\"$type\\\"\";\n}\nelsif (($stat[2] & 0170000) == 040000)\n{\n $type = \"t\";\n}\nelse\n{\n $type = \"nil\"\n};\n$uid = ($ARGV[1] eq \"integer\") ? $stat[4] : \"\\\"\" . getpwuid($stat[4]) . \"\\\"\";\n$gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\";\nprintf(\n \"(%%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u %%u t %%u -1)\\n\",\n $type,\n $stat[3],\n $uid,\n $gid,\n $stat[8] >> 16 & 0xffff,\n $stat[8] & 0xffff,\n $stat[9] >> 16 & 0xffff,\n $stat[9] & 0xffff,\n $stat[10] >> 16 & 0xffff,\n $stat[10] & 0xffff,\n $stat[7],\n $stat[2],\n $stat[1]\n);' \"$1\" \"$2\" %n" (#$ . 17974)) #@182 Perl script implementing `directory-files-and-attributes' as Lisp `read'able output. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-directory-files-and-attributes "%p -e '\nchdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit();\nopendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit();\n@list = readdir(DIR);\nclosedir(DIR);\n$n = scalar(@list);\nprintf(\"(\\n\");\nfor($i = 0; $i < $n; $i++)\n{\n $filename = $list[$i];\n @stat = lstat($filename);\n if (($stat[2] & 0170000) == 0120000)\n {\n $type = readlink($filename);\n $type =~ s/\"/\\\\\"/g;\n $type = \"\\\"$type\\\"\";\n }\n elsif (($stat[2] & 0170000) == 040000)\n {\n $type = \"t\";\n }\n else\n {\n $type = \"nil\"\n };\n $uid = ($ARGV[1] eq \"integer\") ? $stat[4] : \"\\\"\" . getpwuid($stat[4]) . \"\\\"\";\n $gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\";\n $filename =~ s/\"/\\\\\"/g;\n printf(\n \"(\\\"%%s\\\" %%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u %%u t %%u -1)\\n\",\n $filename,\n $type,\n $stat[3],\n $uid,\n $gid,\n $stat[8] >> 16 & 0xffff,\n $stat[8] & 0xffff,\n $stat[9] >> 16 & 0xffff,\n $stat[9] & 0xffff,\n $stat[10] >> 16 & 0xffff,\n $stat[10] & 0xffff,\n $stat[7],\n $stat[2],\n $stat[1]);\n}\nprintf(\")\\n\");' \"$1\" \"$2\" %n" (#$ . 19097)) #@232 Perl program to use for encoding a file. This implementation requires the MIME::Base64 Perl module to be installed on the remote host. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-encode-with-module "%p -MMIME::Base64 -0777 -ne 'print encode_base64($_)' %n" (#$ . 20702)) #@232 Perl program to use for decoding a file. This implementation requires the MIME::Base64 Perl module to be installed on the remote host. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-decode-with-module "%p -MMIME::Base64 -0777 -ne 'print decode_base64($_)' %n" (#$ . 21053)) #@138 Perl program to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-encode "%p -e '\n# This script contributed by Juanma Barranquero .\n# Copyright (C) 2002-2021 Free Software Foundation, Inc.\nuse strict;\n\nmy %%trans = do {\n my $i = 0;\n map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)}\n split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);\n};\nmy $data;\n\n# We read in chunks of 54 bytes, to generate output lines\n# of 72 chars (plus end of line)\nwhile (read STDIN, $data, 54) {\n my $pad = q();\n\n # Only for the last chunk, and only if did not fill the last\n # three-byte packet\n if (eof) {\n my $mod = length($data) %% 3;\n $pad = q(=) x (3 - $mod) if $mod;\n }\n\n # Not the fastest method, but it is simple: unpack to binary string, split\n # by groups of 6 bits and convert back from binary to byte; then map into\n # the translation table\n print\n join q(),\n map($trans{$_},\n (substr(unpack(q(B*), $data) . q(00000), 0, 432) =~ /....../g)),\n $pad,\n qq(\\n);\n}' %n" (#$ . 21404)) #@138 Perl program to use for decoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-decode "%p -e '\n# This script contributed by Juanma Barranquero .\n# Copyright (C) 2002-2021 Free Software Foundation, Inc.\nuse strict;\n\nmy %%trans = do {\n my $i = 0;\n map {($_, substr(unpack(q(B8), chr $i++), 2, 6))}\n split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)\n};\n\nmy %%bytes = map {(unpack(q(B8), chr $_), chr $_)} 0 .. 255;\n\nbinmode(\\*STDOUT);\n\n# We are going to accumulate into $pending to accept any line length\n# (we do not check they are <= 76 chars as the RFC says)\nmy $pending = q();\n\nwhile (my $data = ) {\n chomp $data;\n\n # If we find one or two =, we have reached the end and\n # any following data is to be discarded\n my $finished = $data =~ s/(==?).*/$1/;\n $pending .= $data;\n\n my $len = length($pending);\n my $chunk = substr($pending, 0, $len & ~3);\n $pending = substr($pending, $len & ~3 + 1);\n\n # Easy method: translate from chars to (pregenerated) six-bit packets, join,\n # split in 8-bit chunks and convert back to char.\n print join q(),\n map $bytes{$_},\n ((join q(), map {$trans{$_} || q()} split //, $chunk) =~ /......../g);\n\n last if $finished;\n}' %n" (#$ . 22652)) #@138 Perl program to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-pack "%p -e 'binmode STDIN; binmode STDOUT; print pack(q{u*}, join q{}, <>)' %n" (#$ . 24058)) #@138 Perl program to use for decoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-perl-unpack "%p -e 'binmode STDIN; binmode STDOUT; print unpack(q{u*}, join q{}, <>)' %n" (#$ . 24318)) #@143 `hexdump' program to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-hexdump-encode "%h -v -e '16/1 \" %%02x\" \"\\n\"'" (#$ . 24582)) #@139 `awk' program to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-awk-encode "%a '\\\nBEGIN {\n b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n b16 = \"0123456789abcdef\"\n}\n{\n for (c=1; c<=length($0); c++) {\n d=index(b16, substr($0,c,1))\n if (d--) {\n for (b=1; b<=4; b++) {\n o=o*2+int(d/8); d=(d*2)%%16\n if (++obc==6) {\n printf substr(b64,o+1,1)\n if (++rc>75) { printf \"\\n\"; rc=0 }\n obc=0; o=0\n }\n }\n }\n }\n}\nEND {\n if (obc) {\n tail=(obc==2) ? \"==\\n\" : \"=\\n\"\n while (obc++<6) { o=o*2 }\n printf \"%%c\", substr(b64,o+1,1)\n } else {\n tail=\"\\n\"\n }\n printf tail\n}'" (#$ . 24813)) #@148 `hexdump' / `awk' pipe to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-hexdump-awk-encode (format "%s | %s" tramp-hexdump-encode tramp-awk-encode) (#$ . 25637)) #@138 `od' program to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-od-encode "%o -v -t x1 -A n" (#$ . 25897)) #@143 `od' / `awk' pipe to use for encoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-od-awk-encode (format "%s | %s" tramp-od-encode tramp-awk-encode) (#$ . 26100)) #@137 Awk program to use for decoding a file. Format specifiers are replaced by `tramp-expand-script', percent characters need to be doubled. (defconst tramp-awk-decode "%a '\\\nBEGIN {\n b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n}\n{\n for (i=1; i<=length($0); i++) {\n c=index(b64, substr($0,i,1))\n if(c--) {\n for(b=0; b<6; b++) {\n o=o*2+int(c/32); c=(c*2)%%64\n if(++obc==8) {\n if (o) {\n printf \"%%c\", o\n } else {\n system(\"dd if=/dev/zero bs=1 count=1 %n\")\n }\n obc=0; o=0\n }\n }\n }\n }\n}'" (#$ . 26345)) #@314 Script to check existence of VC related files. It must be send formatted with two strings; the tests for file existence, and file readability. Input shall be read via here-document, otherwise the command could exceed maximum length of command line. Format specifiers "%s" are replaced before the script is used. (defconst tramp-vc-registered-read-file-names "echo \"(\"\nwhile read file; do\n quoted=`echo \"$file\" | sed -e \"s/\\\"/\\\\\\\\\\\\\\\\\\\"/\"`\n if %s \"$file\"; then\n echo \"(\\\"$quoted\\\" \\\"file-exists-p\\\" t)\"\n else\n echo \"(\\\"$quoted\\\" \\\"file-exists-p\\\" nil)\"\n fi\n if %s \"$file\"; then\n echo \"(\\\"$quoted\\\" \\\"file-readable-p\\\" t)\"\n else\n echo \"(\\\"$quoted\\\" \\\"file-readable-p\\\" nil)\"\n fi\ndone\necho \")\"" (#$ . 27004)) #@106 Alist of handler functions. Operations not mentioned here will be handled by the normal Emacs functions. (defconst tramp-sh-file-name-handler-alist '((access-file . tramp-handle-access-file) (add-name-to-file . tramp-sh-handle-add-name-to-file) (copy-directory . tramp-sh-handle-copy-directory) (copy-file . tramp-sh-handle-copy-file) (delete-directory . tramp-sh-handle-delete-directory) (delete-file . tramp-sh-handle-delete-file) (directory-file-name . tramp-handle-directory-file-name) (directory-files . tramp-handle-directory-files) (directory-files-and-attributes . tramp-sh-handle-directory-files-and-attributes) (dired-compress-file . tramp-sh-handle-dired-compress-file) (dired-uncache . tramp-handle-dired-uncache) (exec-path . tramp-sh-handle-exec-path) (expand-file-name . tramp-sh-handle-expand-file-name) (file-accessible-directory-p . tramp-handle-file-accessible-directory-p) (file-acl . tramp-sh-handle-file-acl) (file-attributes . tramp-sh-handle-file-attributes) (file-directory-p . tramp-sh-handle-file-directory-p) (file-equal-p . tramp-handle-file-equal-p) (file-executable-p . tramp-sh-handle-file-executable-p) (file-exists-p . tramp-sh-handle-file-exists-p) (file-in-directory-p . tramp-handle-file-in-directory-p) (file-local-copy . tramp-sh-handle-file-local-copy) (file-modes . tramp-handle-file-modes) (file-name-all-completions . tramp-sh-handle-file-name-all-completions) (file-name-as-directory . tramp-handle-file-name-as-directory) (file-name-case-insensitive-p . tramp-handle-file-name-case-insensitive-p) (file-name-completion . tramp-handle-file-name-completion) (file-name-directory . tramp-handle-file-name-directory) (file-name-nondirectory . tramp-handle-file-name-nondirectory) (file-newer-than-file-p . tramp-handle-file-newer-than-file-p) (file-notify-add-watch . tramp-sh-handle-file-notify-add-watch) (file-notify-rm-watch . tramp-handle-file-notify-rm-watch) (file-notify-valid-p . tramp-handle-file-notify-valid-p) (file-ownership-preserved-p . tramp-sh-handle-file-ownership-preserved-p) (file-readable-p . tramp-sh-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-remote-p . tramp-handle-file-remote-p) (file-selinux-context . tramp-sh-handle-file-selinux-context) (file-symlink-p . tramp-handle-file-symlink-p) (file-system-info . tramp-sh-handle-file-system-info) (file-truename . tramp-sh-handle-file-truename) (file-writable-p . tramp-sh-handle-file-writable-p) (find-backup-file-name . tramp-handle-find-backup-file-name) (insert-directory . tramp-sh-handle-insert-directory) (insert-file-contents . tramp-handle-insert-file-contents) (load . tramp-handle-load) (make-auto-save-file-name . tramp-handle-make-auto-save-file-name) (make-directory . tramp-sh-handle-make-directory) (make-nearby-temp-file . tramp-handle-make-nearby-temp-file) (make-process . tramp-sh-handle-make-process) (make-symbolic-link . tramp-sh-handle-make-symbolic-link) (process-file . tramp-sh-handle-process-file) (rename-file . tramp-sh-handle-rename-file) (set-file-acl . tramp-sh-handle-set-file-acl) (set-file-modes . tramp-sh-handle-set-file-modes) (set-file-selinux-context . tramp-sh-handle-set-file-selinux-context) (set-file-times . tramp-sh-handle-set-file-times) (set-visited-file-modtime . tramp-sh-handle-set-visited-file-modtime) (shell-command . tramp-handle-shell-command) (start-file-process . tramp-handle-start-file-process) (substitute-in-file-name . tramp-handle-substitute-in-file-name) (temporary-file-directory . tramp-handle-temporary-file-directory) (tramp-get-remote-gid . tramp-sh-handle-get-remote-gid) (tramp-get-remote-uid . tramp-sh-handle-get-remote-uid) (tramp-set-file-uid-gid . tramp-sh-handle-set-file-uid-gid) (unhandled-file-name-directory . ignore) (vc-registered . tramp-sh-handle-vc-registered) (verify-visited-file-modtime . tramp-sh-handle-verify-visited-file-modtime) (write-region . tramp-sh-handle-write-region)) (#$ . 27817)) #@273 Like `make-symbolic-link' for Tramp files. If TARGET is a non-Tramp file, it is used verbatim as the target of the symlink. If TARGET is a Tramp file, only the localname component is used as the target of the symlink. (fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sh-handle-make-symbolic-link #[770 "\303\304!!\204\305\306E\"\207\307!\211\242>\204!\310\311\312D\"\210\211A@\242>\2042\310\311\312D\"\210\3138\242>\204C\310\311\312D\"\210\3148\242>\204U\310\311\312D\"\210\3158\242>\204g\310\311\312D\"\210\3168\242>\204y\310\311\312D\"\210\3178\242>\204\215\310\311\312 D\"\210\3208\321\303 !\203\255\322\307 !\"\203\255\323\304\f!!\262 )\303 !\203\352\306 \324\211?\205\277\n\211?\205\310\n\325\326\327!\")\266\202\203\331\202\341\330!\326\327!Q)\266\202  #\207\331!\305\332C\"\204\376\333\n\334\335#\210\336\f!\203*\n\203\n\247\203%\337\340\341\"!\204%\333\n\342#\210\202*\343\f!\210\344\n\"\210\345\n\340\346\347!\"\"\205Q\345\n\340\350\347!\347\351\352\f!P!$\"\207" [cl-struct-tramp-file-name-tags non-essential file-name-handler-alist tramp-tramp-file-p expand-file-name tramp-run-real-handler make-symbolic-link tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 t tramp-file-name-equal-p tramp-file-local-name top string-prefix-p "/:" file-local-name file-remote-p tramp-get-remote-ln file-name-directory tramp-error file-error "Making a symbolic link. ln(1) does not exist on the remote host." file-exists-p yes-or-no-p format "File %s already exists; make it a link anyway? " file-already-exists delete-file tramp-flush-file-properties tramp-send-command-and-check "cd %s" tramp-shell-quote-argument "%s -sf %s %s" "./" file-name-nondirectory] 23 (#$ . 31758)]) #@54 Like `file-truename' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-truename #[257 "\306!\203\n\307\202 \310\311\211?\205\312\313\314!\")\266\202\203$\315\202%\310\316\317!\311\211?\2050\314!\211\211?\205<\312\313\314!\")\266\202\203Z\211G\320U\203T\321\202X\211\320\311O\262\322!P)\266\203!\211\242 >\204q\323\324\325D\"\210\211A@\242 >\204\202\323\324\325D\"\210\3208\242 >\204\223\323\324\325D\"\210\3268\242 >\204\245\323\324\325D\"\210\3278\242 >\204\267\323\324\325D\"\210\3308\242 >\204\311\323\324\325D\"\210\3318\242 >\204\335\323\324\325 D\"\210\3328\333\334!\203\335\n\336\n$\211\n=\203\311 \327\337C\3401\231 X\205\223\326X\2039\f\2049\341\342\343U\203\344\2024\345U\203)\344\2024\320U\2033\346\2024\347P#\210 \327Y\205\223\343\345U\203s\3501rr\351!\203X\352!\202\\\353\354\"q\210\355P\262\356\357 C\"\211\262)0\210\202s\210\351!\203\360\361\"\262)\242 >\205\223\341\362\363\364\"P$0\266\202\233\266\365\f!\203\306\366\f\363\367\365!\370 !#\"\210r\353\f!q\210eb\210e\371 {\262)\202\372\f!\203\372\373\f\374\311#\203\372\373\f\375\311#\203\372\376\f \377#\210\201@\f\363\201A\370\n!\"\"\262\202\201B\201C!!\262\201D!\203%\211\230\203%\201E\f\201F\201G$\210\322!\203\\\211\201H\211?\2055\211?\205>\312\313\314!\")\266\202\203O\202W\322!\313\314!Q)\266\202\262 \327\201ID\3401 X\205\372\326X\203\240\f\204\240\341\342\343U\203\206\344\202\233\345U\203\220\344\202\233\320U\203\232\346\202\233\347P#\210 \327Y\205\372\343\345U\203\332\3501\331r\351!\203\277\352!\202\303\353\354\"q\210\355P\262\356\357 C\"\211\262)0\210\202\332\210\351!\203\346\360\361\"\262)\242 >\205\372\341\362\363\364\"P$0\266\202\266\211\262\262\201J \336$\210\211\262\202%\311\n\327\337C\3401\272 X\205\264\326X\203Z\f\204Z\341\342\343U\203@\344\202U\345U\203J\344\202U\320U\203T\346\202U\347P#\210 \327Y\205\264\343\345U\203\224\3501\223r\351!\203y\352!\202}\353\354\"q\210\355P\262\356\357 C\"\211\262)0\210\202\224\210\351!\203\240\360\361\"\262)\242 >\205\264\341\362\363\364\"P$0\266\202\274\266\365 !\203\347\366 \363\367\365!\370\n!#\"\210r\353 !q\210eb\210e\371 {\262)\202'\372 !\203\373 \374\311#\203\373 \375\311#\203\376 \377#\210\201@ \363\201A\370 !\"\"\262\202'\201B\201C!!\262\201D!\203E\211\230\203E\201E \201F\201G$\210\322!\203|\211\201H\211?\205U\211?\205^\312\313\314!\")\266\202\203o\202w\322!\313\314!Q)\266\202\262\n\327\201ID\3401  X\205\326X\203\300\f\204\300\341\342\343U\203\246\344\202\273\345U\203\260\344\202\273\320U\203\272\346\202\273\347P#\210 \327Y\205\343\345U\203\372\3501\371r\351!\203\337\352!\202\343\353\354\"q\210\355P\262\356\357 C\"\211\262)0\210\202\372\210\351!\203\360\361\"\262)\242 >\205\341\362\363\364\"P$0\266\202\"\266\211\262\201K#\266\210!!\207" [file-name-handler-alist cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter tramp-perl-file-truename directory-name-p file-name-as-directory identity nil string-prefix-p "/:" file-local-name tramp-compat-file-name-quote tramp-dissect-file-name expand-file-name 2 "/" file-remote-p signal wrong-type-argument tramp-file-name 3 4 5 6 7 tramp-make-tramp-file-name file-name-absolute-p tramp-get-file-property "file-truename" "Finding true name for `%s'" (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-get-remote-readlink tramp-send-command-and-check "%s --canonicalize-missing %s" tramp-shell-quote-argument point-at-eol tramp-get-remote-perl tramp-get-connection-property "perl-file-spec" "perl-cwd-realpath" tramp-maybe-send-script "tramp_perl_file_truename" tramp-send-command-and-read "tramp_perl_file_truename %s" tramp-file-local-name tramp-handle-file-truename file-symlink-p tramp-error file-error "Apparent cycle of symbolic links for %s" top "True name of `%s' is `%s'" tramp-set-file-property nohop] 25 (#$ . 33589)]) #@54 Like `file-exists-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-exists-p #[257 "\302!\205\365\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204(\304\305\306D\"\210\3078\242>\2049\304\305\306D\"\210\3108\242>\204K\304\305\306D\"\210\3118\242>\204]\304\305\306D\"\210\3128\242>\204o\304\305\306D\"\210\3138\242>\204\203\304\305\306 D\"\210\3148\315!\203\314\316\317 $\211 =\203\313\316 \320\321$??\206\301\316 \322\321$??\206\301\323 \324\325\326 !\327!#\"\262\330 \317$\210\207\316\320\321$??\206\363\316\322\321$??\206\363\323\324\325\326\f!\327!#\"\266\210\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-connectable-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-exists-p" "file-attributes-integer" nil "file-attributes-string" tramp-send-command-and-check format "%s %s" tramp-get-file-exists-command tramp-shell-quote-argument tramp-set-file-property] 17 (#$ . 37944)]) #@76 Like `file-attributes' for Tramp files. (fn FILENAME &optional ID-FORMAT) (defalias 'tramp-sh-handle-file-attributes #[513 "\211\204\303\262\3041'\305\306!!\211\242 >\204 \307\310\311D\"\210\211A@\242 >\2041\307\310\311D\"\210\3128\242 >\204B\307\310\311D\"\210\3138\242 >\204T\307\310\311D\"\210\3148\242 >\204f\307\310\311D\"\210\3158\242 >\204x\307\310\311D\"\210\3168\242 >\204\214\307\310\311 D\"\210\3178\320!\203\361\321\322\323 \"\n$\211\n=\203\351\324 \325 !\203\274\326 #\202\317\327 !\203\316\330 #\202\317\331\206\332\332 #\"\262\333 \322\323\"$\210\211\262\266\210\202$\324\325\n!\203\326\n #\202\327\n!\203\330\n #\202\331\206!\332\n #\"\266\210)0\207\210\331\207" [last-coding-system-used cl-struct-tramp-file-name-tags tramp-cache-undefined integer (error) tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property format "file-attributes-%s" tramp-convert-file-attributes tramp-get-remote-stat tramp-do-file-attributes-with-stat tramp-get-remote-perl tramp-do-file-attributes-with-perl nil tramp-do-file-attributes-with-ls tramp-set-file-property] 17 (#$ . 39025)]) #@53 Quoting style options to be used for VEC. (fn VEC) (defalias 'tramp-sh--quoting-style-options #[257 "\300\301\"\206\300\302\"\206\303\207" [tramp-get-ls-command-with "--quoting-style=literal --show-control-chars" "-w" ""] 4 (#$ . 40297)]) #@110 Implement `file-attributes' for Tramp files using the ls(1) command. (fn VEC LOCALNAME &optional ID-FORMAT) (defalias 'tramp-do-file-attributes-with-ls #[770 "\306\211\211\211\211\211\211\211\211 \307\310 C\3111\252X\205\244\312X\203J \204J\313\314\315U\2030\316\202E\317U\203:\316\202E\320U\203D\321\202E\322P#\210\323Y\205\244\315\317U\203\204\3241\203r\325!\203i\326!\202m\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\204\210\325!\203\220\334\335\"\262)\242\n>\205\244\313\336\337\340\"P$0\266\202\254\266\341\f\337\342\343!\344!#\"\204\320\341\f\337\345\346!\344!#\"\205\225\347\f\337\350\351!\352=\203\344\353\202\345\354\355!\344!%\"\210r\356\f!q\210\357 \315V\205\224eb\210\360p!\262\361\360p!!\262\360p!\262\360p!\262\360p!\262 \352=\2036\247\204+ \262\247\204J \262\202J;\204@\361!\262;\204J\361!\262\360p!\262\315H\362=\262 \315H\363=\262\203~\364\365!\210\366\367\370!)\262\203x\360p!\202|`\371 {\262\206\204\211 \211\211 \367\372\257\f)\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-unknown-id-integer inhibit-changing-match-data tramp-time-dont-know nil 5 "file attributes with ls: %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command-and-check "%s %s" tramp-get-file-exists-command tramp-shell-quote-argument "%s -h %s" tramp-get-test-command tramp-send-command "%s %s %s %s" tramp-get-ls-command integer "-ildn" "-ild" tramp-sh--quoting-style-options tramp-get-buffer buffer-size read symbol-name 108 100 search-forward "-> " "\"" t looking-at point-at-eol -1] 24 (#$ . 40550)]) #@106 Implement `file-attributes' for Tramp files using a Perl script. (fn VEC LOCALNAME &optional ID-FORMAT) (defalias 'tramp-do-file-attributes-with-perl #[770 "\304\305C\3061\237X\205\231\307X\203? \204?\310\311\312U\203%\313\202:\314U\203/\313\202:\315U\2039\316\202:\317P#\210\320Y\205\231\312\314U\203y\3211xr\322!\203^\323!\202b\324\325\"q\210\326P\262\327\330 C\"\211\262)0\210\202y\210\322!\203\205\331\332\"\262)\242\n>\205\231\310\333\334\335\"P$0\266\202\241\266\336 \337#\210\340\334\341\342!#\"\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-perl-file-attributes 5 "file attributes with perl: %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-maybe-send-script "tramp_perl_file_attributes" tramp-send-command-and-read "tramp_perl_file_attributes %s %s" tramp-shell-quote-argument] 13 (#$ . 42408)]) #@108 Implement `file-attributes' for Tramp files using stat(1) command. (fn VEC LOCALNAME &optional ID-FORMAT) (defalias 'tramp-do-file-attributes-with-stat #[770 "\305\306C\3071\237X\205\231\310X\203? \204?\311\312\313U\203%\314\202:\315U\203/\314\202:\316U\2039\317\202:\320P#\210\321Y\205\231\313\315U\203y\3221xr\323!\203^\324!\202b\325\326\"q\210\327P\262\330\331 C\"\211\262)0\210\202y\210\323!\203\205\332\333\"\262)\242\n>\205\231\311\334\335\336\"P$0\266\202\241\266\337\335\340\341! \211\342=\203\266\343\202\267\344\342=\203\302\345\202\303\346 \211\347 !\f&\n\350#\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-stat-marker tramp-stat-quoted-marker 5 "file attributes with stat: %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command-and-read "(%s -c '((%s%%N%s) %%h %s %s %%X %%Y %%Z %%s %s%%A%s t %%i -1)' %s | sed -e 's/\"/\\\\\"/g' -e 's/%s/\"/g')" tramp-get-remote-stat integer "%u" "/////%U/////" "%g" "/////%G/////" tramp-shell-quote-argument noerror] 16 (#$ . 43493)]) #@76 Like `set-visited-file-modtime' for Tramp files. (fn &optional TIME-LIST) (defalias 'tramp-sh-handle-set-visited-file-modtime #[256 "\305 \204 \306\307\310 \"\210\211\203\311\312C\"\207\305 \313\314!\211\242>\204)\315\316\317D\"\210\211A@\242>\204:\315\316\317D\"\210\3208\242>\204K\315\316\317D\"\210\3218\242>\204]\315\316\317D\"\210\3228\242>\204o\315\316\317D\"\210\3238\242>\204\201\315\316\317D\"\210\3248\242>\204\225\315\316\317 D\"\210\3258\326\327\n!\211\3238\262\206\251\n \262 \330\f\"\204\274\311\312C\"\210\202\332\331\n\332\333\334!\335 !#\"\210`\336 {\262\337\n\340$\210\n)\266\f\313\207" [cl-struct-tramp-file-name-tags remote-file-name-inhibit-cache tramp-time-doesnt-exist last-coding-system-used tramp-time-dont-know buffer-file-name error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" buffer-name tramp-run-real-handler set-visited-file-modtime nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 t file-attributes tramp-compat-time-equal-p tramp-send-command format "%s -ild %s" tramp-get-ls-command tramp-shell-quote-argument point-at-eol tramp-set-file-property "visited-file-modtime-ild"] 20 (#$ . 44769)]) #@325 Like `verify-visited-file-modtime' for Tramp files. At the time `verify-visited-file-modtime' calls this function, we already know that the buffer is visiting a file and that `visited-file-modtime' does not return 0. Do not call this function directly, unless those two cases are already taken care of. (fn &optional BUF) (defalias 'tramp-sh-handle-verify-visited-file-modtime #[256 "r\211\206pq\210\304 \211\203\305\306 !\307U\204\310\311\312#\204#\313\202\376\314!\211\242>\2044\315\316\317D\"\210\211A@\242>\204E\315\316\317D\"\210\3208\242>\204V\315\316\317D\"\210\3218\242>\204h\315\316\317D\"\210\3228\242>\204z\315\316\317D\"\210\3238\242>\204\214\315\316\317D\"\210\3248\242>\204\240\315\316\317 D\"\210\3258\313\326 !\211\3238\262\306 \203\310\327\n\"\204\310\330\331\"!\320W\202\373\203\367\332 \333\334\335!\336\n!#\"\210r\337 !q\210`\340 {\262)\341\f\342\343$\232\202\373\327 \")\266\213\262)\207" [cl-struct-tramp-file-name-tags remote-file-name-inhibit-cache tramp-time-dont-know tramp-time-doesnt-exist buffer-file-name float-time visited-file-modtime 0 file-remote-p nil connected t tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-attributes tramp-compat-time-equal-p abs tramp-time-diff tramp-send-command format "%s -ild %s" tramp-get-ls-command tramp-shell-quote-argument tramp-get-buffer point-at-eol tramp-get-file-property "visited-file-modtime-ild" ""] 20 (#$ . 46023)]) #@75 Like `set-file-modes' for Tramp files. (fn FILENAME MODE &optional FLAG) (defalias 'tramp-sh-handle-set-file-modes #[770 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304 D\"\210\3128\313=\203\226\314 !\203\226\315!\205\277\316\"\210\317\320\321\f\313=\203\263\315\f!\203\263\322\202\264\323\324!$\325$\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 nofollow file-symlink-p tramp-get-remote-chmod-h tramp-flush-file-properties tramp-barf-unless-okay format "chmod %s %o %s" "-h" "" tramp-shell-quote-argument "Error while changing file's mode %s"] 19 (#$ . 47536)]) #@75 Like `set-file-times' for Tramp files. (fn FILENAME &optional TIME FLAG) (defalias 'tramp-sh-handle-set-file-times #[769 "\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204\"\304\305\306D\"\210\3078\242>\2043\304\305\306D\"\210\3108\242>\204E\304\305\306D\"\210\3118\242>\204W\304\305\306D\"\210\3128\242>\204i\304\305\306D\"\210\3138\242>\204}\304\305\306 D\"\210\3148\315!\205\335\316\"\210 \203\243\317\n \"\204\243\317\n\n\"\203\250\320 \202\252 \321 \322\323\315 !\324\325\326#\203\310\322\327\330\331 \332#\"\202\311\333\334=\203\324\335\202\325\333\336\n!%\"\262\207" [cl-struct-tramp-file-name-tags tramp-time-doesnt-exist tramp-time-dont-know tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-remote-touch tramp-flush-file-properties tramp-compat-time-equal-p current-time tramp-send-command-and-check format "env TZ=UTC %s %s %s %s" tramp-get-connection-property "touch-t" nil "-t %s" format-time-string "%Y%m%d%H%M.%S" t "" nofollow "-h" tramp-shell-quote-argument] 23 (#$ . 48431)]) #@124 The uid of the remote connection VEC, in ID-FORMAT. ID-FORMAT valid values are `string' and `integer'. (fn VEC ID-FORMAT) (defalias 'tramp-sh-handle-get-remote-uid #[514 "\3001*\301!\203\302\"\202(\303!\203\304\"\202(\305!\205(\306\"0\207\210\307\207" [(error) tramp-get-remote-id tramp-get-remote-uid-with-id tramp-get-remote-perl tramp-get-remote-uid-with-perl tramp-get-remote-python tramp-get-remote-uid-with-python nil] 5 (#$ . 49543)]) #@124 The gid of the remote connection VEC, in ID-FORMAT. ID-FORMAT valid values are `string' and `integer'. (fn VEC ID-FORMAT) (defalias 'tramp-sh-handle-get-remote-gid #[514 "\3001*\301!\203\302\"\202(\303!\203\304\"\202(\305!\205(\306\"0\207\210\307\207" [(error) tramp-get-remote-id tramp-get-remote-gid-with-id tramp-get-remote-perl tramp-get-remote-gid-with-perl tramp-get-remote-python tramp-get-remote-gid-with-python nil] 5 (#$ . 50010)]) #@81 Like `tramp-set-file-uid-gid' for Tramp files. (fn FILENAME &optional UID GID) (defalias 'tramp-sh-handle-set-file-uid-gid #[769 "\302!\211\242 >\204\303\304\305D\"\210\211A@\242 >\204$\303\304\305D\"\210\3068\242 >\2045\303\304\305D\"\210\3078\242 >\204G\303\304\305D\"\210\3108\242 >\204Y\303\304\305D\"\210\3118\242 >\204k\303\304\305D\"\210\3128\242 >\204\303\304\305 D\"\210\3138\314 \315U\203\235\316!\203\235\317  #\266\210\202\316\320\n!\203\251 \206\256\321\322\"\320\n!\203\272 \206\277\323 \322\"\324\n\325\326\327\n!$\"\266\212)\207" [last-coding-system-used cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 user-uid 0 tramp-local-host-p tramp-set-file-uid-gid natnump tramp-get-remote-uid integer tramp-get-remote-gid tramp-send-command format "chown %d:%d %s" tramp-shell-quote-argument] 21 (#$ . 50476)]) #@65 Check, whether SELINUX is enabled on the remote host. (fn VEC) (defalias 'tramp-remote-selinux-p #[257 "\301\302!\303#\211=\203\304\305\"\262\306\302!\303#\210\207" [tramp-cache-undefined tramp-get-connection-property tramp-get-process "selinux-p" tramp-send-command-and-check "selinuxenabled" tramp-set-connection-property] 6 (#$ . 51424)]) #@61 Like `file-selinux-context' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-selinux-context #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314!\203\337\315\316 $\211 =\203\336\317\320\n!\203\321\321\n\322\323\324!\325 !#\"\203\321r\326\n!q\210eb\210\327\330\331 \332#\203\320\333\334!\333\306!\333\307!\333\310!F\262)\211\262\262\335 \316$\210\207\317\320 !\203\321 \322\323\324 !\325!#\"\203r\326 !q\210eb\210\327\330\331 \332#\203\333\334!\333\306!\333\307!\333\310!F\262)\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-selinux-context" (nil nil nil nil) tramp-remote-selinux-p tramp-send-command-and-check format "%s -d -Z %s" tramp-get-ls-command tramp-shell-quote-argument tramp-get-connection-buffer re-search-forward "\\([[:alnum:]_]+\\):\\([[:alnum:]_]+\\):\\([[:alnum:]_]+\\):\\([[:alnum:]_]+\\)" point-at-eol t match-string 1 tramp-set-file-property] 18 (#$ . 51782)]) #@73 Like `set-file-selinux-context' for Tramp files. (fn FILENAME CONTEXT) (defalias 'tramp-sh-handle-set-file-selinux-context #[514 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304 D\"\210\3128:\205+\313!\205+@;\205\230@ A@;\205\244 A@\305 8;\205\260\305 8\306\f8;\205\274\306\f8\314\f\315\316\203\316\315\317 \"\202\317\320\203\334\315\321 \"\202\335\320\203\352\315\322 \"\202\353\320\203\370\315\323 \"\202\371\320\324!&\"\205)\203 \203 \203 \211\203 \325\f\326$\210\202(\327\f\326#\210\330\266\204\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-remote-selinux-p tramp-send-command-and-check format "chcon %s %s %s %s %s" "--user=%s" "" "--role=%s" "--type=%s" "--range=%s" tramp-shell-quote-argument tramp-set-file-property "file-selinux-context" tramp-flush-file-property t] 24 (#$ . 53110)]) #@61 Check, whether ACL is enabled on the remote host. (fn VEC) (defalias 'tramp-remote-acl-p #[257 "\301\302!\303#\211=\203\304\305\"\262\306\302!\303#\210\207" [tramp-cache-undefined tramp-get-connection-property tramp-get-process "acl-p" tramp-send-command-and-check "getfacl /" tramp-set-connection-property] 6 (#$ . 54278)]) #@49 Like `file-acl' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-acl #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314!\203\314\315\316 $\211 =\203\313\317 !\205\301\320 \321\322\323!\"\"\205\301r\324 !q\210db\210\325 \210deV\205\300\326\327 !)\262\330 \316$\210\207\317!\205\371\320\321\322\323!\"\"\205\371r\324!q\210db\210\325 \210deV\205\370\326\327 !)\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-acl" tramp-remote-acl-p tramp-send-command-and-check format "getfacl -ac %s" tramp-shell-quote-argument tramp-get-connection-buffer delete-blank-lines substring-no-properties buffer-string tramp-set-file-property] 16 (#$ . 54619)]) #@64 Like `set-file-acl' for Tramp files. (fn FILENAME ACL-STRING) (defalias 'tramp-sh-handle-set-file-acl #[514 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148;\203\263\315!\203\263\316\317\320\321!  %\"\210\322\323\"\203\263\324\325\f$\210\326\207\327\330#\210\323\207" [cl-struct-tramp-file-name-tags tramp-end-of-heredoc tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-remote-acl-p tramp-send-command format "setfacl --set-file=- %s <<'%s'\n%s\n%s\n" tramp-shell-quote-argument tramp-send-command-and-check nil tramp-set-file-property "file-acl" t tramp-flush-file-property "file-acl-string"] 18 (#$ . 55699)]) #@58 Like `file-executable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-executable-p #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314!\203\254\315\316 $\211 =\203\253\317 \320\"\206\241\321\322 \"\262\323 \316$\210\207\317\320\"\206\271\321\322\n\"\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-executable-p" tramp-check-cached-permissions 120 tramp-run-test "-x" tramp-set-file-property] 15 (#$ . 56640)]) #@56 Like `file-readable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-readable-p #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314!\203\254\315\316 $\211 =\203\253\317 \320\"\206\241\321\322 \"\262\323 \316$\210\207\317\320\"\206\271\321\322\n\"\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-readable-p" tramp-check-cached-permissions 114 tramp-run-test "-r" tramp-set-file-property] 15 (#$ . 57483)]) #@57 Like `file-directory-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-directory-p #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138G\314U\206\260\315!\203\253\316\317 $\211 =\203\252\320\321 \"\262\322 \317$\210\207\320\321\n\"\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 file-name-absolute-p tramp-get-file-property "file-directory-p" tramp-run-test "-d" tramp-set-file-property] 15 (#$ . 58320)]) #@56 Like `file-writable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-writable-p #[257 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314!\203\307\315\316 $\211 =\203\306\317\n!\203\253\320 \321\"\206\274\322\323 \"\202\274\322\324\325\f!\"\205\274\322\323\325\f!\"\262\326 \316$\210\207\317 !\203\334\320\321\"\206\355\322\323\n\"\207\322\324\325 !\"\205\355\322\323\325 !\"\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-writable-p" file-exists-p tramp-check-cached-permissions 119 tramp-run-test "-w" "-d" file-name-directory tramp-set-file-property] 15 (#$ . 59101)]) #@83 Like `file-ownership-preserved-p' for Tramp files. (fn FILENAME &optional GROUP) (defalias 'tramp-sh-handle-file-ownership-preserved-p #[513 "\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204\"\304\305\306D\"\210\3078\242>\2043\304\305\306D\"\210\3108\242>\204E\304\305\306D\"\210\3118\242>\204W\304\305\306D\"\210\3128\242>\204i\304\305\306D\"\210\3138\242>\204}\304\305\306 D\"\210\3148\315!\203\371\316\317\320 \203\226\321\202\227\322\" $\211 =\203\370\323 \324\"\211?\206\340\211\3078\262\325 \324\"U\205\340\n?\206\340\326\327 \330\322#\331\332\333#)\266\203\206\340\211\3108\262\334 \324\"U\262\262\335 \317\320\203\363\321\202\364\322\"$\210\207\323\n\324\"\211?\2069\211\3078\262\325\n\324\"U\2059 ?\2069\326\327\n\330\322#\331\332\333#)\266\203\2069\211\3108\262\334\n\324\"U\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined inhibit-changing-match-data tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property format "file-ownership-preserved-p%s" "-group" "" file-attributes integer tramp-get-remote-uid "BSD\\|DragonFly\\|Darwin" tramp-get-connection-property "uname" nil t string-match tramp-get-remote-gid tramp-set-file-property] 19 (#$ . 60111)]) #@116 Like `directory-files-and-attributes' for Tramp files. (fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT COUNT) (defalias 'tramp-sh-handle-directory-files-and-attributes #[1537 "\204\304\262\305!\204,\306!\307\310N\203$\311#\266\202,\311\312$\266\313!\205\262\314!\262\315\306!\211\242 >\204L\316\317\320D\"\210\211A@\242 >\204]\316\317\320D\"\210\3218\242 >\204n\316\317\320D\"\210\3228\242 >\204\200\316\317\320D\"\210\3238\242 >\204\222\316\317\320D\"\210\3248\242 >\204\244\316\317\320D\"\210\3258\242 >\204\270\316\317\320 D\"\210\3268\327!\203\330\331\332\"\n$\211\n=\203 \333\334\335 \"\336 !\203\353\337 #\202\376\340 !\203\375\341 #\202\376\342\"\262\343 \331\332\"$\210\211\262\266\210\202A\333\334\344\n\"\336\n!\203,\337\n#\202>\340\n!\203=\341\n#\202>\342\"\266\210!\342\211\203}\211A\262\242\262\203g@\342\345\346#)\266\203\203D\203u\211\314@ \"\240\210\211B\262\202D\204\207\347\350\"\262\351!\203\235\352V\203\235\353\211GZ\"\262\206\260\354      &\266\203\207" [tramp-file-missing cl-struct-tramp-file-name-tags tramp-cache-undefined inhibit-changing-match-data integer file-exists-p tramp-dissect-file-name file-missing error-conditions tramp-error "No such file or directory: %s" file-directory-p expand-file-name copy-tree signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property format "directory-files-and-attributes-%s" mapcar make-closure #[257 "\211@\301\300A\"B\207" [V0 tramp-convert-file-attributes] 5 "\n\n(fn X)"] tramp-get-remote-stat tramp-do-directory-files-and-attributes-with-stat tramp-get-remote-perl tramp-do-directory-files-and-attributes-with-perl nil tramp-set-file-property #[257 "\211@\301\300A\"B\207" [V0 tramp-convert-file-attributes] 5 "\n\n(fn X)"] t string-match sort #[514 "@@\231\207" [] 4 "\n\n(fn X Y)"] natnump 0 nbutlast tramp-handle-directory-files-and-attributes] 22 (#$ . 61455)]) #@121 Implement `directory-files-and-attributes' for Tramp files using a Perl script. (fn VEC LOCALNAME &optional ID-FORMAT) (defalias 'tramp-do-directory-files-and-attributes-with-perl #[770 "\304\305C\3061\237X\205\231\307X\203? \204?\310\311\312U\203%\313\202:\314U\203/\313\202:\315U\2039\316\202:\317P#\210\320Y\205\231\312\314U\203y\3211xr\322!\203^\323!\202b\324\325\"q\210\326P\262\327\330 C\"\211\262)0\210\202y\210\322!\203\205\331\332\"\262)\242\n>\205\231\310\333\334\335\"P$0\266\202\241\266\336 \337#\210\340\334\341\342!#\"\211;\203\275\343\344#\210\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-perl-directory-files-and-attributes 5 "directory-files-and-attributes with perl: %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-maybe-send-script "tramp_perl_directory_files_and_attributes" tramp-send-command-and-read "tramp_perl_directory_files_and_attributes %s %s" tramp-shell-quote-argument tramp-error file-error] 13 (#$ . 63506)]) #@123 Implement `directory-files-and-attributes' for Tramp files using stat(1) command. (fn VEC LOCALNAME &optional ID-FORMAT) (defalias 'tramp-do-directory-files-and-attributes-with-stat #[770 "\305\306C\3071\237X\205\231\310X\203? \204?\311\312\313U\203%\314\202:\315U\203/\314\202:\316U\2039\317\202:\320P#\210\321Y\205\231\313\315U\203y\3221xr\323!\203^\324!\202b\325\326\"q\210\327P\262\330\331 C\"\211\262)0\210\202y\210\323!\203\205\332\333\"\262)\242\n>\205\231\311\334\335\336\"P$0\266\202\241\266\337\335\340\341!\342!\343 !\344\n! \211\211\211\f\345=\203\304\346\202\305\347 \345=\203\320\350\202\321\351 \211\352!\f&\"\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-stat-marker tramp-stat-quoted-marker 5 "directory-files-and-attributes with stat: %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command-and-read "cd %s && echo \"(\"; (%s %s -a | tr '\\n\\r' '\\000\\000' | xargs -0 %s -c '(%s%%n%s (%s%%N%s) %%h %s %s %%X %%Y %%Z %%s %s%%A%s t %%i -1)' -- 2>%s | sed -e 's/\"/\\\\\"/g' -e 's/%s/\"/g'); echo \")\"" tramp-shell-quote-argument tramp-get-ls-command tramp-sh--quoting-style-options tramp-get-remote-stat integer "%u" "/////%U/////" "%g" "/////%G/////" tramp-get-remote-null-device] 21 (#$ . 64733)]) #@76 Like `file-name-all-completions' for Tramp files. (fn FILENAME DIRECTORY) (defalias 'tramp-sh-handle-file-name-all-completions #[514 "\304\305\306\307#)\266\203?\205\334\310\311\312!!\211\242 >\204&\313\314\315D\"\210\211A@\242 >\2047\313\314\315D\"\210\3168\242 >\204H\313\314\315D\"\210\3178\242 >\204Z\313\314\315D\"\210\3208\242 >\204l\313\314\315D\"\210\3218\242 >\204~\313\314\315D\"\210\3228\242 >\204\222\313\314\315 D\"\210\3238\324!\203J\325\326\n$\211\n=\203B\305\327\n\330\f!\203\305\331\f \332#\210\333\334\335!\"\202\335\333\336\335!\337!\340!\341!\340!&\"\210r\342\n!q\210db\210\343y\210\344\306\345!)\262\203 \343y\210\346\n\347\350`\351 {$\210\202\"\352\306\345!)\262\204\"\346\n\347\353\335!\354 %\210\343y\355U\2034`\351 {B\262\202\")\211\262\262\356 \326$\210\211\262\266\210\202\333\305\327 \330 !\203f\331 \332#\210\333\334\335!\"\202~\333\336\335!\337!\340!\341!\340!&\"\210r\342 !q\210db\210\343y\210\344\306\345!)\262\203\252\343y\210\346 \347\350`\351 {$\210\202\303\352\306\345!)\262\204\303\346 \347\353\335!\354 %\210\343y\355U\203\325`\351 {B\262\202\303)\211\262\266\210\"\207" [inhibit-changing-match-data cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-perl-file-name-all-completions "/" nil t string-match all-completions tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-name-all-completions" tramp-send-command tramp-get-remote-perl tramp-maybe-send-script "tramp_perl_file_name_all_completions" format "tramp_perl_file_name_all_completions %s" tramp-shell-quote-argument "(cd %s 2>&1 && %s -a 2>%s | while IFS= read f; do if %s -d \"$f\" 2>%s; then \\echo \"$f/\"; else \\echo \"$f\"; fi; done && \\echo ok) || \\echo fail" tramp-get-ls-command tramp-get-remote-null-device tramp-get-test-command tramp-get-buffer -1 "^fail$" looking-at tramp-error file-error "tramp-sh-handle-file-name-all-completions: %s" point-at-eol "^ok$" "tramp-sh-handle-file-name-all-completions: internal error accessing `%s': `%s'" buffer-string 0 tramp-set-file-property] 24 (#$ . 66248)]) #@96 Like `add-name-to-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sh-handle-add-name-to-file #[770 "\301\"\204\233\302\303!\203\202!\211\242>\204\"\304\305\306D\"\210\211A@\242>\2043\304\305\306D\"\210\3078\242>\204D\304\305\306D\"\210\3108\242>\204V\304\305\306D\"\210\3118\242>\204h\304\305\306D\"\210\3128\242>\204z\304\305\306D\"\210\3138\242>\204\216\304\305\306 D\"\210\3148\315\316\317\320$\266 \302!\211\242>\204\254\304\305\306D\"\210\211A@\242>\204\275\304\305\306D\"\210\3078\242>\204\316\304\305\306D\"\210\3108\242>\204\340\304\305\306D\"\210\3118\242>\204\362\304\305\306D\"\210\3128\242>\204\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148\302\n!\211\242>\204.\304\305\306D\"\210\211A@\242>\204?\304\305\306D\"\210\3078\242>\204P\304\305\306D\"\210\3108\242>\204b\304\305\306D\"\210\3118\242>\204t\304\305\306D\"\210\3128\242>\204\206\304\305\306D\"\210\3138\242>\204\232\304\305\306 D\"\210\3148\205\247\321!\322!\203\322\203\302\247\203\315\323\324\325\"!\204\315\315 \326#\210\202\322\327!\210\330 \"\210\331\324\332\333!\333 !$\334\335 $\207" [cl-struct-tramp-file-name-tags tramp-equal-remote tramp-dissect-file-name tramp-tramp-file-p signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-error file-error "add-name-to-file: %s" "only implemented for same method, same user, same host" tramp-get-remote-ln file-exists-p yes-or-no-p format "File %s already exists; make it a link anyway? " file-already-exists delete-file tramp-flush-file-properties tramp-barf-unless-okay "%s %s %s" tramp-shell-quote-argument "error with add-name-to-file, see buffer `%s' for details" buffer-name] 28 (#$ . 68495)]) #@145 Like `copy-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-sh-handle-copy-file #[1538 "\300!\262\300!\262\301!\204\301!\203)\302\303&\207\304\305\257\"\207" [expand-file-name tramp-tramp-file-p tramp-do-copy-or-rename-file copy tramp-run-real-handler copy-file] 14 (#$ . 70349)]) #@104 Like `copy-directory' for Tramp files. (fn DIRNAME NEWNAME &optional KEEP-DATE PARENTS COPY-CONTENTS) (defalias 'tramp-sh-handle-copy-directory #[1282 "\302!\302!\303\203\202!\211\242>\204!\304\305\306D\"\210\211A@\242>\2042\304\305\306D\"\210\3078\242>\204C\304\305\306D\"\210\3108\242>\204U\304\305\306D\"\210\3118\242>\204g\304\305\306D\"\210\3128\242>\204y\304\305\306D\"\210\3138\242>\204\215\304\305\306 D\"\210\3148\315!\204\264\316\317N\203\254\320 #\266\202\264\320 \321$\266\n\204`\322\323\"\203` \203\375\203\375\303!\211\242>\204\335\304\305\306D\"\210\211A@\262\303!\211\242>\204\364\304\305\306D\"\210\211A@\262\230\203`\324!\203\325!\204\320\326#\210\327\330!!\262\327\330!!\262\324!\203@\331!\331!\230\204@\330\331!\"\262\324\332!!\204R\333\332! \"\210\334\335\336%\210\202p\337\340\257\"\210\205\376\303!\211\242>\204\207\304\305\306D\"\210\211A@\242>\204\230\304\305\306D\"\210\3078\242>\204\251\304\305\306D\"\210\3108\242>\204\273\304\305\306D\"\210\3118\242>\204\315\304\305\306D\"\210\3128\242>\204\337\304\305\306D\"\210\3138\242>\204\363\304\305\306 D\"\210\3148\341\"\266\210\207" [cl-struct-tramp-file-name-tags tramp-file-missing tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p file-missing error-conditions tramp-error "No such file or directory: %s" tramp-get-method-parameter tramp-copy-recursive file-directory-p directory-name-p file-already-exists directory-file-name expand-file-name file-name-nondirectory file-name-directory make-directory tramp-do-copy-or-rename-file-out-of-band copy ok-if-already-exists tramp-run-real-handler copy-directory tramp-flush-file-properties] 26 (#$ . 70775)]) #@91 Like `rename-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sh-handle-rename-file #[770 "\300!\262\300!\262\301!\204\301!\203 \302\303\304\305&\207\306\307E\"\207" [expand-file-name tramp-tramp-file-p tramp-do-copy-or-rename-file rename keep-time preserve-uid-gid tramp-run-real-handler rename-file] 10 (#$ . 72664)]) #@861 Copy or rename a remote file. OP must be `copy' or `rename' and indicates the operation to perform. FILENAME specifies the file to copy or rename, NEWNAME is the name of the new file (for copy) or the new name of the file (for rename). OK-IF-ALREADY-EXISTS means don't barf if NEWNAME exists already. KEEP-DATE means to make sure that NEWNAME has the same timestamp as FILENAME. PRESERVE-UID-GID, when non-nil, instructs to keep the uid and gid if both files are on the same host. PRESERVE-EXTENDED-ATTRIBUTES activates selinux and acl commands. This function is invoked by `tramp-sh-handle-copy-file' and `tramp-sh-handle-rename-file'. It is an error if OP is neither of `copy' and `rename'. FILENAME and NEWNAME must be absolute file names. (fn OP FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-do-copy-or-rename-file #[1795 "\306>\204 \307\310\"\210\311!\2033\312\"\2043\313\314$\210\315=\205+\316\317\"\207\320!\320!\321\322 !!\3238\262\205P\324\325\nC\"\n\326=\203[\327\202\\\330\331\203f \202h\n!\211\242>\204w\332\333\334D\"\210\211A@\242>\204\210\332\333\334D\"\210\3358\242>\204\231\332\333\334D\"\210\3368\242>\204\253\332\333\334D\"\210\3378\242>\204\275\332\333\334D\"\210\3408\242>\204\317\332\333\334D\"\210\3418\242>\204\343\332\333\334 D\"\210\3238\342!\204\n\343\344N\203\345 #\266\202\n\345 \346$\266\204\342!\203\345\347#\210\311!\2035\350!\2045\345\351\352$\210\n\204= \203&\f\203\234 \203\234\331!\211\242>\204Y\332\333\334D\"\210\211A@\242>\204j\332\333\334D\"\210\3358\242>\204{\332\333\334D\"\210\3368\242>\204\215\332\333\334D\"\210\3378\242>\204\237\332\333\334D\"\210\3408\242>\204\261\332\333\334D\"\210\3418\242>\204\305\332\333\334 D\"\210\3238\331!\211\242>\204\333\332\333\334D\"\210\211A@\242>\204\354\332\333\334D\"\210\3358\242>\204\375\332\333\334D\"\210\3368\242>\204\332\333\334D\"\210\3378\242>\204!\332\333\334D\"\210\3408\242>\2043\332\333\334D\"\210\3418\242>\204G\332\333\334 D\"\210\3238\312##\"\203h\353$$$$$$&\266\202\355\354\"\203\213\354\"\203\213\355$$$$$%\266\202\355\356$$$$$%\266\202\355\f\204\246 \203\351\357!\203\300\353&\210\202\355\354\f\"\203\331\355%\210\202\355\356%\210\202\355\307\360!\210 \203\3611\324\362\fD\"0\210\202\210\f\203\231\315=\203\231\331!\211\242>\204\"\332\333\334D\"\210\211A@\242>\2043\332\333\334D\"\210\3358\242>\204D\332\333\334D\"\210\3368\242>\204V\332\333\334D\"\210\3378\242>\204h\332\333\334D\"\210\3408\242>\204z\332\333\334D\"\210\3418\242>\204\216\332\333\334 D\"\210\3238\363\"\266  \205)\331!\211\242>\204\260\332\333\334D\"\210\211A@\242>\204\301\332\333\334D\"\210\3358\242>\204\322\332\333\334D\"\210\3368\242>\204\344\332\333\334D\"\210\3378\242>\204\366\332\333\334D\"\210\3408\242>\204\332\333\334D\"\210\3418\242>\204\332\333\334 D\"\210\3238\363\"\207\364\365\366\367 $C\3701\342\fX\205\334\336X\203n \204n\324\371\364U\203T\372\202i\373U\203^\372\202i\335U\203h\374\202i\375P#\210\f\337Y\205\334\364\373U\203\264\3761\263r\377!\203\217\201@!\202\227\201A\201B\"q\210\201CP\262\201D\201E C\"\211\262)0\210\202\264\210\377!\203\304\201F\201G\"\262)\242>\205\334\324\201H\366\201I\"P$0\266\202\344\266\201JC ?\205\364\f\336^X\205\201K\366\367\f$\201L\211#\211\205\201M\336\201N\201O$\262\201P\201Q&\216 \2062\211\203\222 \203\222\331!\211\242>\204O\332\333\334D\"\210\211A@\242>\204`\332\333\334D\"\210\3358\242>\204q\332\333\334D\"\210\3368\242>\204\203\332\333\334D\"\210\3378\242>\204\225\332\333\334D\"\210\3408\242>\204\247\332\333\334D\"\210\3418\242>\204\273\332\333\334 D\"\210\3238\331!\211\242>\204\321\332\333\334D\"\210\211A@\242>\204\342\332\333\334D\"\210\3358\242>\204\363\332\333\334D\"\210\3368\242>\204\332\333\334D\"\210\3378\242>\204\332\333\334D\"\210\3408\242>\204)\332\333\334D\"\210\3418\242>\204=\332\333\334 D\"\210\3238\312%%\"\203^\353&&&&&&&\266\202\343\354\"\203\201\354\"\203\201\355&&&&&%\266\202\343\356&&&&&%\266\202\343\204\234 \203\337\357\n!\203\266\353&\210\202\343\354\n\"\203\317\355%\210\202\343\356%\210\202\343\307\360!\210 \203\374\201R1\373\324\362D\"0\210\202\374\210\203\221\315=\203\221\331!\211\242>\204\332\333\334D\"\210\211A@\242>\204+\332\333\334D\"\210\3358\242>\204<\332\333\334D\"\210\3368\242>\204N\332\333\334D\"\210\3378\242>\204`\332\333\334D\"\210\3408\242>\204r\332\333\334D\"\210\3418\242>\204\206\332\333\334 D\"\210\3238\363\"\266  \205\331!\211\242>\204\250\332\333\334D\"\210\211A@\242>\204\271\332\333\334D\"\210\3358\242>\204\312\332\333\334D\"\210\3368\242>\204\334\332\333\334D\"\210\3378\242>\204\356\332\333\334D\"\210\3408\242>\204\332\333\334D\"\210\3418\242>\204\332\333\334 D\"\210\3238\363\"\266\210)\201S\240\210)\266\202\266\215\207" [cl-struct-tramp-file-name-tags tramp-file-missing noninteractive inhibit-message tramp-verbose tramp-inhibit-progress-reporter (copy rename) error "Unknown operation `%s', must be `copy' or `rename'" file-directory-p tramp-equal-remote copy-directory t rename delete-directory recursive tramp-tramp-file-p file-attributes file-truename 7 apply file-extended-attributes copy "Copying" "Renaming" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 file-exists-p file-missing error-conditions tramp-error "No such file or directory: %s" file-already-exists directory-name-p file-error "File is a directory %s" tramp-do-copy-or-rename-file-directly tramp-method-out-of-band-p tramp-do-copy-or-rename-file-out-of-band tramp-do-copy-or-rename-file-via-buffer tramp-local-host-p "Tramp implementation says this cannot happen" (error) set-file-extended-attributes tramp-flush-file-properties 0 "%s..." format #1="%s %s to %s" #2=(error) message #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter nil run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\305\203\306\305!\210\303\307\310\311\312\302\300\301$\304\242D\3131\257\"X\205\255\314X\203P#\204P\315\316\307U\2036\317\202K\320U\203@\317\202K\321U\203J\322\202K\323P#\210\"\324Y\205\255\307\"\320U\203\214\3251\213r\326!\203q\327!\202u\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\214\210\326!\203\230\335\336\"\262)\242$>\205\255\315\337\311\340\"P$0\207\266\341\207" [V0 V1 V2 V3 V4 V5 cancel-timer 0 "%s...%s" format #1# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] (error) "done"] 45 (#$ . 73052)]) #@305 Use an Emacs buffer to copy or rename a file. First arg OP is either `copy' or `rename' and indicates the operation. FILENAME is the source file, NEWNAME the target file. KEEP-DATE is non-nil if NEWNAME should have the same timestamp as FILENAME. (fn OP FILENAME NEWNAME OK-IF-ALREADY-EXISTS KEEP-DATE) (defalias 'tramp-do-copy-or-rename-file-via-buffer #[1285 "\305\306\307!!\3108\262\311!#\210\312\211\313\314\315\316\317\"B\320\321\313\"\322\323\"\216r\211q\210\324\325!\210\326!\210)r\211q\210\314\325\211\325\327%\210*\266-\211\203b\330\306!\3318\262?\205`\332#\210\333\334!\"\210\335=?\205t\336!\207" [inhibit-file-name-handlers inhibit-file-name-operation jka-compr-inhibit coding-system-for-write coding-system-for-read abort-if-file-too-large file-attributes file-truename 7 symbol-name binary t write-region epa-file-handler remq tramp-file-name-handler generate-new-buffer " *temp file*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] set-buffer-multibyte nil insert-file-contents-literally 0 tramp-compat-set-file-times 5 nofollow set-file-modes tramp-default-file-modes copy delete-file] 13 (#$ . 80571)]) #@534 Invokes `cp' or `mv' on the remote system. OP must be one of `copy' or `rename', indicating `cp' or `mv', respectively. FILENAME specifies the file to copy or rename, NEWNAME is the name of the new file (for copy) or the new name of the file (for rename). Both files must reside on the same host. KEEP-DATE means to make sure that NEWNAME has the same timestamp as FILENAME. PRESERVE-UID-GID, when non-nil, instructs to keep the uid and gid from FILENAME. (fn OP FILENAME NEWNAME OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID) (defalias 'tramp-do-copy-or-rename-file-directly #[1542 "\305!\305!\306!\3078\262\310!\311\203 \202!\211\242>\204.\312\313\314D\"\210\211A@\242>\204?\312\313\314D\"\210\3158\242>\204P\312\313\314D\"\210\3168\242>\204b\312\313\314D\"\210\3178\242>\204t\312\313\314D\"\210\3078\242>\204\206\312\313\314D\"\210\3208\242>\204\232\312\313\314 D\"\210\3218\322=\203\256\f\203\256\323\202\305\324\267\202\275\325\202\305\326\202\305\327\330\331$\332!\332!\333\203\330\202\332!\334\322=\203\357\335!\203\357\336P\262\203\217\203\217\337 \340\341\342 !\342 !$\"\262r\343 !q\210eb\210\203#\344 \334\345#\204\211\211\204\211\334 \330\346\347 C\350 \351\352\"\216\353!\203A\206W\354!\203M\355!\206W\242>\205W\356!\242>\203b\206n\211\205nr\211q\210\311\n!)\351\357%\216\360\327%)\266\202)\266)\266\202\204\231\203\334\361!\205\307\322=\204\266\362\363\364!!\365\"\366U\205\307\367\364!!\205\307\335!\206\307\367!)\203\356\322=\203\341\370%\266\202\371\372E\"\266\202\361P!\2034\367\364P!!\2034\335P!\204\367P!\2034\373PP&\210\374P\375\376!\377\376!#\266\202\334\201@\201A\f\201B\201C\201DN@\345\"\"\201E\345\"#\266\202\351\201F\"\216\203\224\201G\340\341 \342\n!\342!$\346\343!$\210\201HP\201I\"\210\374P\375\376!\377\376!#\210\202\321\203\321\322=\203\255\370\345%\210\202\266\371\372\345E\"\210\201H\201I\"\210\374\201J\376\"\201K\376\"#\210\203\361\201G\340\201L\342!\342 !#\346\343!$\210\202\203\371\372E\"\210)\210\266\201M1+ \205)\201N ?\205\201O#\210\201H\n\"0\207\266 \334\207" [cl-struct-tramp-file-name-tags tramp-operation-not-permitted-regexp default-directory file-name-handler-alist tramp-temp-name-prefix tramp-tramp-file-p file-attributes 5 tramp-default-file-modes tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 6 7 copy "cp -f -p" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (copy 181 rename 185)) "cp -f" "mv -f" tramp-error file-error "Unknown operation `%s', must be `copy' or `rename'" tramp-file-local-name file-remote-p nil file-directory-p " -R" tramp-send-command-and-check format "%s %s %s" tramp-shell-quote-argument tramp-get-buffer re-search-forward t "Copying directly failed, see buffer `%s' for details." buffer-name current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] bufferp processp process-buffer tramp-get-connection-buffer #[0 "\302\203+\f\306U\204+ \204+\307 \203+\310\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210*\320\303@\"\2059\321 \241\207" [V0 V1 V2 V3 tramp-verbose non-essential 0 current-message t nil apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time inhibit-message enable-recursive-minibuffers tramp-current-connection] 4] apply file-readable-p logand file-modes file-name-directory 512 0 file-writable-p copy-file tramp-run-real-handler rename-file tramp-do-copy-or-rename-file-directly tramp-set-file-uid-gid tramp-get-local-uid integer tramp-get-local-gid make-temp-file expand-file-name eval temporary-file-directory standard-value file-name-extension #[0 "\3011 \302\300!0\207\210\303\207" [V0 (error) delete-file nil] 2] tramp-barf-unless-okay set-file-modes 511 tramp-get-remote-uid tramp-get-remote-gid "cp -f -p %s %s" (error) tramp-compat-set-file-times nofollow] 37 (#$ . 81765)]) #@135 Invoke `scp' program to copy. The method used must be an out-of-band method. (fn OP FILENAME NEWNAME OK-IF-ALREADY-EXISTS KEEP-DATE) (defalias 'tramp-do-copy-or-rename-file-out-of-band #[1285 "\306!\306!\307\203\202!\310\211\211\211\211\211\211\211\211\211C\310\211\307\203*\202,!\211\242>\204;\311\312\313D\"\210\211A@\242>\204L\311\312\313D\"\210\3148\242>\204]\311\312\313D\"\210\3158\242>\204o\311\312\313D\"\210\3168\242>\204\201\311\312\313D\"\210\3178\242>\204\223\311\312\313D\"\210\3208\242>\204\247\311\312\313 D\"\210\3218\203\203\322!\323\324 \325\326\327N@\330\"\"\331\330\"#\266\202C\203\336\211\324\332!\242\"\240\210\333\334#\216\335\242%\210\335\336\242%\210)\266\202\277\337\230\203\322!\203\340!\204\341\202\342\203)\343 !\202d\310\211?\2052\n\344!\211\211?\205>\n\345\346\344!\")\266\202\203\\\211G\314U\203V\347\202Z\211\314\310O\262\350!P)\266\203!\262 \203s\343!\202\256\310\211?\205|\n\344!\211\211?\205\210\n\345\346\344!\")\266\202\203\246\211G\314U\203\240\347\202\244\211\314\310O\262\350!P)\266\203\262\f\242>\204\300\311\312\313\nD\"\210\3148\206\315\351\352\310#\262\353\354\"\203\377\355\356\357\360!\\!\262\361\362\310\211\211\363\n&\364U\203\377\355\356\357\360!\\!\262\202\340\365\366 !\367\370\351\371 !\372\373#\"\"\262\374\206\373\375\206\373\376\206&\373\377\201F\201G\"\203<\201H\202=\373\201I\201J\201K!P\201L\201M!\257\262\353\201N\"\262\353\201O\"\262\201P\201H\201Q\201R \201S$\"\262\201T\201U\201V\"!\262\201Q\201R \201W$\262\n\353 \201X\"\240\210\201Q\201R \354$\262\n\201Y!\204\320\201Z\201[\201\\$\210\n\242\203\301\351\201] \242P #\211 =\203\201^  \242\201_\f!#\262\201` \201]\242P#\210\211\262\204\201Z\201[\201a\242$\210\n\201b\342\201c\242C\203;\201dP\202A\201eP\201fD#\201H#\240\210\201g\f\242\"\210\201h2\244\201i\201j\310\201k#\211\fB\333\201l\"\216\201g \201m\201n\"\"\210\201o \310\"?\205\240\201g \201m\201n\"\"\210\202\202*\2620\211\201h=\203\300\201Z \201[\201p\242$\266\202\301\210\201q\201r\330\"r\211q\210\333\201s\"\216\333\201t  #\216\201u\203\353\202\355!\201v !@\201` \201w\201xp!#\210\201` \201yp#\210\203\320\201z@A\201H\201b\342#\266\202D\201{1\370AX\205\362\315X\203vB\204v\201Q\201|\364U\203V\373\202q\201}U\203b\373\202q\314U\203n\201~\202q\201P#\210A\316Y\205\362\364A\201}U\203\304\201\2001\303r\201\201!\203\237\201\202!\202\247\201\203\201\204\"q\210\201\205P\262\201c\201\206 C\"\211\262)0\210\202\304\210\201\201!\203\326\201\207\201\210\"\262)\242>\205\362\201Q\201\211\201m\201\212\"P$0\266\202\372\266\201\213@A\201H\201b\342#\266\202\"\210\201c \242\2034\203*\201eP\2020\201dPC\2029D\"\262\325\326\327N@\330\"@\201Q\201\214\201\215 !\201\203\f!%)\262\n\320\201\216\201\217 !\201H\201b\342#\266\202C\201{1BAX\205<\315X\203\300B\204\300\201Q\201|\364U\203\240\373\202\273\201}U\203\254\373\202\273\314U\203\270\201~\202\273\201P#\210A\316Y\205<\364A\201}U\203\201\2001 r\201\201!\203\351\201\202!\202\361\201\203\201\204\"q\210\201\205P\262\201c\201\206 C\"\211\262)0\210\202\210\201\201!\203 \201\207\201\210\"\262)\242>\205<\201Q\201\211\201m\201\212\"P$0\266\202D\266\201\220\n\201\210#\210\201\220\n\201\221\201\222#\210\201\223\n\310\"\210CD\201\224\n\n\310E$\210.\210\203\235\204\235\201\225\201\226!\3178\262?\205\233\201\227#\210\203\247\204\277\201\2301\276\201\231\201\232!\"0\210\202\277\210\201\233=?\205\342\201\234!\203\331\201\235!\207\201\236\201\237\"\207" [cl-struct-tramp-file-name-tags tramp-temp-name-prefix file-name-handler-alist tramp-cache-undefined with-timeout-timers process-environment tramp-tramp-file-p tramp-dissect-file-name nil signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-directory-p make-temp-file expand-file-name eval temporary-file-directory standard-value t file-name-extension file-name-nondirectory make-closure #[0 "\3021\300\203\303\304\305\301\242\"\306\"\202\307\301\242!0\207\210\310\207" [V0 V1 (error) delete-directory expand-file-name ".." recursive delete-file nil] 4] tramp-do-copy-or-rename-file-out-of-band rename "rsync" file-exists-p file-name-as-directory identity tramp-make-copy-program-file-name file-local-name string-prefix-p "/:" "/" file-remote-p tramp-get-connection-property "login-as" tramp-get-method-parameter tramp-remote-copy-args number-to-string 50000 random 10000 tramp-call-process "nc" "-z" 0 format-spec tramp-ssh-controlmaster-options format-spec-make 116 tramp-get-connection-process "temp-file" "" 104 117 112 114 default-directory tramp-verbose tramp-inhibit-progress-reporter tramp-rsh-end-of-line tramp-local-end-of-line tramp-actions-copy-out-of-band 99 107 " " 110 "2>" tramp-get-remote-null-device 120 tramp-scp-strict-file-name-checking tramp-copy-program tramp-copy-keep-date delete apply tramp-expand-args tramp-copy-args tramp-compat-flatten-tree mapcar #[257 "\301\302\303\304#)\266\203\203\305!\207\207" [inhibit-changing-match-data " " nil t string-match split-string] 8 "\n\n(fn X)"] tramp-copy-env tramp-remote-copy-program executable-find tramp-error file-error "Cannot find local copy program: %s" "remote-copy-program-" tramp-find-executable tramp-get-remote-path tramp-set-connection-property "Cannot find remote listener: %s" mapconcat append "<" ">" "&" tramp-send-command #1=#:timeout run-with-timer 60 #[0 "\300\301\211\"\207" [throw #1#] 3] #[0 "\301\300!\207" [V0 cancel-timer] 2] format "netstat -l | grep -q :%s" tramp-send-command-and-check "Listener process not running on remote host: `%s'" generate-new-buffer " *temp*" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #[0 "\302\301\303\"\210\302\301\304\"\210\300\242\205\305\301\306\"?\205\307\301\310\311#\207" [V0 V1 tramp-flush-connection-property "process-name" "process-buffer" tramp-send-command-and-check nil tramp-cleanup-connection keep-debug keep-password] 4] file-name-directory copy-sequence "process-name" buffer-name "process-buffer" "%s=\"%s\"" (error) message 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" buffer-string process-get vector tramp-debug-message "(%d) # " setenv start-process tramp-get-connection-name "%s" process-command process-put adjust-window-size-function ignore set-process-query-on-exit-flag tramp-process-actions tramp-compat-set-file-times file-attributes nofollow (error) set-file-modes tramp-default-file-modes copy file-regular-p delete-file delete-directory recursive] 45 (#$ . 85933)]) #@68 Like `make-directory' for Tramp files. (fn DIR &optional PARENTS) (defalias 'tramp-sh-handle-make-directory #[513 "\301!\262\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204'\303\304\305D\"\210\3068\242>\2048\303\304\305D\"\210\3078\242>\204J\303\304\305D\"\210\3108\242>\204\\\303\304\305D\"\210\3118\242>\204n\303\304\305D\"\210\3128\242>\204\202\303\304\305 D\"\210\3138\204\232\314\n!\203\232\315\316\f#\210\317\n\203\246\320\202\251\321!\"\210\322\323\324\f\203\271\325\202\272\326\327!#\330 $\207" [cl-struct-tramp-file-name-tags expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p tramp-error file-already-exists tramp-flush-directory-properties "/" file-name-directory tramp-barf-unless-okay format "%s %s" "mkdir -p" "mkdir" tramp-shell-quote-argument "Couldn't make directory %s"] 17 (#$ . 92975)]) #@84 Like `delete-directory' for Tramp files. (fn DIRECTORY &optional RECURSIVE TRASH) (defalias 'tramp-sh-handle-delete-directory #[769 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148 \203\252\203\252 \204\242\315 !\204\242\316\317\320#\210\202\303\321 !\210\202\303\322\323\324 \203\270\325\202\271\326\327!#\330$\210\331\"\207" [cl-struct-tramp-file-name-tags delete-by-moving-to-trash tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-compat-directory-empty-p tramp-error file-error "Directory is not empty, not moving to trash" move-file-to-trash tramp-barf-unless-okay format "cd / && %s %s" "rm -rf" "rmdir" tramp-shell-quote-argument "Couldn't delete %s" tramp-flush-directory-properties] 18 (#$ . 93917)]) #@68 Like `delete-file' for Tramp files. (fn FILENAME &optional TRASH) (defalias 'tramp-sh-handle-delete-file #[513 "\302!\262\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204'\304\305\306D\"\210\3078\242>\2048\304\305\306D\"\210\3108\242>\204J\304\305\306D\"\210\3118\242>\204\\\304\305\306D\"\210\3128\242>\204n\304\305\306D\"\210\3138\242>\204\202\304\305\306 D\"\210\3148\315\"\210 \203\232\203\232\316\n!\207\317\320\321\322!\"\323 $\207" [cl-struct-tramp-file-name-tags delete-by-moving-to-trash expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties move-file-to-trash tramp-barf-unless-okay format "rm -f %s" tramp-shell-quote-argument "Couldn't delete %s"] 16 (#$ . 94959)]) #@56 Like `dired-compress-file' for Tramp files. (fn FILE) (defalias 'tramp-sh-handle-dired-compress-file #[257 "\306!\211\242>\204\307\310\311D\"\210\211A@\242>\204\"\307\310\311D\"\210\3128\242>\2043\307\310\311D\"\210\3138\242>\204E\307\310\311D\"\210\3148\242>\204W\307\310\311D\"\210\3158\242>\204i\307\310\311D\"\210\3168\242>\204}\307\310\311 D\"\210\3178\320\"\210 \321\203\260\321@@\321\322\323#)\266\203\203\250@\262\321\262A\262)\202\211\324 !\203\273\266\321\207\211\203\377\3128\203\377\f\204\315 \203\362\325\n\3128\326\327!Q\"\205V\330 !\210\323@\f\"\210\n\331\211\224O\260\207 \331\332\333\334\"C\3351\232>X\205\224\313X\2038?\2048\336\337\331U\203\340\2023\341U\203(\340\2023\312U\2032\342\2023\343P#\210>\314Y\205\224\331>\341U\203t\3441sr\345!\203Y\346!\202]\347\350\"q\210\351P\262\352\353 C\"\211\262)0\210\202t\210\345!\203\200\354\355\"\262)\242>\205\224\336\356\333\357\"P$0\266\202\234\266\360C??\205\266\331>\313^X\205\266\361\333\334\"\321\211#\211\205\300\362\313\363\364$\262\365\366%\216?\206\322\211?\325\f\3128\326\327\n!Q\"\205\370\330 !\210\323@\"\210\f\331\211\224O\260)\367\240\210)\207\f\204 \2039\325\n\370\327!P\"\205V\330 !\210\371 \372P!\203'\n\372P\207\371 \373P!\2035\n\373P\207\266\321\207 \331\332\333\374\"C\3351\341>X\205\333\313X\203?\204\336\337\331U\203e\340\202z\341U\203o\340\202z\312U\203y\342\202z\343P#\210>\314Y\205\333\331>\341U\203\273\3441\272r\345!\203\240\346!\202\244\347\350\"q\210\351P\262\352\353 C\"\211\262)0\210\202\273\210\345!\203\307\354\355\"\262)\242>\205\333\336\356\333\357\"P$0\266\202\343\266\360C??\205\375\331>\313^X\205\375\361\333\374\"\321\211#\211\205\362\313\363\364$\262\365\375%\216?\206\211?\325\f\370\327 !P\"\205N\330 !\210\371 \372P!\203=\f\372P\202N\371 \373P!\203M\f\373P\202N\321)\367\240\210)\266\202\207" [cl-struct-tramp-file-name-tags dired-compress-file-suffixes case-fold-search inhibit-changing-match-data noninteractive inhibit-message tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties nil t string-match file-symlink-p tramp-send-command-and-check " " tramp-shell-quote-argument dired-remove-file 0 "%s..." format #1="Uncompressing %s" #2=(error) apply message #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\303\203\306\303!\210\301\307\310\311\312\300\"\302\242D\3131\251\fX\205\247\314X\203L \204L\315\316\307U\2032\317\202G\320U\203<\317\202G\321U\203F\322\202G\323P#\210\f\324Y\205\247\307\320U\203\206\3251\205r\326!\203k\327!\202o\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\206\210\326!\203\222\335\336\"\262)\242\">\205\247\315\337\311\340\"P$0\207\266\341\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter cancel-timer 0 #9="%s...%s" format #1# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil cl-struct-tramp-file-name-tags] 10] "done" "gzip -f " file-exists-p ".gz" ".z" #10="Compressing %s" #[0 "\303\203\306\303!\210\301\307\310\311\312\300\"\302\242D\3131\251\fX\205\247\314X\203L \204L\315\316\307U\2032\317\202G\320U\203<\317\202G\321U\203F\322\202G\323P#\210\f\324Y\205\247\307\320U\203\206\3251\205r\326!\203k\327!\202o\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\206\210\326!\203\222\335\336\"\262)\242\">\205\247\315\337\311\340\"P$0\207\266\341\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter cancel-timer 0 #9# format #10# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil cl-struct-tramp-file-name-tags] 10] tramp-verbose tramp-inhibit-progress-reporter] 21 (#$ . 95773)]) #@102 Like `insert-directory' for Tramp files. (fn FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P) (defalias 'tramp-sh-handle-insert-directory #[1026 "\204\306\262\204\307\310\"\210\311\312!!\211\242>\204#\313\314\315D\"\210\211A@\242>\2044\313\314\315D\"\210\3168\242>\204E\313\314\315D\"\210\3178\242>\204W\313\314\315D\"\210\3208\242>\204i\313\314\315D\"\210\3218\242>\204{\313\314\315D\"\210\3228\242>\204\217\313\314\315 D\"\210\3238\324\325!\203\251\326J\204\251\327\f\f\f\f$\207\n;\203\265\330 !\262 \331 \330\332 !!\"\262 \333\334\"\204\320\335\334\f\"\262  \203\343\336\337C\"\262\n\336\340C\"\262\204\366\341 \235\204\366\331 \342\"\262 \343\344\f\345#\262  \203 \n\345 Q\262 \320\346 \203\347\202\350\203&\347\202'\350F\3511\302 X\205\274\317X\203b\n\204b\352\353\354U\203H\306\202]\355U\203R\306\202]\316U\203\\\356\202]\357P#\210 \320Y\205\274\354\355U\203\234\3601\233r\361!\203\201\362!\202\205\363\364\"q\210\365P\262\331\366 C\"\211\262)0\210\202\234\210\361!\203\250\367\370\"\262)\242>\205\274\352\371\372\373\"P$0\266\202\304\266\203\360\374\372\375\376\f!\203\336\202\344\344\377P!\201C!%\"\210\202@\201D\372\201E\344\336\340C\"!\"\201F\344\336\340C\"!$\210\374\372\375\376\f!\204+\336\337 C\"G\354U\203/\306\2027\344\336\337\nC\"!\201C!%\"\210\201G`\201H\"\201G`\201I\" r\201J !q\210\366 )c\210\201K\201H!\210\214}\210\201L\201M\201H\201N#\203\264\355\224\354\225b\210`W\203\262e\201Op!\\e\201Op!\\\211f\201P>\203\255\201Q\201R\201I$\210\266\202\203\266\201S \210\201T\201U!\203\316\355y\210\354\224`|\210\202\271)\201K!\210\214}\210\201V\201W\f\201X\306#\201H\201I\201Y#)\266\203\204eb\210\201Z \201H\201I#\203\201[\306!\210\202\376@\206'A\206'B\206'\201\\\201H\211\211 \203\260\201]!\201^>\204\260\201]!\201\\=\203S\201_e`\201I#\262\201]!\201\\=\204\260\201`\201a\"\262eb\210m\204\260`\262\201b`\201R\"\262\201c`\201R\201Hd$b\210\201d`\203\230\202\232#\210\203l\201Q`\201R\201I$\210\202l\266\f\204\375 \204\375db\210\201e!\203\325\201f\201ge\201N#b\210\201f\201h!\203\345\377\202\351\337!e\201N#\210\201[\201i!\201I\"\210eb\210\201Z\201j\201H\201I#\203.\201k\377!\211\203-\201[\201l!\210\201H\210\201m\261\210\210)b\201H\211\223\210\201H\211\223\210\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-inhibit-progress-reporter enable-multibyte-characters inhibit-changing-match-data tramp-display-escape-sequence-regexp "" access-file "Reading directory" tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 featurep ls-lisp ls-lisp-use-insert-directory-program tramp-handle-insert-directory split-string append tramp-sh--quoting-style-options tramp-get-ls-command-with "--dired" delete tramp-run-real-handler file-name-nondirectory file-name-directory "-d" ("-d") mapconcat tramp-shell-quote-argument " " "Inserting directory `ls %s %s', wildcard %s, fulldir %s" "yes" "no" (error) apply message 0 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command "%s %s %s 2>%s" tramp-get-ls-command "." coding-system-for-read file-name-coding-system default-file-name-coding-system tramp-get-remote-null-device tramp-barf-unless-okay "cd %s" "Couldn't `cd %s'" copy-marker nil t tramp-get-buffer set-buffer-multibyte re-search-backward "^//DIRED//\\s-+\\(.+\\)$" noerror read (10 32) put-text-property dired-filename beginning-of-line looking-at "//" "color" tramp-get-connection-property "ls" string-match re-search-forward replace-match undecided coding-system-base (raw-text no-conversion) detect-coding-region coding-system-change-eol-conversion unix get-text-property next-single-property-change decode-coding-region file-symlink-p search-backward "->" directory-name-p file-relative-name "^\\([[:space:]]*total\\)" get-free-disk-space "\\1 used in directory" " available "] 24 (#$ . 100141)]) #@186 Like `expand-file-name' for Tramp files. If the localname part of the given file name starts with "/../" then the result will be a local, non-Tramp, file name. (fn NAME &optional DIR) (defalias 'tramp-sh-handle-expand-file-name #[513 "\211\206 \206 \304\262G\305U\203\306\262\307!\204\"\310!P\262\311!\204/\312\313\314D\"\207\315!\211\242 >\204@\316\317\320D\"\210\211A@\242 >\204Q\316\317\320D\"\210\3218\242 >\204b\316\317\320D\"\210\3228\242 >\204t\316\317\320D\"\210\3238\242 >\204\206\316\317\320D\"\210\3248\242 >\204\230\316\317\320D\"\210\3258\242 >\204\254\316\317\320 D\"\210\3268\312\307C\"\204\275\327P\262\330\331\"\203%\332\333\"\332\321\"\334\230\203\351\335 \314\336\330#)\266\203\203\351P\262\337\n #\211 =\203\340 \341\342\343!\"\"\210r\344 !q\210eb\210`\345 {)\262\346 #\210\211\262\262P\262\266\330\347\"\2037\350\304\336\211$\262\202%\351\314\336\330#)\266\203\203J\304\262\352\353\354N@\336\"\355\356\312\313C\"!\")\207" [default-directory cl-struct-tramp-file-name-tags inhibit-changing-match-data tramp-cache-undefined "/" 0 "." file-name-absolute-p file-name-as-directory tramp-connectable-p tramp-run-real-handler expand-file-name nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 "~/" string-match "\\`\\(~[^/]*\\)\\(.*\\)\\'" match-string 1 "~" "\\`su\\(do\\)?\\'" t tramp-get-connection-property tramp-send-command format "cd %s && pwd" tramp-shell-quote-argument tramp-get-buffer point-at-eol tramp-set-connection-property "//" replace-match "^/\\.\\.?$" eval temporary-file-directory standard-value tramp-make-tramp-file-name tramp-drop-volume-letter] 19 (#$ . 104391)]) #@240 Like `make-process' for Tramp files. STDERR can also be a remote file name. If method parameter `tramp-direct-async' and connection property "direct-async-process" are non-nil, an alternative implementation will be used. (fn &rest ARGS) (defalias 'tramp-sh-handle-make-process #[128 "\306!\203 \307\310\"\207\211\205\252\311\312!!\211\242 >\204\"\313\314\315D\"\210\211A@\242 >\2043\313\314\315D\"\210\3168\242 >\204D\313\314\315D\"\210\3178\242 >\204V\313\314\315D\"\210\3208\242 >\204h\313\314\315D\"\210\3218\242 >\204z\313\314\315D\"\210\3228\242 >\204\216\313\314\315 D\"\210\3238\324 \325\"\324\n\326\"\324 \327\"\324\f\330\"\324 \331\"\324\332\"\324\333\"\324\334\"\324\335\";\204\315\313\314\336 D\"\210\203\347\337!\204\347;\204\347\313\314\336\nD\"\210\203\372:\204\372\313\314\340 D\"\210\203$9\203 \n>\204$:\203@\n>\203A\n>\204$\313\314\341D\"\210\2036\342>\2046\313\314\341D\"\210\203G\343!\204G\313\314\343D\"\210\203X\343!\204X\313\314\343D\"\210\211\203n\337!\204n\211;\204n\313\314\337D\"\210\211;\203\201\344\"\204\201\313\345\346D\"\210\203\215\347!\202\220\350 !\205\243\351;\203\236\202\242\352!!\211\205\254\353\" @\nA\337!?\205\355;\205\355\354\355\356\357#)\266\203\205\355\211G\316U\205\355\211@\360\230\205\355\361A@\355\356\357#)\266\203?\211\204\365\202!\362\211A@GW\203\357\363A@#\203\364\365\355\211A@$C\241\210\211\362\\\262\202\366\210A\366\367\353\355\370# #\355\211:B\211\203e\211@\211\371\372!\235\204^\373\355\356\357#)\266\203\203Y\374C\"\262\202^\211B\262A\266\202\2021\262\375\376\377 \201H$;\205\353\366\201I\201J!\203\227\366\201K\201L\201J \363#\"\202\232\201M\n\203\251\366\201N@\"\202\254\201M\203\273\366\201O\"\202\276\201M\201L\201J\363# \203\334\366\201P@@$\202\351\201L\201JB\363#& ?\206\363AA\201Q !\205\201R !\201S\355\211BC\337!\203Rrq\210\355C)\201T\"\366\201U\"\"\210\201V\325\201W!\326\327\201XD\330\331\356\333\355\334\201Y\201Z\356&\210\201[!\203kT\262\366\201\\#\262\202R\262\201]\"\201^#\210\201]\"\201_#\210r\201`\"!q\210\201a\201b#$\216\212\214\356\211d9\203\254\202\257@9\203\272\202\275ADEFG\201c \210dd}\210\201d25\201e%\201f\"\201g'!\240\210\201h\242\201i#\210\201]\242\201j#\266~\210\211d|\210dd}\210\203\201T% \355\356$\2024\201k\242\201l\"?\2054\201m%\345\201n $0\210\203D\201o\242\"\210\203R\201p\242\"\210\201q1p\201r\242?\"\210\201s\242!`\355\2230\210\202q\210\337!\203\241\201t\201u\242\201a\201v\"\201a\201w\"B\262\201a\201x#\355$\210\242,\266\203.\266\242\207" [default-directory cl-struct-tramp-file-name-tags coding-system-list tramp-temp-buffer-name inhibit-changing-match-data tramp-initial-end-of-output tramp-direct-async-process-p apply tramp-handle-make-process tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 plist-get :name :buffer :command :coding :noquery :connection-type :filter :sentinel :stderr stringp bufferp consp symbolp (pipe pty) functionp tramp-equal-remote file-error "Wrong stderr" get-buffer-create generate-new-buffer tramp-unquote-file-local-name tramp-make-tramp-temp-name tramp-make-tramp-file-name "sh$" nil t string-match "-c" "'\\|\"" 250 " " replace-match " \\\\\n" format "PS1=%s %s" nohop default-toplevel-value process-environment "=" append setenv-internal "INSIDE_EMACS" tramp-inside-emacs tramp-end-of-heredoc tramp-process-connection-type tramp-current-connection buffer-read-only coding-system-for-read coding-system-for-write inhibit-read-only buffer-undo-list keep "cd %s && %s exec %s %s env %s %s" tramp-shell-quote-argument "unset %s &&" mapconcat "" "<<'%s'" "2>'%s'" "%s\n(\n%s\n) " tramp-set-connection-property "process-name" "process-buffer" tramp-get-connection-buffer make-closure #[0 " \305 \306\307\310#)\266\203\203'\3111#\312\302\242\306\"\210\313p!0\210\202+\210\202+\314\301!\210\315\300\316\"\210\315\300\317\"\207" [V0 V1 V2 tramp-temp-buffer-name inhibit-changing-match-data buffer-name nil t string-match (error) set-process-buffer kill-buffer set-buffer-modified-p tramp-flush-connection-property "process-name" "process-buffer"] 7] clear-visited-file-modtime suppress tramp-send-command-and-read "echo $$" tramp-get-connection-process process-put remote-pid "remote-pid" process-get remote-tty tramp-error "pty association is not supported for `%s'" set-process-sentinel set-process-filter (error) set-process-query-on-exit-flag process-mark advice--add-function :after #[0 "\301\300!\207" [V0 process-sentinel] 2] #[257 "\301\300\"\207" [V0 set-process-sentinel] 4 "\n\n(fn GV--VAL)"] #[514 "\3021\303\304\300!\305\306\307$\204\310\304\300!!0\210\202\210\3111#\312\301!0\207\210\306\207" [V0 V1 (error) accept-process-output get-buffer-process 0 nil t delete-process (error) delete-file] 7 "\n\n(fn PROC MSG)"]] 53 (#$ . 106138)]) #@67 Strings to return by `process-file' in case of signals. (fn VEC) (defalias 'tramp-sh-get-signal-strings #[257 "\305\306\307\310\"P#\211=\203I\311\312\"\313\211\211\211\314\315\316\317\320!\313\321#\"\262A@;\203=A@\322\230\203=\211AA\241\210\313\3231mA\211\205f\211@\324\313\325\326#)\266\203\204_\327\313!\210A\266\202\202E\2620\210\202q\210\330\262)\331\332\211W\2034\211\211\332U\203\205\332\202(\2118\333\230\203\222\334\202(\2118\335\230\203\237\336\202(\2118\337\230\203\254\340\202(\2118\341\230\203\271\342\202(\2118\343\230\203\306\344\202(\2118\345\230\203\323\346\202(\2118\347\230\203\340\350\202(\2118\204\353\351\202\352\n\353\354\307\310\"\355\356\307\357\"\360#\361\353\362 \"!$\"\210r\363\n!q\210eb\210\364 \365 {)\262\351\230\203'\353\366\"\202(B\262\210\211T\262\202t\266\367!*\266\205\262\370\306\307\310\"P#\210\207" [tramp-cache-undefined process-file-return-signal-string default-directory signal-hook-function inhibit-changing-match-data tramp-get-connection-property "signal-strings-" tramp-get-method-parameter tramp-remote-shell tramp-make-tramp-file-name localname nil append (0) split-string shell-command-to-string "kill -l" omit "0" (error) "^[[:alnum:]+-]+$" t string-match error (0) 128 0 "HUP" "Hangup" "INT" "Interrupt" "QUIT" "Quit" "STOP" "Stopped (signal)" "TSTP" "Stopped" "TTIN" "Stopped (tty input)" "TTOU" "Stopped (tty output)" "" tramp-send-command format "%s %s %s" mapconcat identity tramp-remote-shell-args " " tramp-shell-quote-argument "kill -%d $$" tramp-get-connection-buffer point-at-bol point-at-eol "Signal %d" reverse tramp-set-connection-property] 20 (#$ . 111444)]) #@100 Like `process-file' for Tramp files. (fn PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) (defalias 'tramp-sh-handle-process-file #[1153 "\247\203\306U\203\307\310!\210\311!\211\242 >\204 \312\313\314D\"\210\211A@\242 >\2041\312\313\314D\"\210\3158\242 >\204B\312\313\314D\"\210\3168\242 >\204T\312\313\314D\"\210\3178\242 >\204f\312\313\314D\"\210\3208\242 >\204x\312\313\314D\"\210\3218\242 >\204\214\312\313\314 D\"\210\3228\323\211\211\211\211\211\211\211C\323C\324\325B\326#\262 \n\211\203\335\211@\211\327\302!\235\204\326\330\323\331\332#)\266\203\203\320\333\nC\"\262\n\202\326\211 B\262 A\266\202\202\247\210\334\335\336 \337$\210\203\371\340\341\324\325 \326# #\262 \203 \340\342\324\325\n\326# #\262 \204\343!\262\202G\344!\262\345\"\2030\346!\262\202G\347!\262\350\351#\262\352\331#\210\203T\340\353\n#\262 \354!\203c\240\210\202\370;\203s\355!\240\210\202\370:\203\357\354@!\203\212@\240\210\202\246@;\203\234\355@!\240\210\202\246@\203\246p\240\210A@;\203\337A\344A@!\240\210\345A@\"\203\316\346A@!\262\202\370\347!\262\350\351#\262\202\370A@\204\370\343!\262\202\370\203\370p\240\210\203\340\356\n#\262 \3571@\36010\361\362%\216\211\363\340\364\325!#\331\211\211%\240)00\210\202L0\210\365\366!!\210\211\367\240\210\202L\210\365\366!!\210\211\370\240\210\371\304!\203p\f\203p\372\242!\203p\211\242\373Y\203p\211\242\373Z\374!8\240\210\203}\375A@\331#\210\203\205\376!\210 \204\221\377\201@\"\210\211\242\367=\203\235\201A \207\211\242\207" [default-directory cl-struct-tramp-file-name-tags process-environment inhibit-changing-match-data process-file-return-signal-string process-file-side-effects 0 error "Implementation does not handle immediate return" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 nil mapconcat tramp-shell-quote-argument " " default-toplevel-value "=" t string-match append setenv-internal "INSIDE_EMACS" tramp-inside-emacs keep format "env %s %s" "unset %s && %s" tramp-get-remote-null-device expand-file-name tramp-equal-remote tramp-file-local-name tramp-make-tramp-temp-file tramp-make-tramp-file-name nohop copy-file "%s <%s" bufferp get-buffer-create "%s 2>%s" (error) (quit) make-closure #[0 "\304\303\242!\204 \303\305\240\210\302\242\205/r\302\242q\210r\306\301!q\210\307 )c\210)\300\205/\310\302\242\311\"\205/\312 \207" [V0 V1 V2 V3 natnump 1 tramp-get-connection-buffer buffer-string get-buffer-window t redisplay] 3] tramp-send-command-and-check "cd %s && %s" kill-buffer tramp-get-connection-buffer -1 1 boundp natnump 128 tramp-sh-get-signal-strings rename-file delete-file tramp-flush-directory-properties "" keyboard-quit] 31 (#$ . 113165)]) #@35 Like `exec-path' for Tramp files. (defalias 'tramp-sh-handle-exec-path #[0 "\301\302\303!!\304\305!!C\"\207" [default-directory append tramp-get-remote-path tramp-dissect-file-name tramp-file-local-name expand-file-name] 5 (#$ . 116034)]) #@56 Like `file-local-copy' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-local-copy #[257 "\306!\211\242>\204\307\310\311D\"\210\211A@\242>\204\"\307\310\311D\"\210\3128\242>\2043\307\310\311D\"\210\3138\242>\204E\307\310\311D\"\210\3148\242>\204W\307\310\311D\"\210\3158\242>\204i\307\310\311D\"\210\3168\242>\204}\307\310\311 D\"\210\3178\320\321\n!!\204\246 \322\323N\203\236\324 #\266\202\246\324 \325$\266\326\321\n!!\3178\262\327 \330#\327\n\331# \332\333\334\n\335\336\337N@\340\"\"\341\340\"#\266\202\3421\233\343\f!\204\346\344\f\"\203\360\345 \346\347$\202\226\203\212 \204\374\f\203\f\350\f\351\352\n!\"\353#\210\202 \313\354\355\356#C\3571\271 X\205\263\313X\203S@\204S\360\361\362U\2039\363\202N\364U\203C\363\202N\312U\203M\365\202N\366P#\210 \314Y\205\263\362\364U\203\215\3671\214r\370!\203r\371!\202v\372\373\"q\210\374P\262\375\376 C\"\211\262)0\210\202\215\210\370!\203\233\377\201D\"\262)\242>\205\263\360\201E\351\201F\"P$0\266\202\273\266\201GC@?\205\332\313 \313^X\205\332\201H\355\356#\332\211#\211\205\352\201I\313\201J\201K$\262\201L\201M&\216@\206\211@\350\351\352\f!\"\353#\210)\201N\240\210)\266 \204'\f\203\314\201O!\203\202\332\201P\335\336\337N@\340\"ABC\211\201Q\201R\340\"\201L\201S\"\216r\211q\210\201T\332!\210\201U\201V!!\210ed\"\210)r\211q\210\201W\332\211\332\362%\210*\266+\202v\f\332\333\334\n\335\336\337N@\340\"\"\341\340\"#\266\202\332\201PBCr\201V !q\210\201Wed\332\201X%\210+\201L\201Y\"\216\201Z#\210)\210\202v \313\354\355\201[#C\3571z X\205t\313X\203@\204\360\361\362U\203\372\363\202\364U\203\363\202\312U\203\365\202\366P#\210 \314Y\205t\362\364U\203N\3671Mr\370!\2033\371!\2027\372\373\"q\210\374P\262\375\376 C\"\211\262)0\210\202N\210\370!\203\\\377\201D\"\262)\242>\205t\360\201E\351\201F\"P$0\266\202|\266\201GC@?\205\234\313 \313^X\205\234\201H\355\201[#\332\211#\211\205\254\201I\313\201J\201K$\262\201L\201\\&\216@\206\307\211@\201O!\203$\332\201P\335\336\337N@\340\"ABC\201Q\201R\340\"\201L\201]\"\216r\211q\210\201T\332!\210\201U\201V!!\210ed\"\210)r\211q\210\201W\332\211\332\362%\210*\266+\202l\332\333\334\n\335\336\337N@\340\"\"\341\340\"#\266\202\332\201PBCr\201V!q\210\201Wed\332\201X%\210+\201L\201^\"\216\201Z#\210)\210)\201N\240\210)\266\201_\201`!\"\210\201a!\202\226\324\f\201b\201c$0\210\202\251\201d!\210\307@A\"\266\201e\201f!\210\207" [cl-struct-tramp-file-name-tags tramp-file-missing tramp-temp-name-prefix noninteractive inhibit-message tramp-verbose tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p file-truename file-missing error-conditions tramp-error "No such file or directory: %s" file-attributes tramp-get-inline-coding "remote-encoding" "local-decoding" nil make-temp-file expand-file-name eval temporary-file-directory standard-value t file-name-extension (error quit) tramp-local-host-p tramp-method-out-of-band-p copy-file ok-if-already-exists keep-time tramp-barf-unless-okay format tramp-shell-quote-argument "Encoding remote file failed" "%s..." format-message #1="Encoding remote file `%s' with `%s'" #2=(error) apply message 0 #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get tramp-inhibit-progress-reporter default-directory coding-system-for-write file-name-handler-alist vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\304\203\306\304!\210\301\307\310\311\312\300\302#\303\242D\3131\253 X\205\251\307X\203N#\204N\314\315\316U\2034\317\202I\320U\203>\317\202I\321U\203H\322\202I\323P#\210 \324Y\205\251\316\320U\203\210\3251\207r\326!\203m\327!\202q\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\210\210\326!\203\224\335\336\"\262)\242$>\205\251\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 V3 V4 tramp-verbose cancel-timer 3 #9="%s...%s" format-message #1# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] "done" functionp binary generate-new-buffer " *temp file*" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] set-buffer-multibyte insert-buffer-substring tramp-get-buffer write-region no-message #[0 "\301\300!\207" [V0 delete-file] 2] tramp-call-local-coding-command #10="Decoding local file `%s' with `%s'" #[0 "\304\203\306\304!\210\300\307\310\311\312\302\301#\303\242D\3131\253 X\205\251\307X\203N#\204N\314\315\316U\2034\317\202I\320U\203>\317\202I\321U\203H\322\202I\323P#\210 \324Y\205\251\316\320U\203\210\3251\207r\326!\203m\327!\202q\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\210\210\326!\203\224\335\336\"\262)\242$>\205\251\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 V3 V4 tramp-verbose cancel-timer 3 #9# format-message #10# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #[0 "\301\300!\207" [V0 delete-file] 2] set-file-modes tramp-default-file-modes tramp-set-file-uid-gid file-error "Wrong method specification for `%s'" delete-file run-hooks tramp-handle-file-local-copy-hook] 23 (#$ . 116281)]) #@105 Like `write-region' for Tramp files. (fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW) (defalias 'tramp-sh-handle-write-region #[1795 "C\211\306\242!\240\210\307\242!\211\242>\204\310\311\312D\"\210\211A@\242>\204,\310\311\312D\"\210\3138\242>\204=\310\311\312D\"\210\3148\242>\204O\310\311\312D\"\210\3158\242>\204a\310\311\312D\"\210\3168\242>\204s\310\311\312D\"\210\3178\242>\204\207\310\311\312 D\"\210\3208 \203\263\321 \242!\203\263 \322=\204\252\323\324\325 \242\"!\204\263\326\327 \242#\210\330 \242\331\"\3138\262\206\306\332\331\"\330\n\242\331\"\3148\262\206\331\333 \331\"\334\n!\203 \335\336\337!!\205\363\340!\206\363\336!)\203 \341\342&\210\202y\343 \242 \322=\205\344\"\335\345\302\346N@\347\" \206:\f\242\335\350\306\f\345\302\346N@\347\"\"\351\347\"#\266\202\203O\321\242!\203O\352\242\353#\210\354\242\"\3551l\341\342&0\210\202z\335\356!\210\310@A\"\266@\262)\203\217\357\360\206\213\361\362\"\"\210\330!\3208\262\363\364#\363\365#\334!\204\262\366\"\203;\204\372\206\276ddU\203\372\206\311eeU\203\372\367\370\"\203\372\3711\351\352\242\347#0\266\202o\335\356!\210\310@A\"\266\202o\335\372\373\"\216\352\242\347#\210)\266\202o\203a\372\374\"\216\375\376\347\"r\211q\210\372\377\"\216\201I\335!\210A\2045B\203z\201J!\203Z\201K\345\302\346N@\347\"CD\201L!\210ed\"\210*\202\366\201M\347#\361U\204\366\326\201N\201O\242%\210\202\366\314\201P\201Q\201R #C\201S1XEX\205R\314X\203\330F\204\330\201T\201U\361U\203\266\201V\202\323\201WU\203\304\201V\202\323\313U\203\320\201X\202\323\201YP#\210E\315Y\205R\361E\201WU\203&\201Z1%r\201[!\203\201\\!\202 \201]\201^\"q\210\201_P\262\201`\201a C\"\211\262)0\210\202&\210\201[!\2038\201b\201c\"\262)\242>\205R\201T\201d\324\201e\"P$0\266\202Z\266\201fCF?\205~\314E\314^X\205~\201g\201Q\201R#\335\211#\211\205\216\201h\314\201i\201j$\262\372\201k &\216F\206\247\211F\201J!\203\317\201K\345\302\346N@\347\"CD\201L!\210ed\"\210*\202\354\201M\347#\361U\204\354\326\201N\201O\242%\210)\201l\240\210)\266A\204B\203\220db\210n\204\f\201m \210\201n\324\201oP\201p!G\201a G%\"\210\201q\335\201r\242%\210H\203Y\201s \210\201t\201u\347$\361U\203Y\201v\324\201w\201p!\"\"\203Y\201a r\201x!q\210\201a )\230\204Y\326\201N\201r\242%\210\202Y\314\201P\201Q\201y\242#C\201S1oEX\205i\314X\203\357F\204\357\201T\201U\361U\203\315\201V\202\352\201WU\203\333\201V\202\352\313U\203\347\201X\202\352\201YP#\210E\315Y\205i\361E\201WU\203=\201Z1<r\201[!\203\201\\!\202 \201]\201^\"q\210\201_P\262\201`\201a C\"\211\262)0\210\202=\210\201[!\203O\201b\201c\"\262)\242>\205i\201T\201d\324\201e\"P$0\266\202q\266\201fCF?\205\226\314E\314^X\205\226\201g\201Q\201y\242#\335\211#\211\205\246\201h\314\201i\201j$\262\372\201z&\216F\206\277\211Fdb\210n\204\315\201m \210\201n\324\201oP\201p!G\201a G%\"\210\201q\335\201r\242 %\210H\203O\201s \210\201t\201u \347$\361U\203O\201v\324\201w\201p!\"\"\203O\201a r\201x!q\210\201a )\230\204O\326\201N\201r\242 %\210)\201l\240\210)\266*\210)\266\202o\326\201N\201{$\266\203v@)\266\201|\n\"\210\335\347@\347=\204\223;\203\305\330 \242\331\"\201}\3168\262\206\251\201~ !\210\211\3138\262U\203\304\211\3148\262U\203\304\335\262\210\211\203\323\201 \242#\210A\204\302\347=\204\352\203\352;\203\302 \361\201\200\242C\201S1\300EX\205\272\314X\203@F\204@\201T\201U\361U\203\201V\202;\201WU\203,\201V\202;\313U\2038\201X\202;\201YP#\210E\315Y\205\272\361E\201WU\203\216\201Z1\215r\201[!\203i\201\\!\202q\201]\201^\"q\210\201_P\262\201`\201a C\"\211\262)0\210\202\216\210\201[!\203\240\201b\201c\"\262)\242>\205\272\201T\201d\324\201e\"P$0\266\202\302\266\201\201\201\202!)\207" [cl-struct-tramp-file-name-tags file-name-handler-alist temporary-file-directory tramp-temp-buffer-file-name tramp-temp-name-prefix file-coding-system-alist expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p excl y-or-n-p format "File %s exists; overwrite anyway? " tramp-error file-already-exists file-attributes integer tramp-get-remote-uid tramp-get-remote-gid tramp-local-host-p nil file-writable-p file-name-directory file-directory-p write-region no-message tramp-default-file-modes nofollow eval standard-value t make-temp-file file-name-extension copy-file ok tramp-find-file-name-coding-system-alist (error quit) delete-file set-file-modes logior 0 256 tramp-get-inline-coding "remote-decoding" "local-encoding" tramp-method-out-of-band-p tramp-get-method-parameter tramp-copy-keep-tmpfile (error quit) make-closure #[0 "\301\300!\207" [V0 delete-file] 2] #[0 "\301\300!\207" [V0 delete-file] 2] generate-new-buffer " *temp*" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] last-coding-system-used noninteractive inhibit-message default-directory coding-system-for-read tramp-verbose tramp-inhibit-progress-reporter tramp-end-of-heredoc file-precious-flag set-buffer-multibyte functionp binary insert-file-contents-literally tramp-call-local-coding-command file-error "Cannot write to `%s', local encoding command `%s' failed" "%s..." format-message #1="Encoding local file `%s' using `%s'" #2=(error) apply message #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update #[0 "\304\203\306\304!\210\300\307\310\311\312\301\302#\303\242D\3131\253 X\205\251\307X\203N#\204N\314\315\316U\2034\317\202I\320U\203>\317\202I\321U\203H\322\202I\323P#\210 \324Y\205\251\316\320U\203\210\3251\207r\326!\203m\327!\202q\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\210\210\326!\203\224\335\336\"\262)\242$>\205\251\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 V3 V4 tramp-verbose cancel-timer 3 #9="%s...%s" format-message #1# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] "done" newline tramp-send-command " <<'%s'\n%s%s" tramp-shell-quote-argument tramp-barf-unless-okay "Couldn't write region to `%s', decode using `%s' failed" erase-buffer tramp-call-process "cksum" tramp-send-command-and-check "cksum <%s" tramp-get-buffer #10="Decoding remote file `%s' using `%s'" #[0 "\304\203\306\304!\210\301\307\310\311\312\300\242\302#\303\242D\3131\254 X\205\252\307X\203O#\204O\314\315\316U\2035\317\202J\320U\203?\317\202J\321U\203I\322\202J\323P#\210 \324Y\205\252\316\320U\203\211\3251\210r\326!\203n\327!\202r\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\211\210\326!\203\225\335\336\"\262)\242$>\205\252\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 V3 V4 tramp-verbose cancel-timer 3 #9# format-message #10# #2# apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] "Method `%s' should specify both encoding and decoding command or an scp program" tramp-flush-file-properties set-visited-file-modtime current-time tramp-set-file-uid-gid "Wrote %s" run-hooks tramp-handle-write-region-hook] 35 (#$ . 122260)]) #@76 List used to collect file names, which are checked during `vc-registered'. (defvar tramp-vc-registered-file-names nil (#$ . 130369)) #@50 Like `vc-registered' for Tramp files. (fn FILE) (defalias 'tramp-sh-handle-vc-registered #[257 "\205\277 \206 \n ?\205\306\211\307C\310\311#\216\203(\211\312 \240\210\313\314\"\210\315!\211\242 >\2049\316\317\320D\"\210\211A@\242 >\204J\316\317\320D\"\210\3218\242 >\204[\316\317\320D\"\210\3228\242 >\204m\316\317\320D\"\210\3238\242 >\204\316\317\320D\"\210\3248\242 >\204\221\316\317\320D\"\210\3258\242 >\204\245\316\317\320 D\"\210\3268\f\204\261\n\2035\307\327 \330BC@AB\3311\315\332\333C\"0\210\202v\322\334C\3351qCX\205k\322X\203D\204\336\313\337U\203\365\306\202\n\340U\203\377\306\202\n\321U\203 \341\202\n\342P#\210C\323Y\205k\337C\340U\203K\3431Jr\344!\2030\345!\2024\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202K\210\344!\203W\353\354\"\262)\242 >\205k\336\355\356\357\"P$0\266\202v\266\307\266\360\350BC\3351CX\205\322X\203\271D\204\271\336\313\337U\203\237\306\202\264\340U\203\251\306\202\264\321U\203\263\341\202\264\342P#\210C\323Y\205\337C\340U\203\365\3431\364r\344!\203\332\345!\202\336\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\365\210\344!\203\353\354\"\262)\242 >\205\336\355\356\357\"P$0\266\202\266B\203}\361\356E\362\f!\356\363\364!\"#\365#\210\3661_\367\356\370F\371\372B\373#F$\"\210r\346!q\210eb\210\374p!)0\202a\210\307\211\203|\211@\375\n@A@AA@$\210A\266\202\202a\210+\376!\307\211GA\377>\203\324\201L\201M\307\201N#\203\315\201OHI#\211I=\203\307\201P H\201Q\f!#\262\201R H#\210\211\262\204\324\201S\377\"\201T>\203$\201L\201U\307\201N#\203\201OJI#\211I=\203\201P J\201Q\f!#\262\201R J#\210\211\262\204$\201S\201T\"\201V>\203t\201L\201W\307\201N#\203k\201OKI#\211I=\203e\201P K\201Q\f!#\262\201R K#\210\211\262\204t\201S\201V\"\201X1\204\332\333C\"0\202/\322\201YC\3351*CX\205$\322X\203\310D\204\310\336\313\337U\203\256\306\202\303\340U\203\270\306\202\303\321U\203\302\341\202\303\342P#\210C\323Y\205$\337C\340U\203\3431r\344!\203\351\345!\202\355\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\210\344!\203\353\354\"\262)\242 >\205$\336\355\356\357\"P$0\266\202,\266\307\262+\266\210\202\271\322\201Z\201[\201\\\"C\3351\343CX\205\335\322X\203\201D\204\201\336\313\337U\203g\306\202|\340U\203q\306\202|\321U\203{\341\202|\342P#\210C\323Y\205\335\337C\340U\203\275\3431\274r\344!\203\242\345!\202\246\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\275\210\344!\203\311\353\354\"\262)\242 >\205\335\336\355\356\357\"P$0\266\202\345\266\201]CD?\205\322C\322^X\205\201^\201[\201\\\"\307\211#\211\205\201_\322\201`\201a$\262\310\201b\f%\216D\206+\211D\307\327 \330BC@AB\201c1K\332\333C\"0\210\202\364\n\322\334C\3351\357CX\205\351\322X\203\215D\204\215\336\313\337U\203s\306\202\210\340U\203}\306\202\210\321U\203\207\341\202\210\342P#\210C\323Y\205\351\337C\340U\203\311\3431\310r\344!\203\256\345!\202\262\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\311\210\344!\203\325\353\354\"\262)\242 >\205\351\336\355\356\357\"P$0\266\202\364\266\307\266 \360\350BC\3351\231CX\205\223\322X\2037D\2047\336\313\337U\203\306\2022\340U\203'\306\2022\321U\2031\341\2022\342P#\210C\323Y\205\223\337C\340U\203s\3431rr\344!\203X\345!\202\\\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202s\210\344!\203\353\354\"\262)\242 >\205\223\336\355\356\357\"P$0\266\202\233\266B\203\375\361\n\356E\362!\356\363\364!\"#\365#\210\201d1\337\367\n\356\370F\371\372B\373#F$\"\210r\346\n!q\210eb\210\374p!)0\202\341\210\307\211\203\374\211@\375\f@A@AA@$\210A\266\202\202\341\210+\376!\307\211GA\377>\203T\201L\201M\307\201N#\203M\201O\nHI#\211I=\203G\201P H\201Q!#\262\201R H#\210\211\262\204T\201S\377\"\201T>\203\244\201L\201U\307\201N#\203\233\201O\nJI#\211I=\203\225\201P J\201Q!#\262\201R J#\210\211\262\204\244\201S\201T\"\201V>\203\364\201L\201W\307\201N#\203\353\201O\nKI#\211I=\203\345\201P K\201Q!#\262\201R K#\210\211\262\204\364\201S\201V\"\201e1\332\333C\"0\202\257\n\322\201YC\3351\252CX\205\244\322X\203HD\204H\336\313\337U\203.\306\202C\340U\2038\306\202C\321U\203B\341\202C\342P#\210C\323Y\205\244\337C\340U\203\204\3431\203r\344!\203i\345!\202m\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\204\210\344!\203\220\353\354\"\262)\242 >\205\244\336\355\356\357\"P$0\266\202\254\266\307\262,\201f\240\210)\266\212)\266\202)\266\202\207" [vc-handled-backends revert-buffer-in-progress-p inhibit-message cl-struct-tramp-file-name-tags noninteractive tramp-file-name-regexp #4="" nil make-closure #[0 "\300\205\301\242\203\302\303\301\242\"\207\302\304!\207" [V0 V1 message #1="%s" nil] 3] current-message message #1# tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 current-time tramp-vc-file-name-handler (debug error) tramp-run-real-handler vc-registered "Error in 1st pass of `vc-registered': %s" #3=(error) apply 0 1 #5="Warning: " #6="Tramp: " #7=(error) processp process-buffer tramp-get-connection-buffer dont-create #8="\n%s" append buffer-string process-get vector tramp-debug-message format #9="(%d) # " 10 tramp-maybe-send-script tramp-get-file-exists-command "%s -r" tramp-get-test-command "tramp_vc_registered_read_file_names" (error) tramp-send-command "tramp_vc_registered_read_file_names <<'%s'\n%s\n%s\n" mapconcat tramp-shell-quote-argument "\n" read tramp-set-file-property copy-sequence Bzr file-name-handler-alist remote-file-name-inhibit-cache tramp-vc-registered-file-names tramp-verbose tramp-inhibit-progress-reporter tramp-vc-registered-read-file-names tramp-end-of-heredoc process-file-side-effects vc-bzr-program tramp-cache-undefined vc-git-program vc-hg-program require vc-bzr noerror tramp-get-connection-property tramp-find-executable tramp-get-remote-path tramp-set-connection-property remq Git vc-git Hg vc-hg (debug error) "Error in 2nd pass of `vc-registered': %s" "%s..." format-message #2="Checking `vc-registered' for %s" "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update #[0 "\303\203\306\303!\210\301\307\310\311\312\300\"\302\242D\3131\251\fX\205\247\307X\203L \204L\314\315\316U\2032\317\202G\320U\203<\317\202G\321U\203F\322\202G\323P#\210\f\324Y\205\247\316\320U\203\206\3251\205r\326!\203k\327!\202o\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\206\210\326!\203\222\335\336\"\262)\242#>\205\247\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter cancel-timer 3 "%s...%s" format-message #2# #3# apply message 0 #4# 1 2 #5# #6# 4 #7# processp process-buffer tramp-get-connection-buffer dont-create #8# append buffer-string process-get vector tramp-debug-message format #9# nil cl-struct-tramp-file-name-tags] 10] (debug error) (error) (debug error) "done"] 26 (#$ . 130508)]) #@139 Invoke remote-shell Tramp file name handler. Fall back to normal file name handler if no Tramp handler exists. (fn OPERATION &rest ARGS) (defalias 'tramp-sh-file-name-handler #[385 "\301\"\211\203\302 \303\304\"\216\305A\")\207\306\"\207" [tramp-sh-file-name-handler-alist assoc match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] apply tramp-run-real-handler] 7 (#$ . 137893)]) #@72 Whether VEC uses a method from `tramp-sh-file-name-handler'. (fn VEC) (defalias 'tramp-sh-file-name-handler-p #[257 "\302\242>\204\303\304\305D\"\210A@ \"\205 \306\307\310\311#!\312=\207" [cl-struct-tramp-file-name-tags tramp-methods assoc signal wrong-type-argument tramp-file-name tramp-find-foreign-file-name-handler tramp-make-tramp-file-name nil nohop tramp-sh-file-name-handler] 6 (#$ . 138318)]) (add-hook 'tramp--startup-hook #[0 "\300\301\302\303#\207" [tramp-register-foreign-file-name-handler identity tramp-sh-file-name-handler append] 4]) #@98 Invoke special file name handler, which collects files to be handled. (fn OPERATION &rest ARGS) (defalias 'tramp-vc-file-name-handler #[385 "\303 \304\305\"\216\306\307\310#!\311\"\312!\203\365\313!\211\242 >\204)\314\315\316D\"\210\211A@\242 >\204:\314\315\316D\"\210\3178\242 >\204K\314\315\316D\"\210\3208\242 >\204]\314\315\316D\"\210\3218\242 >\204o\314\315\316D\"\210\3228\242 >\204\201\314\315\316D\"\210\3238\242 >\204\225\314\315\316 D\"\210\3248\203\275\f\325>\203\275\n\235\203\261\n\266 \202\271\326\nC\"\266\n\327\202\373\203\317\f\330=\203\317\266\n\331\202\373\203\352\303 \304\332\"\216\307\nA\")\262\266\212\202\373\333  \"\266\212\202\373\333\"\266\202)\207" [tramp-sh-file-name-handler-alist cl-struct-tramp-file-name-tags tramp-vc-registered-file-names match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-replace-environment-variables apply tramp-file-name-for-operation assoc tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 (file-exists-p file-readable-p) append nil process-file 0 #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-run-real-handler] 17 (#$ . 138885)]) #@78 Like `file-notify-add-watch' for Tramp files. (fn FILE-NAME FLAGS CALLBACK) (defalias 'tramp-sh-handle-file-notify-add-watch #[771 "\305!\262\306!\211\242>\204\307\310\311D\"\210\211A@\242>\204'\307\310\311D\"\210\3128\242>\2048\307\310\311D\"\210\3138\242>\204J\307\310\311D\"\210\3148\242>\204\\\307\310\311D\"\210\3158\242>\204n\307\310\311D\"\210\3168\242>\204\202\307\310\311 D\"\210\3178\320 !\321 B\322\211\211\211\211\323!\211\262\203\344\324\262\325>\203\266\326>\203\266\327\202\311\325>\203\301\330\202\311\326>\205\311\331\262\332\333\f\257\262\334\335\336\337\340#\"\262\202-\341!\211\262\203\"\342\262\325>\203\326>\203\343\202\325>\203\344\202\326>\205\345\262\346\nE\262\202-\347\350\351\352!$\210\353\354\355!\356\357\360\355 !\"!$\262\361!\204X\347\350\362\363\364\365#\266\202$\202i\316\366\363\364\365#\266\202D\3671 X\205 \313X\203\241\f\204\241\353\370\371U\203\207\372\202\234\373U\203\221\372\202\234\312U\203\233\374\202\234\375P#\210 \314Y\205 \371\373U\203\345\3761\344r\361!\203\300\377!\202\310\201@\201A\"q\210\201BP\262\201C\201D C\"\211\262)0\210\202\345\210\361!\203\365\201E\201F\"\262)\242>\205 \353\201G\357\201H\"P$0\266\202\266\201I\201F#\210\201I\201J#\210\201I\201K #\210\201L\322\"\210\201M\"\210\201N\201O\"\210\201P\371\"\204M\201Q!\204h\347\350\201R$\210*\207" [cl-struct-tramp-file-name-tags process-environment default-directory tramp-verbose tramp-inhibit-progress-reporter expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-directory "GIO_USE_FILE_MONITOR=help" nil tramp-get-remote-inotifywait tramp-sh-inotifywait-process-filter change attribute-change "create,modify,move,moved_from,moved_to,move_self,delete,delete_self,attrib,ignored" "create,modify,move,moved_from,moved_to,move_self,delete,delete_self,ignored" "attrib,ignored" "-mq" "-e" mapcar #[257 "\300\301\302\303#!\207" [intern-soft tramp-compat-string-replace "_" "-"] 6 "\n\n(fn X)"] split-string "," omit tramp-get-remote-gio-monitor tramp-sh-gio-monitor-process-filter (created changed changes-done-hint moved deleted attribute-changed) (created changed changes-done-hint moved deleted) (attribute-changed) "monitor" tramp-error file-notify-error "No file notification program found on %s" file-remote-p apply start-file-process file-name-nondirectory generate-new-buffer format " *%s*" processp "`%s' failed to start on remote host" " " mapconcat identity "Run `%s', %S" (error) message 0 "" 1 "Warning: " "Tramp: " (error) process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " process-put events watch-name set-process-query-on-exit-flag set-process-filter set-process-sentinel tramp-file-notify-process-sentinel tramp-accept-process-output process-live-p "Monitoring not supported for `%s'"] 28 (#$ . 140153)]) #@94 Read output from "gio monitor" and add corresponding `file-notify' events. (fn PROC STRING) (defalias 'tramp-sh-gio-monitor-process-filter #[514 "\306\307\"r\310!q\210\311!)\306\312\"\313\203\270\314\315C\3161\266 X\205\260\317X\203V\n\204V\320\321\322U\203<\323\202Q\324U\203F\323\202Q\325U\203P\326\202Q\327P#\210 \330Y\205\260\322\324U\203\220\3311\217r\332!\203u\310!\202y\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\220\210\332!\203\234\306\340\"\262)\242 >\205\260\320\341\342\343\"P$0\266\202\270\266\344\345D\3161Z X\205T\317X\203\372\n\204\372\320\321\322U\203\340\323\202\365\324U\203\352\323\202\365\325U\203\364\326\202\365\327P#\210 \330Y\205T\322\324U\2034\33113r\332!\203\310!\202\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\2024\210\332!\203@\306\340\"\262)\242 >\205T\320\341\342\343\"P$0\266\202\\\266P\262\346\347\350#\262\346\351\352#\262\346\353\354#\262\3552p\356\313\357\360#)\266\203\203\227\361!\210\362\355\313\"\210\363\364\"\204\362\365\364\360\366 \"\203\307\322\225\262\367\370!\203\271\371\202\352 \372=\203\303\373\202\352\313\202\352\360\374 \"\203\344\322\225\262\375\342\376\377\201A\324 \"!\"!\202\352G\262\313#\210\313O\262\346\201B\201C#\262\360\201D\"\205o\201A\324\"\201A\330\"\201E\201A\325\n\"!CP\2050PF\201F\323\313\211 $\262\211A@@\235\203j\201G\201H@\201I\"!\203j\201H@\201I\"\201J\201KBB!\210\266\202\3760\210\360\201L\"\203\211\201F\323\313\211$\262\202qG\322U\203\223\313\262\203;\314\201MC\31619 X\2053\317X\203\331\n\204\331\320\321\322U\203\277\323\202\324\324U\203\311\323\202\324\325U\203\323\326\202\324\327P#\210 \330Y\2053\322\324U\203\3311r\332!\203\370\310!\202\374\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\210\332!\203\306\340\"\262)\242 >\2053\320\341\342\343\"P$0\266\202;\266\201N\312#\207" [default-directory tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags inhibit-changing-match-data system-type process-get events process-buffer file-remote-p rest-string nil 10 "Previous string:\n%s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string vector tramp-debug-message format "(%d) # " 6 "%S\n%s" tramp-compat-string-replace "attributes changed" "attribute-changed" "changes done" "changes-done-hint" "renamed to" "moved" doesnt-work "Monitoring not supported\\|No locations given" t string-match delete-process throw tramp-connection-property-p "gio-file-monitor" tramp-set-connection-property "Can't find module 'help' specified in GIO_USE_FILE_MONITOR" getenv "EMACS_EMBA_CI" GInotifyFileMonitor cygwin GPollFileMonitor "Supported arguments for GIO_USE_FILE_MONITOR environment variable:\n\\s-*\\([[:alpha:]]+\\) - 20" intern "G%sFileMonitor" capitalize special-event-map match-string "\n\n" "\n" "^[^:]+:[[:space:]]\\([^:]+\\):[[:space:]]\\(attribute-changed\\|c\\(?:hange\\(?:d\\|s-done-hint\\)\\|reated\\)\\|deleted\\|moved\\|pre-unmount\\|unmounted\\)\\([[:space:]]\\([^:]+\\)\\)?$" intern-soft replace-match functionp lookup-key [file-notify] file-notify (file-notify-callback) "^\n" "Rest string:\n%s" process-put] 16 (#$ . 143247)]) #@94 Read output from "inotifywait" and add corresponding `file-notify' events. (fn PROC STRING) (defalias 'tramp-sh-inotifywait-process-filter #[514 "\304\305\"\306\307D\3101\244X\205\236\311X\203D \204D\312\313\314U\203*\315\202?\316U\2034\315\202?\317U\203>\320\202?\321P#\210\322Y\205\236\314\316U\203~\3231}r\324!\203c\325!\202g\326\327\"q\210\330P\262\331\332 C\"\211\262)0\210\202~\210\324!\203\212\304\333\"\262)\242\n>\205\236\312\334\335\336\"P$0\266\202\246\266\337\340\341#\211\205\377\211@\342\343\"\204\276\344\345#\210\346\347\337\350\316\"\351\341#\"\350\311\"\206\331\352\304\353\"!E\211A@@\235\203\367\354\355 \356\"!\203\367\355 \356\"\357\360BB!\210\210A\266\202\202\253\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags special-event-map process-get events 6 "%S\n%s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string vector tramp-debug-message format "(%d) # " split-string "[\n ]+" omit string-match "^[^[:blank:]]+[[:blank:]]+\\([^[:blank:]]+\\)\\([[:blank:]]+\\([^\n ]+\\)\\)?" tramp-error file-notify-error mapcar #[257 "\300\301\302\303\227#!\207" [intern-soft tramp-compat-string-replace "_" "-"] 6 "\n\n(fn X)"] match-string "," file-name-nondirectory watch-name functionp lookup-key [file-notify] file-notify (file-notify-callback)] 13 (#$ . 146678)]) #@57 Like `file-system-info' for Tramp files. (fn FILENAME) (defalias 'tramp-sh-handle-file-system-info #[257 "\3031u\304\305!!\211\242>\204\306\307\310D\"\210\211A@\242>\204(\306\307\310D\"\210\3118\242>\2049\306\307\310D\"\210\3128\242>\204K\306\307\310D\"\210\3138\242>\204]\306\307\310D\"\210\3148\242>\204o\306\307\310D\"\210\3158\242>\204\203\306\307\310 D\"\210\3168\317!\205q\314\320C\3211. X\205(\312X\203\316\n\204\316\322\323\324U\203\264\325\202\311\326U\203\276\325\202\311\311U\203\310\327\202\311\330P#\210 \313Y\205(\324\326U\203\3311r\332!\203\355\333!\202\361\334\335\"q\210\336P\262\337\340 C\"\211\262)0\210\202\210\332!\203\341\342\"\262)\242>\205(\322\343\344\345\"P$0\266\2020\266\346\344\347\317\f!\350!#\"\210r\334!q\210eb\210\351y\210\352\353!\205p\354\355\356\n\"\357\360\326!!\357\360\326!!\357\360\311!!Z\357\360\312!!E\")\266\2100\207\210\351\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-inhibit-progress-reporter (error) tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-remote-df "file system info: %s" (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command "%s %s" tramp-shell-quote-argument nil looking-at "\\(?:^/[^[:space:]]*[[:space:]]\\)?[[:space:]]*\\([[:digit:]]+\\)[[:space:]]+\\([[:digit:]]+\\)[[:space:]]+\\([[:digit:]]+\\)" mapcar make-closure #[257 "\211\301\300\302\303#_\207" [V0 tramp-get-connection-property "df-blocksize" 0] 6 "\n\n(fn D)"] string-to-number match-string] 19 (#$ . 148174)]) #@403 Expand SCRIPT with remote files or commands. "%a", "%h", "%o" and "%p" format specifiers are replaced by the respective `awk', `hexdump', `od' and `perl' commands. "%n" is replaced by "2>/dev/null", and "%t" is replaced by a temporary file name. If VEC is nil, the respective local commands are used. If there is a format specifier which cannot be expanded, this function returns nil. (fn VEC SCRIPT) (defalias 'tramp-expand-script #[514 "\304\305\306\307#)\266\203\204\207\3102$\311\305\306\307#)\266\203\2059\203/\312!\2022\313\314!\2069\315\310\305\"\316\305\306\307#)\266\203\205]\203S\317!\202V\313\320!\206]\315\310\305\"\321\305\306\307#)\266\203\205\215\203y\322\323!P\202\206 \324=\203\203\325\202\215\322\nP\206\215\315\310\305\"\326\305\306\307#)\266\203\205\261\203\247\327!\202\252\313\330!\206\261\315\310\305\"\331\305\306\307#)\266\203\205\326\203\314\332!\202\317\313\333!\206\326\315\310\305\"\334\305\306\307#)\266\203\205\203\365\335\336!!\202\337\340 \341\342\343N@\306\"\"!\206\315\310\305\"\344\345\346 \347\n\350 \351\f\352 \353&\f\"\266\2060\207" [inhibit-changing-match-data system-type null-device tramp-temp-name-prefix "\\(^\\|[^%]\\)%[ahnopt]" nil t string-match wont-work "\\(^\\|[^%]\\)%a" tramp-get-remote-awk executable-find "awk" throw "\\(^\\|[^%]\\)%h" tramp-get-remote-hexdump "hexdump" "\\(^\\|[^%]\\)%n" "2>" tramp-get-remote-null-device windows-nt "" "\\(^\\|[^%]\\)%o" tramp-get-remote-od "od" "\\(^\\|[^%]\\)%p" tramp-get-remote-perl "perl" "\\(^\\|[^%]\\)%t" tramp-file-local-name tramp-make-tramp-temp-name make-temp-name expand-file-name eval temporary-file-directory standard-value format-spec format-spec-make 97 104 110 111 112 116] 23 (#$ . 149965)]) #@141 Define in remote shell function NAME implemented as SCRIPT. Only send the definition if it has not already been done. (fn VEC SCRIPT NAME) (defalias 'tramp-maybe-send-script #[771 "\305\306!\307\310#\235?\205m\204 \203M\311\312\313\314\"\312\315\316\"#\262\317\"\211\262\2047\320\321\322\323\"#\210\324\322\325#\326$\210\327\306!\307B#\207\330\331\332\333\"C\3341\360\nX\205\352\335X\203\220 \204\220\336\337\340U\203v\341\202\213\313U\203\200\341\202\213\342U\203\212\343\202\213\344P#\210\n\345Y\205\352\340\313U\203\312\3461\311r\347!\203\257\350!\202\263\351\352\"q\210\353P\262\354\355 C\"\211\262)0\210\202\312\210\347!\203\326\356\357\"\262)\242\f>\205\352\336\360\322\361\"P$0\266\202\362\266\362C ?\205 \330\n\335^X\205 \363\332\333\"\310\211#\211\205\364\335\365\366$\262\367\370%\216 \206$\211\311\312\313\314\"\312\315\316\"#\262\317\"\211\262\204J\320\321\322\323\"#\210\324\322\325 #\326$\210\327\306!\307B#)\371\240\210)\266\202\207" [noninteractive inhibit-message tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property tramp-get-connection-process "scripts" nil tramp-compat-string-replace make-string 1 9 8 32 tramp-expand-script tramp-error file-error format "Script %s is not applicable on remote host" tramp-barf-unless-okay "%s () {\n%s\n}" "Script %s sending failed" tramp-set-connection-property 5 "%s..." format-message #1="Sending script `%s'" #2=(error) 3 apply message 0 #3="" 2 #4="Warning: " #5="Tramp: " 4 #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\303\203\306\303!\210\300\307\310\311\312\301\"\302\242D\3131\251\fX\205\247\314X\203L \204L\315\316\317U\2032\320\202G\321U\203<\320\202G\322U\203F\323\202G\324P#\210\f\325Y\205\247\317\321U\203\206\3261\205r\327!\203k\330!\202o\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\206\210\327!\203\222\336\337\"\262)\242$>\205\247\315\340\341\342\"P$0\207\266\343\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter cancel-timer 5 "%s...%s" format-message #1# #2# 3 apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil cl-struct-tramp-file-name-tags] 10] "done"] 14 (#$ . 151766)]) #@132 Run `test' on the remote system, given a SWITCH and a FILENAME. Returns the exit code of the `test' program. (fn SWITCH FILENAME) (defalias 'tramp-run-test #[514 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304 D\"\210\3128\313\314\315\316\f!\317!$\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-send-command-and-check format "%s %s %s" tramp-get-test-command tramp-shell-quote-argument] 18 (#$ . 154406)]) #@35 Regexp to determine remote SunOS. (defconst tramp-sunos-unames "\\(?:SunOS 5\\.1[01]\\)" (#$ . 155134)) #@532 Search for PROGNAME in $PATH and all directories mentioned in DIRLIST. First arg VEC specifies the connection, PROGNAME is the program to search for, and DIRLIST gives the list of directories to search. If IGNORE-TILDE is non-nil, directory names starting with "~" will be ignored. If IGNORE-PATH is non-nil, searches only in DIRLIST. Returns the absolute file name of PROGNAME, if found, and nil otherwise. This function expects to be in the right *tramp* buffer. (fn VEC PROGNAME DIRLIST &optional IGNORE-TILDE IGNORE-PATH) (defalias 'tramp-find-executable #[1283 "r\303!q\210\304\204>\305\306\307#\304\310\311#)\266\203\204>\312\313\314\"\"\210eb\210\315\310\316!)\262\203>\317P\262\211\204\235\203k\304\211\203e@\262A\262\320\321\322H\"\204H\211B\262\202H\237\262\266\312\313\323\211\211\n \324\325\326#\266\202\n&\"\210db\210\327\330\304\310#\203\235\331\304w\210\332\304w\210`\333 {\262\211\262)\207" [tramp-sunos-unames inhibit-changing-match-data tramp-end-of-heredoc tramp-get-connection-buffer nil tramp-get-connection-property "uname" "" t string-match tramp-send-command format "which \\%s | wc -w" "^\\s-*1$" looking-at "\\" char-equal 126 0 "while read d; do if test -x $d/%s && test -f $d/%s; then echo tramp_executable $d/%s; break; fi; done <<'%s'\n%s\n%s" "\n" mapconcat identity search-backward "tramp_executable " "^ " " " point-at-eol] 20 (#$ . 155245)]) #@205 Set the remote environment PATH to existing directories. I.e., for each directory in `tramp-remote-path', it is tested whether it exists and if so, it is added to the environment variable PATH. (fn VEC) (defalias 'tramp-set-remote-path #[257 "\304\305\306!\307\310\311#\266\202\"\312\313#\211=\203,\314\304\315\316!\"\317#\262\320\313#\210\211\262\321\211\211\322\323\321\3241\320 X\205\312\325X\203p\n\204p\326\327\330U\203V\331\202k\332U\203`\331\202k\333U\203j\334\202k\335P#\210 \336Y\205\312\330\332U\203\252\3371\251r\340!\203\217\341!\202\223\342\343\"q\210\344P\262\345\346 C\"\211\262)0\210\202\252\210\340!\203\266\347\350\"\262)\242 >\205\312\326\351\304\352\"P$0\266\202\322\266GW\203\340\353\"\207\354P\262\355!\262\211\331\230\262\204G\333\245^\262\330O\262\321O\262\353\304\356\357!\357!#\"\210\202\353\353\304\360\"\"\210\353\304\361\"\"\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags format "PATH=%s && export PATH" tramp-get-remote-path ":" mapconcat identity tramp-get-connection-property "pipe-buf" tramp-send-command-and-read "getconf PIPE_BUF / 2>%s || echo 4096" tramp-get-remote-null-device noerror tramp-set-connection-property nil 5 "Setting $PATH environment variable" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " tramp-send-command "\n" tramp-make-tramp-temp-file "printf \"%%b\" \"$*\" %s >>%s" tramp-shell-quote-argument ". %s" "rm -f %s"] 16 (#$ . 156682)]) #@192 Find a command on the remote host for checking if a file exists. Here, we are looking for a command which has zero exit status if the file exists and nonzero exit status otherwise. (fn VEC) (defalias 'tramp-find-file-exists-command #[257 "\300\301!\302\3031-\304\305\306!\"\211\262\205)\307\304\310\311#\"\205)\307\304\310#\"?0\2021\210\2024\204\276\3121X\313\211\262\205T\307\304\310\311#\"\205T\307\304\310#\"?0\202\\\210\202_\204\276\3141\203\315\211\262\205\307\304\310\311#\"\205\307\304\310#\"?0\202\207\210\202\212\204\276\3161\263\304\317\320!\"\211\262\205\257\307\304\310\311#\"\205\257\307\304\310#\"?0\202\265\210\302\204\276\321\322\323#\210\207" [tramp-shell-quote-argument "/ this file does not exist " nil (error) format "%s -e" tramp-get-test-command tramp-send-command-and-check "%s %s" "/" (error) "/bin/test -e" (error) "/usr/bin/test -e" (error) "%s -d" tramp-get-ls-command tramp-error file-error "Couldn't find command to check if file exists"] 9 (#$ . 158399)]) #@40 Find extra args for SHELL. (fn SHELL) (defalias 'tramp-get-sh-extra-args #[257 "\302\211\203+\211\204+\211A\262\242\262@\302\303\304#)\266\203\203A\262\202\207" [tramp-sh-extra-args inhibit-changing-match-data nil t string-match] 11 (#$ . 159448)]) #@35 Open shell SHELL. (fn VEC SHELL) (defalias 'tramp-open-shell #[514 "\204 \203a\306\307\310\n\311 \312\313 \"\206\314\f;\203%\307\315\316\f!\"\202.\f\203-\317\202.\314\316 ! \320 !\206;\314&\321#\210\f;\203Y\322\f!\203Y\323\307\324\316\322\f!!\"\325\f$\210\326\327!\330#\207\331\332\333\334\"C\3351>\205\337\361\307\362\"P$0\266\202\n\266\363C=?\205#\331<\336^X\205#\364\333\334\"\365\211#\211\205-\366\336\367\370$\262\371\372%\216=\206=\211=\306\307\310\n\311 \312\313 \"\206N\314\f;\203\\\307\315\316\f!\"\202e\f\203d\317\202e\314\316 ! \320 !\206r\314&\321#\210\f;\203\220\322\f!\203\220\323\307\324\316\322\f!!\"\325\f$\210\326\327!\330#)\373\240\210)\207" [noninteractive inhibit-message tramp-terminal-type tramp-remote-process-environment tramp-histfile-override tramp-end-of-output tramp-send-command format "exec env TERM='%s' INSIDE_EMACS='%s' ENV=%s %s PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s %s -i" tramp-inside-emacs getenv-internal "ENV" #3="" "HISTFILE=%s" tramp-shell-quote-argument "HISTFILE='' HISTFILESIZE=0 HISTSIZE=0" tramp-get-sh-extra-args t file-name-directory tramp-barf-unless-okay "(cd %s)" "`tramp-histfile-override' uses invalid file `%s'" tramp-set-connection-property tramp-get-connection-process "remote-shell" 5 "%s..." format-message #1="Opening remote shell `%s'" #2=(error) 3 apply message 0 1 2 #4="Warning: " #5="Tramp: " 4 #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter nil run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\303\203\306\303!\210\300\307\310\311\312\301\"\302\242D\3131\251\fX\205\247\314X\203L \204L\315\316\317U\2032\320\202G\321U\203<\320\202G\322U\203F\323\202G\324P#\210\f\325Y\205\247\317\321U\203\206\3261\205r\327!\203k\330!\202o\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\206\210\327!\203\222\336\337\"\262)\242$>\205\247\315\340\341\342\"P$0\207\266\343\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter cancel-timer 5 "%s...%s" format-message #1# #2# 3 apply message 0 #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil cl-struct-tramp-file-name-tags] 10] "done" tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 16 (#$ . 159723)]) #@72 Open a shell on the remote host which groks tilde expansion. (fn VEC) (defalias 'tramp-find-shell #[257 "\306\307\310#?\205\307r\311!q\210\312\313\"\310\306\314#\211=\203\315\316\317#\210\320\321 \310\317\322#)\266\203\204J\n\306\323\324#\310\317\322#)\266\203\203\n\325\326\327!\317\211%\206 \325\330\327!\317\211%\206 \331\332C\3331 X\205\377\334X\203\245\f\204\245\335\336\337U\203\213\324\202\240\340U\203\225\324\202\240\331U\203\237\341\202\240\342P#\210 \343Y\205\377\337\340U\203\337\3441\336r\345!\203\304\346!\202\310\347\350\"q\210\351P\262\352\321 C\"\211\262)0\210\202\337\210\345!\203\353\353\354\"\262)\242 >\205\377\335\355\356\357\"P$0\266\202 \266\202 \262\360\314#\210\211\262\262\211\230?\205\304\361\362C\3331\276 X\205\270\334X\203^\f\204^\335\336\337U\203D\324\202Y\340U\203N\324\202Y\331U\203X\341\202Y\342P#\210 \343Y\205\270\337\340U\203\230\3441\227r\345!\203}\346!\202\201\347\350\"q\210\351P\262\352\321 C\"\211\262)0\210\202\230\210\345!\203\244\353\354\"\262)\242 >\205\270\335\355\356\357\"P$0\266\202\300\266\363\"\266\202)\207" [tramp-cache-undefined inhibit-changing-match-data tramp-sunos-unames tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "process-name" nil tramp-get-buffer tramp-get-method-parameter tramp-remote-shell "remote-shell" tramp-send-command "echo ~root" t "^~root$" buffer-string string-match "uname" "" tramp-find-executable "bash" tramp-get-remote-path "ksh" 2 "Couldn't find a remote shell which groks tilde expansion, using `%s'" (error) 3 apply message 0 1 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append process-get vector tramp-debug-message format "(%d) # " tramp-set-connection-property 5 "Starting remote shell `%s' for tilde expansion" tramp-open-shell] 15 (#$ . 162589)]) #@225 Wait for shell prompt and barf if none appears. Looks at process PROC to see if a shell prompt appears in TIMEOUT seconds. If not, it produces an error message with the given ERROR-ARGS. (fn PROC TIMEOUT &rest ERROR-ARGS) (defalias 'tramp-barf-if-no-shell-prompt #[642 "\302\303\"\3041\305\306\307 ##0\207\210\310!\210\311\312\313!\314%\207" [shell-prompt-pattern tramp-shell-prompt-pattern process-get vector (error) tramp-wait-for-regexp format "\\(%s\\|%s\\)\\'" delete-process apply tramp-error-with-buffer tramp-get-connection-buffer file-error] 11 (#$ . 164596)]) #@161 Set up an interactive shell. Mainly sets the prompt and the echo correctly. PROC is the shell process to set up. VEC specifies the connection. (fn PROC VEC) (defalias 'tramp-open-connection-setup-interactive-shell #[514 "\306\307\310\311\"\"\210\211\312\313\314\3151\252 X\205\244\316X\203J\f\204J\317\320\321U\2030\322\202E\323U\203:\322\202E\324U\203D\325\202E\326P#\210 \327Y\205\244\321\323U\203\204\3301\203r\331!\203i\332!\202m\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\204\210\331!\203\220\340\341\"\262)\242 >\205\244\317\342\343\344\"P$0\266\202\254\266\345\346\306#\210 \347Y\203\276\345\350\306#\210\345\351\306#\210\345\352\306#\210r\332!q\210eb\210\352\306@\353!)\262\203\214\354\355\306#\210\211\312\356\314\3151\204 X\205~\316X\203$\f\204$\317\320\321U\203\n\322\202\323U\203\322\202\324U\203\325\202\326P#\210 \327Y\205~\321\323U\203^\3301]r\331!\203C\332!\202G\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202^\210\331!\203j\340\341\"\262)\242 >\205~\317\342\343\344\"P$0\266\202\206\266\345\357\306#\210+\211\312\360\314\3151+ X\205%\316X\203\313\f\204\313\317\320\321U\203\261\322\202\306\323U\203\273\322\202\306\324U\203\305\325\202\306\326P#\210 \327Y\205%\321\323U\203\3301r\331!\203\352\332!\202\356\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\210\331!\203\340\341\"\262)\242 >\205%\317\342\343\344\"P$0\266\202-\266\345\343\361\362\n!\"\306#\210\211\312\363\314\3151\326 X\205\320\316X\203v\f\204v\317\320\321U\203\\\322\202q\323U\203f\322\202q\324U\203p\325\202q\326P#\210 \327Y\205\320\321\323U\203\260\3301\257r\331!\203\225\332!\202\231\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\260\210\331!\203\274\340\341\"\262)\242 >\205\320\317\342\343\344\"P$0\266\202\330\266\364\365\314#\211\203\355\364\366\314#\203\355\211\202\365\354\365\367\370\"#;\203\257\230\204\257\316\371D\3151\240 X\205\232\316X\203@\f\204@\317\320\321U\203&\322\202;\323U\2030\322\202;\324U\203:\325\202;\326P#\210 \327Y\205\232\321\323U\203z\3301yr\331!\203_\332!\202c\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202z\210\331!\203\206\340\341\"\262)\242 >\205\232\317\342\343\344\"P$0\266\202\242\266\372\306\211#\210\373\374\375!\"\210\312\376\314\3151M X\205G\316X\203\355\f\204\355\317\320\321U\203\323\322\202\350\323U\203\335\322\202\350\324U\203\347\325\202\350\326P#\210 \327Y\205G\321\323U\203'\3301&r\331!\203\f\332!\202\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202'\210\331!\2033\340\341\"\262)\242 >\205G\317\342\343\344\"P$0\266\202O\266r\332!q\210\377\201E >\203y\201F\314\306@\201G#)\266\203\203y\377\211B\206\262\201H\201E >\203\245\201I\201J!\314\306@\201G#)\266\203\203\245\201H\211B\206\262\201K!\206\262\201L\211B\314\2119\203\276\211B\262@\206\306\201L\262A\206\320\201L\262\201M\201F\314\306@\201G#)\266\203\203\362\201N\202\365\201O\"\262\345\201P\306#\210eb\210\201Q\201R\314\306#\203\201M\201S\"\262\201T#\210\312\201UD\3151\305 X\205\277\316X\203e\f\204e\317\320\321U\203K\322\202`\323U\203U\322\202`\324U\203_\325\202`\326P#\210 \327Y\205\277\321\323U\203\237\3301\236r\331!\203\204\332!\202\210\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\237\210\331!\203\253\340\341\"\262)\242 >\205\277\317\342\343\344\"P$0\266\202\307\266)\364\201VA#\211A=\203\261B\250\203\351B\321V\203\351B\202\247\312\201W\314\3151\211 X\205\203\316X\203)\f\204)\317\320\321U\203\322\202$\323U\203\322\202$\324U\203#\325\202$\326P#\210 \327Y\205\203\321\323U\203c\3301br\331!\203H\332!\202L\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202c\210\331!\203o\340\341\"\262)\242 >\205\203\317\342\343\344\"P$0\266\202\213\266\201X\314\306@\201G#)\266\203\203\246\201Y\202\247\321\262\354\201V#\210\210\201Z!\210\201[!\210\345\343\201\\\201]!\201]!#\306#\210\201^\314\306@\201G#)\266\203\203\361\345\201_\306#\210\201`\314\306@\201G#)\266\203\203\345\201a\306#\210\202\345\201b\306#\210\345\201c\201]!P\306#\210\367\201d\201e#\211G\321U\204J\201f\201g#\210\354\201h#\210\210 \347Y\203Y\345\201i\306#\210\312\201j\314\3151\371 X\205\363\316X\203\231\f\204\231\317\320\321U\203\322\202\224\323U\203\211\322\202\224\324U\203\223\325\202\224\326P#\210 \327Y\205\363\321\323U\203\323\3301\322r\331!\203\270\332!\202\274\333\334\"q\210\335P\262\336\337 C\"\211\262)0\210\202\323\210\331!\203\337\340\341\"\262)\242 >\205\363\317\342\343\344\"P$0\266\202\373\266\314\211\201k\336\201J!C\201lC!\"!\211\203`\211@\201m\201n\201o#\262\211A\201n\201p\201q#\266\202\241\210\211A;\203S\211A\322\230\204S\343\201r@A#B\262\202Y\211@B\262A\266\202\202\210\211\203\202\345\343\201sD\201t\201p\201q#\266\202D$\306#\210\205\236\345\343\201u\201v\201p\201q#\266\202\"\306#\207" [tramp-initial-end-of-output case-fold-search tramp-end-of-output tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags t tramp-open-shell tramp-get-method-parameter tramp-remote-shell 5 "Setting up remote shell environment" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command "set +o vi +o emacs" 9 "set -o" "stty -inlcr -onlcr -echo kill '^U' erase '^H'" "echo foo" looking-at tramp-set-connection-property "remote-echo" "Remote echo still on. Ok." "stty icanon erase ^H cols 32767" "Setting shell prompt" "PS1=%s PS2='' PS3='' PROMPT_COMMAND=''" tramp-shell-quote-argument "Checking system information" tramp-get-connection-property "uname" "process-name" tramp-send-command-and-read "echo \\\"`uname -sr`\\\"" "Connection reset, because remote host changed from `%s' to `%s'" tramp-cleanup-connection throw uname-changed tramp-maybe-open-connection "Determining coding system" utf-8-hfs inhibit-changing-match-data tramp-cache-undefined tramp-chunksize tramp-remote-process-environment tramp-end-of-heredoc coding-system-list "^Darwin" string-match utf-8 "utf-?8" tramp-get-remote-locale process-coding-system undecided coding-system-change-eol-conversion mac unix "(echo foo ; echo bar)" search-forward " " dos set-process-coding-system "Setting coding system to `%s' and `%s'" "chunksize" "Checking remote host type for `send-process-string' bug" "FreeBSD\\|DragonFly" 500 tramp-set-remote-path tramp-find-shell "mesg n 2>%s; biff n 2>%s" tramp-get-remote-null-device "^IRIX64" "set +H" "BSD\\|DragonFly\\|Darwin" "stty tabs" "stty tab0" "stty iutf8 2>" "echo \\\"`tty`\\\"" noerror process-put remote-tty "remote-tty" "stty -a" "Setting default environment" reverse copy-sequence split-string "=" omit mapconcat identity "%s %s" "while read var val; do export $var=\"$val\"; done <<'%s'\n%s\n%s" "\n" "unset %s" " "] 17 (#$ . 165186)]) (autoload 'uudecode-decode-region "uudecode") #@797 List of local coding commands for inline transfer. Each item is a list that looks like this: (FORMAT ENCODING DECODING) FORMAT is a symbol describing the encoding/decoding format. It can be `b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing. ENCODING and DECODING can be strings, giving commands, or symbols, giving functions. If they are strings, then they can contain the "%s" format specifier. If that specifier is present, the input file name will be put into the command line at that spot. If the specifier is not present, the input should be read from standard input. If they are functions, they will be called with two arguments, start and end of region, and are expected to replace the region contents with the encoded or decoded results, respectively. (defconst tramp-local-coding-commands (byte-code "\302\303\304 EE\207" [tramp-perl-pack tramp-perl-unpack (b64 base64-encode-region base64-decode-region) (uu tramp-uuencode-region uudecode-decode-region) pack] 5) (#$ . 172589)) #@1163 List of remote coding commands for inline transfer. Each item is a list that looks like this: (FORMAT ENCODING DECODING [TEST]) FORMAT is a symbol describing the encoding/decoding format. It can be `b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing. ENCODING and DECODING can be strings, giving commands, or symbols, giving variables. If they are strings, then they can contain the "%s" format specifier. If that specifier is present, the input file name will be put into the command line at that spot. If the specifier is not present, the input should be read from standard input. If they are variables, this variable is a string containing a Perl or Shell implementation for this functionality. This program will be transferred to the remote host, and it is available as shell function with the same name. A "%t" format specifier in the variable value denotes a temporary file. "%a", "%h" and "%o" format specifiers are replaced by the respective `awk', `hexdump' and `od' commands. "%n" is replaced by "2>/dev/null". The optional TEST command can be used for further tests, whether ENCODING and DECODING are applicable. (defconst tramp-remote-coding-commands '((b64 "base64" "base64 -d -i") (b64 "base64" "base64 -d") (b64 "openssl enc -base64" "openssl enc -d -base64") (b64 "mimencode -b" "mimencode -u -b") (b64 "mmencode -b" "mmencode -u -b") (b64 "recode data..base64" "recode base64..data") (b64 tramp-perl-encode-with-module tramp-perl-decode-with-module) (b64 tramp-perl-encode tramp-perl-decode) (b64 tramp-hexdump-awk-encode tramp-awk-decode) (b64 tramp-od-awk-encode tramp-awk-decode) (uu "uuencode xxx" "uudecode -o /dev/stdout" "test -c /dev/stdout") (uu "uuencode xxx" "uudecode -o -") (uu "uuencode xxx" "uudecode -p") (uu "uuencode xxx" tramp-uudecode) (pack tramp-perl-pack tramp-perl-unpack)) (#$ . 173622)) #@144 Find an inline transfer encoding that works. Goes through the list `tramp-local-coding-commands' and `tramp-remote-coding-commands'. (fn VEC) (defalias 'tramp-find-inline-encoding #[257 "\212\306\307!\310\211\211\211\211\211\211\211\n\203\364\211\204\364\n\211A\262\f\242\262\3112\360@ A@\262\n\3128\262  ;\204\335 \313\314\fC\3151\330\nX\205\322\316X\203x \204x\317\320\321U\203^\322\202s\323U\203h\322\202s\312U\203r\324\202s\325P#\210\n\326Y\205\322\321\323U\203\262\3271\261r\330!\203\227\331!\202\233\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\262\210\330!\203\276\337\340\"\262)\242\f>\205\322\317\341\342\343\"P$0\266\202\241\266\202\241 \313\344\fC\3151~\nX\205x\316X\203 \204\317\320\321U\203\322\202\323U\203\322\202\312U\203\324\202\325P#\210\n\326Y\205x\321\323U\203X\3271Wr\330!\203=\331!\202A\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202X\210\330!\203d\337\340\"\262)\242\f>\205x\317\341\342\343\"P$0\266\202\200\266\345\310 \"\211\262 ;\204\221\346\311\310\"\210\347\n\310\211#\321U\204\241\346\311\310\"\210;\204M \313\350 C\3151H\nX\205B\316X\203\350 \204\350\317\320\321U\203\316\322\202\343\323U\203\330\322\202\343\312U\203\342\324\202\343\325P#\210\n\326Y\205B\321\323U\203\"\3271!r\330!\203\331!\202 \332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\"\210\330!\203.\337\340\"\262)\242\f>\205B\317\341\342\343\"P$0\266\202\266\202 \313\351 C\3151\356\nX\205\350\316X\203\216 \204\216\317\320\321U\203t\322\202\211\323U\203~\322\202\211\312U\203\210\324\202\211\325P#\210\n\326Y\205\350\321\323U\203\310\3271\307r\330!\203\255\331!\202\261\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\310\210\330!\203\324\337\340\"\262)\242\f>\205\350\317\341\342\343\"P$0\266\202\360\266\345\310\n\"\211\262\n;\204\346\311\310\"\210\347 \310\211#\321U\204\346\311\310\"\210\211\205\355?\205\355\211A\262\242\262\3522\351@\232\205\350A@\262\3128\262\3168\262;\203\363 \313\353C\3151\342\nX\205\334\316X\203\202 \204\202\317\320\321U\203h\322\202}\323U\203r\322\202}\312U\203|\324\202}\325P#\210\n\326Y\205\334\321\323U\203\274\3271\273r\330!\203\241\331!\202\245\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\274\210\330!\203\310\337\340\"\262)\242\f>\205\334\317\341\342\343\"P$0\266\202\344\266\354\355#\204\363\346\352\310\"\210;\204\356!J\357\360\"\203\361\362\310\355$\262\202\363#\210\262\n\266 \313\364\nC\3151\277\nX\205\271\316X\203_ \204_\317\320\321U\203E\322\202Z\323U\203O\322\202Z\312U\203Y\324\202Z\325P#\210\n\326Y\205\271\321\323U\203\231\3271\230r\330!\203~\331!\202\202\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\231\210\330!\203\245\337\340\"\262)\242\f>\205\271\317\341\342\343\"P$0\266\202\301\266\354\342\365 \366!#\355#\204\327\346\352\310\"\210;\204\356!J\357\360\"\203\366\361\362\310\355$\262\202\344\363#\210\262 \266 \313\367 C\3151\243\nX\205\235\316X\203C \204C\317\320\321U\203)\322\202>\323U\2033\322\202>\312U\203=\324\202>\325P#\210\n\326Y\205\235\321\323U\203}\3271|r\330!\203b\331!\202f\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202}\210\330!\203\211\337\340\"\262)\242\f>\205\235\317\341\342\343\"P$0\266\202\245\266\354\342\370\f\f$\355#\204\273\346\352\310\"\210r\332!q\210eb\210\371\f!\355\372!)\262\204\331\346\352\310\"\210)A@\262\3128\262\355\211\2620\210\202\266\2020\210\202\211\205\253 \313\373\nC\3151\231\nX\205\223\316X\2039 \2049\317\320\321U\203\322\2024\323U\203)\322\2024\312U\2033\324\2024\325P#\210\n\326Y\205\223\321\323U\203s\3271rr\330!\203X\331!\202\\\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202s\210\330!\203\337\340\"\262)\242\f>\205\223\317\341\342\343\"P$0\266\202\233\266\374 \375\n#\210 \313\376 C\3151D\nX\205>\316X\203\344 \204\344\317\320\321U\203\312\322\202\337\323U\203\324\322\202\337\312U\203\336\324\202\337\325P#\210\n\326Y\205>\321\323U\203\3271r\330!\203\331!\202\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\210\330!\203*\337\340\"\262)\242\f>\205>\317\341\342\343\"P$0\266\202F\266\374 \377 #\210 \313\201@C\3151\361\nX\205\353\316X\203\221 \204\221\317\320\321U\203w\322\202\214\323U\203\201\322\202\214\312U\203\213\324\202\214\325P#\210\n\326Y\205\353\321\323U\203\313\3271\312r\330!\203\260\331!\202\264\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202\313\210\330!\203\327\337\340\"\262)\242\f>\205\353\317\341\342\343\"P$0\266\202\363\266\374 \201A#\210 \313\201BC\3151\240\nX\205\232\316X\203@ \204@\317\320\321U\203&\322\202;\323U\2030\322\202;\312U\203:\324\202;\325P#\210\n\326Y\205\232\321\323U\203z\3271yr\330!\203_\331!\202c\332\333\"q\210\334P\262\335\336 C\"\211\262)0\210\202z\210\330!\203\206\337\340\"\262)\242\f>\205\232\317\341\342\343\"P$0\266\202\242\266\374 \201C#\266\213)\207" [tramp-local-coding-commands tramp-remote-coding-commands tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags inhibit-changing-match-data "xyzzy" tramp-get-connection-process nil wont-work-local 2 5 "Checking local encoding function `%s'" (error) 3 apply message 0 "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " "Checking local encoding command `%s' for sanity" tramp-expand-script throw tramp-call-local-coding-command "Checking local decoding function `%s'" "Checking local decoding command `%s' for sanity" wont-work-remote "Checking remote test command `%s'" tramp-send-command-and-check t symbol-name string-match "-" replace-match "_" tramp-maybe-send-script "Checking remote encoding command `%s' for sanity" "%s <%s" tramp-get-remote-null-device "Checking remote decoding command `%s' for sanity" "echo %s | %s | %s" regexp-quote looking-at "Using local encoding `%s'" tramp-set-connection-property "local-encoding" "Using local decoding `%s'" "local-decoding" "Using remote encoding `%s'" "remote-encoding" "Using remote decoding `%s'" "remote-decoding"] 24 (#$ . 175497)]) #@381 Call the local encoding or decoding command. If CMD contains "%s", provide input file INPUT there in command. Otherwise, INPUT is passed via standard input. INPUT can also be nil which means `null-device'. OUTPUT can be a string (which specifies a file name), or t (which means standard output and thus the current buffer), or nil (which means discard it). (fn CMD INPUT OUTPUT) (defalias 'tramp-call-local-coding-command #[771 "\303\304\205\305\304\306\307#)\266\203?\205\306=\205!\306\304\n\305\n\304\306\307#)\266\203\203=\310\n\n\"\202? ;\203L\311 P\202M\312P&\207" [tramp-encoding-shell inhibit-changing-match-data tramp-encoding-command-switch tramp-call-process nil "%s" t string-match format " >" ""] 17 (#$ . 182106)]) #@194 List of compress and decompress commands for inline transfer. Each item is a list that looks like this: (COMPRESS DECOMPRESS) COMPRESS or DECOMPRESS are strings with the respective commands. (defconst tramp-inline-compress-commands '(("env GZIP= gzip" "env GZIP= gzip -d") ("bzip2" "bzip2 -d") ("xz" "xz -d") ("zstd --rm" "zstd -d --rm") ("compress" "compress -d")) (#$ . 182873)) #@120 Find an inline transfer compress command that works. Goes through the list `tramp-inline-compress-commands'. (fn VEC) (defalias 'tramp-find-inline-compress #[257 "\212\305\306!\307\211\211\211\203\366\211\204\366\3102\362\211A\262\242\262@\262A@\262\311\312D\3131\312 X\205\304\314X\203j\n\204j\315\316\317U\203P\320\202e\321U\203Z\320\202e\322U\203d\323\202e\324P#\210 \325Y\205\304\317\321U\203\244\3261\243r\327!\203\211\330!\202\215\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\244\210\327!\203\260\336\337\"\262)\242 >\205\304\315\340\341\342\"P$0\266\202\314\266\343\344\345\"r\211q\210\346\347\"\216\350\341\351 \352\353\354\n!\355#\352\353\354\n!\355#$\307\345#\317U\204\374\356\310\307\"\210eb\210\357!\345\360!)\262\204\356\310\307\"\210*\210\311\361D\3131\266 X\205\260\314X\203V\n\204V\315\316\317U\203<\320\202Q\321U\203F\320\202Q\322U\203P\323\202Q\324P#\210 \325Y\205\260\317\321U\203\220\3261\217r\327!\203u\330!\202y\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\220\210\327!\203\234\336\337\"\262)\242 >\205\260\315\340\341\342\"P$0\266\202\270\266\362\341\351 $\345#\204\316\356\310\307\"\210r\363!q\210eb\210\357!\345\360!)\262\204\354\356\310\307\"\210)\345\211\2620\210\202\n\211\203N\311\364C\3131\232 X\205\224\314X\203:\n\204:\315\316\317U\203 \320\2025\321U\203*\320\2025\322U\2034\323\2025\324P#\210 \325Y\205\224\317\321U\203t\3261sr\327!\203Y\330!\202]\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202t\210\327!\203\200\336\337\"\262)\242 >\205\224\315\340\341\342\"P$0\266\202\234\266\365\366#\210\311\367C\3131B X\205<\314X\203\342\n\204\342\315\316\317U\203\310\320\202\335\321U\203\322\320\202\335\322U\203\334\323\202\335\324P#\210 \325Y\205<\317\321U\203\3261r\327!\203\330!\202\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\210\327!\203(\336\337\"\262)\242 >\205<\315\340\341\342\"P$0\266\202D\266\365\370#\266\207\202\374\365\366\307#\210\365\370\307#\210\322\371\307\3131\371 X\205\363\314X\203\231\n\204\231\315\316\317U\203\320\202\224\321U\203\211\320\202\224\322U\203\223\323\202\224\324P#\210 \325Y\205\363\317\321U\203\323\3261\322r\327!\203\270\330!\202\274\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\323\210\327!\203\337\336\337\"\262)\242 >\205\363\315\340\341\342\"P$0\266\213\202\374\266\f\307)\207" [tramp-inline-compress-commands tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags inhibit-changing-match-data "xyzzy" tramp-get-connection-process nil next 5 "Checking local compress commands `%s', `%s' for sanity" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-local-coding-command "echo %s | %s | %s" mapconcat tramp-unquote-shell-quote-argument split-string " " throw regexp-quote looking-at "Checking remote compress commands `%s', `%s' for sanity" tramp-send-command-and-check tramp-get-buffer "Using inline transfer compress command `%s'" tramp-set-connection-property "inline-compress" "Using inline transfer decompress command `%s'" "inline-decompress" "Couldn't find an inline transfer compress command"] 18 (#$ . 183263)]) #@59 Return the Control* arguments of the local ssh. (fn VEC) (defalias 'tramp-ssh-controlmaster-options #[257 "\203\306\307\310\311\"\"\204\312\207 ;\203 \207\312\313\31412\315\316!\205- \204-\f\203\272\317\320\313\"r\211q\210\321\322\"\216\323\316\324\313\324\325\326&\210eb\210\327\330\324\313#\203R\331*\210 G\332U?\205-\317\320\313\"r\211q\210\321\333\"\216\323\316\324\313\324\325\334\325\335\336&\n\210eb\210 \327\337\324\313#\203\207\340\202\210\341P*\210\317\320\313\"r\211q\210\321\342\"\216\323\316\324\313\324\325\343&\210eb\210\327\330\324\313#\205\264 \344P\211*\262\202-\211\345\346\347C\3501[ X\205U\351X\203\372@\204\372\352\353\332U\203\340\312\202\365\354U\203\352\312\202\365\355U\203\364\356\202\365\357P#\210 \345Y\205U\332\354U\2034\36013r\361!\203\362!\202\363\364\"q\210\365P\262\366\367 C\"\211\262)0\210\2024\210\361!\203@\370\371\"\262)\242A>\205U\352\372\373\374\"P$0\266\202]\266\375C@?\205r\345 \351^X\205r\376\347\324\211#\211\205\200\377\351\201B\201C$\262\321\201D$\216@\206\221\211@\317\320\313\"r\211q\210\321\201E\"\216\323\316\324\313\324\325\326&\210eb\210\327\330\324\313#\203\272\331*\210 G\332U?\205#\317\320\313\"r\211q\210\321\201F\"\216\323\316\324\313\324\325\334\325\335\336&\n\210eb\210 \327\337\324\313#\203\361\340\202\362\341P*\210\317\320\313\"r\211q\210\321\201G\"\216\323\316\324\313\324\325\343&\210eb\210\327\330\324\313#\205  \344P\211*\262)\201H\240\210)\266\2020\210\2023\210) \207" [tramp-use-ssh-controlmaster-options tramp-ssh-controlmaster-options case-fold-search noninteractive inhibit-message tramp-verbose assoc "%c" tramp-get-method-parameter tramp-login-args #3="" t (error) executable-find "ssh" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-process nil "-o" "ControlMaster" search-forward-regexp "missing.+argument" "-o ControlMaster=auto" 0 #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] "ConnectTimeout=1" "ControlPath=%C" "0.0.0.1" "unknown.+key" " -o ControlPath='tramp.%%r@%%h:%%p'" " -o ControlPath='tramp.%%C'" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] "ControlPersist" " -o ControlPersist=no" 4 "%s..." #1="Computing ControlMaster options" #2=(error) 3 apply message 1 2 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message format #8="(%d) # " "failed" make-progress-reporter run-at-time tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags 0.1 tramp-progress-reporter-update #[0 "\302\203\306\302!\210\300\307\310\311\301\242D\3121\245 X\205\243\313X\203I\f\204I\314\315\316U\203/\317\202D\320U\2039\317\202D\321U\203C\322\202D\323P#\210 \307Y\205\243\316\320U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\314\336\337\340\"P$0\207\266\341\207" [V0 V1 V2 tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags cancel-timer 4 "%s...%s" #1# #2# 3 apply message 0 #3# 1 2 #4# #5# #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil] 10] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] "done"] 15 (#$ . 186912)]) #@75 Return the strict file name checking argument of the local scp. (fn VEC) (defalias 'tramp-scp-strict-file-name-checking #[257 "\306\307\310\311\"\"\204\f\312\207;\203\207\312\313\3141Z\315\316!\205U\n\204) \203U\317\320\313\"r\211q\210\321\322\"\216\323\316\324\313\324\325&\210eb\210\326\327\324\313#?\205O\325\211*\262\202U\211\330\331\332C\3331\365\fX\205\357\334X\203\224 \204\224\335\336\337U\203z\312\202\217\340U\203\204\312\202\217\341U\203\216\342\202\217\343P#\210\f\330Y\205\357\337\340U\203\316\3441\315r\345!\203\263\346!\202\267\347\350\"q\210\351P\262\352\353 C\"\211\262)0\210\202\316\210\345!\203\332\354\355\"\262)\2429>\205\357\335\356\357\360\"P$0\266\202\367\266\361C ?\205 \330\f\334^X\205 \362\332\324\211#\211\205\363\334\364\365$\262\321\366$\216 \206#\211\317\320\313\"r\211q\210\321\367\"\216\323\316\324\313\324\325&\210eb\210\326\327\324\313#?\205J\325\211*\262)\370\240\210)\266\2020\210\202[\210)\207" [tramp-scp-strict-file-name-checking case-fold-search noninteractive inhibit-message tramp-verbose tramp-inhibit-progress-reporter assoc "%x" tramp-get-method-parameter tramp-copy-args #3="" t (error) executable-find "scp" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-process nil "-T" search-forward-regexp "unknown option -- T" 4 "%s..." #1="Computing strict file name argument" #2=(error) 3 apply message 0 1 2 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message format #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update #[0 "\302\203\306\302!\210\300\307\310\311\301\242D\3121\245 X\205\243\313X\203I\f\204I\314\315\316U\203/\317\202D\320U\2039\317\202D\321U\203C\322\202D\323P#\210 \307Y\205\243\316\320U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\314\336\337\340\"P$0\207\266\341\207" [V0 V1 V2 tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags cancel-timer 4 "%s...%s" #1# #2# 3 apply message 0 #3# 1 2 #4# #5# #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message format #8# nil] 10] #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] "done" cl-struct-tramp-file-name-tags] 11 (#$ . 190585)]) #@118 Close the connection VEC after a session timeout. If there is just some editing, retry it after 5 seconds. (fn VEC) (defalias 'tramp-timeout-session #[257 "\304\305!\306\307#\203\272\310@\"\203\272\211\311\312\311C\3131\261 X\205\253\314X\203Q\n\204Q\315\316\317U\2037\320\202L\321U\203A\320\202L\322U\203K\323\202L\324P#\210 \325Y\205\253\317\321U\203\213\3261\212r\327!\203p\330!\202t\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\213\210\327!\203\227\336\337\"\262)\242 >\205\253\315\340\341\342\"P$0\266\202\263\266\343\311\307\344$\207\211\314\345\346\347\"C\3131\\ X\205V\314X\203\374\n\204\374\315\316\317U\203\342\320\202\367\321U\203\354\320\202\367\322U\203\366\323\202\367\324P#\210 \325Y\205V\317\321U\2036\32615r\327!\203\330!\202\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\2026\210\327!\203B\336\337\"\262)\242 >\205V\315\340\341\342\"P$0\266\202^\266\350\351\307\352$\207" [tramp-current-connection tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property tramp-get-connection-process "locked" nil tramp-file-name-equal-p 5 "Cannot timeout session, trying it again in %s seconds." (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " run-at-time tramp-timeout-session "Timeout session %s" tramp-make-tramp-file-name noloc tramp-cleanup-connection keep-debug keep-processes] 11 (#$ . 193216)]) #@173 Maybe open a connection VEC. Does not do anything if a connection is already open, but re-opens the connection if a previous connection has died for some reason. (fn VEC) (defalias 'tramp-maybe-open-connection #[257 "\306!\204 \307\310\211\"\210\311!\312\313\314#\315!r\316!q\210`)\317!\204A\320 @\"\203A\321\322 A!\n\2068\323\"\204A\307\324\211\"\210\3251x\321\326\322\312\327\323#!\"\205s\317!\205s\330\331\332\211$\210\317!\205j\333\334\"?\205s\335\336\337#0\210\202\201\210\340\332\"\210\314\262\3411\\\317!?\205X \204\224\f\203 \3422X\203\246\343!\203\246\344!\210\345\346 \"\210\345\347\350!\"\210@;\203\302\345\351@\"\210\202\325@\203\325\345\351!\210\345\352\353\"\210\345\354\353\"\210\345\355!\210\345\356A\"\210B;\204\353\335\336\357#\210C\360!\361!DE\314\211FG\314H\362B!\363\364\365N@\332\"I\366\367\370 !\316\f!\371BC\205&\372!J\205.JC#$)\373\374\"\210\375\376\f#\210\375\377\201T#\210\201U\314\"\210 \201V B \201W\201X\201Y!\201Z\201[\201\\#\266\202C\201]17KX\2051\201^X\203\276L\204\276\366\201_\323U\203\232\201`\202\271\201aU\203\250\201`\202\271\201bU\203\266\201c\202\271\201dP#\210K\201eY\2051\323K\201aU\203\201f1r\343!\203\347\201g!\202\355\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\210\343!\203\201k\376\"\262)\242M>\2051\366\201l\201m\201n\"P$0\266\2029\266\201o\n!\210\201p\334\201qB$\210\203\354@\211\242M>\204g\201r\201s\201tD\"\210\211A@\242M>\204\201r\201s\201tD\"\210\201b8\242M>\204\231\201r\201s\201tD\"\210\201^8\242M>\204\264\201r\201s\201tD\"\210\201e8\242M>\204\317\201r\201s\201tD\"\210\201u8\201v\201w\"\362!\201x\201v \201y\"!\201v \201S\"\201v\n\201z\"\312\201{!\201|N#\211N=\2035\201}\201~O\363\364\365N@\332\"\"!\262\201\201{!\201|#\210\211\262\314P\211\203_\211@\211\314\332Q\201\200#)\266\203\203X\332\262A\266\202\202;\210\262\201\201\201\201t\314\211\257#\210\201v \201\202\"\203\236\201\201\203\201v\201\202\"#\210\201[\201\\\371?\205\255\201\204C\205\267 \201\205\201\206\201\207\206\312\201`\201\210\206\325\201`\201\211\206\340\201`\201\212\201\213 \201\214\201\215\"\"\201\216\201Z\201\217R&\f\205\n\201\220%\201Z#\262\201^\201\221C\201]1\342KX\205\334\201^X\203iL\204i\366\201_\323U\203E\201`\202d\201aU\203S\201`\202d\201bU\203a\201c\202d\201dP#\210K\201eY\205\334\323K\201aU\203\263\201f1\262r\343!\203\222\201g!\202\230\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\263\210\343!\203\301\201k\376\"\262)\242M>\205\334\366\201l\201m\201n\"P$0\266\202\344\266\330\332\211$\210\201\222r\201g!q\210d)^R\206\nS%\210\201^\201\223 C\201]1\336KX\205\330\201^X\203eL\204e\366\201_\323U\203A\201`\202`\201aU\203O\201`\202`\201bU\203]\201c\202`\201dP#\210K\201eY\205\330\323K\201aU\203\257\201f1\256r\343!\203\216\201g!\202\224\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\257\210\343!\203\275\201k\376\"\262)\242M>\205\330\366\201l\201m\201n\"P$0\266\202\340\266\201`\262A\262\202L\312\201\203\314#\203\201\224\312\201\203\314#\314\201\225 $\210\201\226 \"\210\201\201\227\332#,\266\2050\202X\201^\201\230\242M>\204>\201r\201s\201t\nD\"\210\201b8G\323U\203\216\201m\201\231\n\242M>\204i\201r\201s\201t D\"\210\201e 8 \242M>\204\206\201r\201s\201tD\"\210 A@$\202\354\201m\201\232\n\242M>\204\255\201r\201s\201t D\"\210\201b 8 \242M>\204\312\201r\201s\201tD\"\210\201e\f8\f\242M>\204\347\201r\201s\201tD\"\210\fA@%C\201]1\264KX\205\256\201^X\203;L\204;\366\201_\323U\203\201`\2026\201aU\203%\201`\2026\201bU\2033\201c\2026\201dP#\210K\201eY\205\256\323K\201aU\203\205\201f1\204r\343!\203d\201g!\202j\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\205\210\343!\203\223\201k\376\"\262)\242M>\205\256\366\201l\201m\201n\"P$0\266\202\266\266\201\233CL?\205\230\201^K\201^^X\205\230\201\234\242M>\204\347\201r\201s\201t D\"\210\201b8G\323U\2037\201m\201\231 \242M>\204\201r\201s\201t\fD\"\210\201e\n8\n\242M>\204/\201r\201s\201t D\"\210\nA@$\202\225\201m\201\232 \242M>\204V\201r\201s\201t\fD\"\210\201b\n8\n\242M>\204s\201r\201s\201t D\"\210\201e 8 \242M>\204\220\201r\201s\201tD\"\210 A@%\314\211#\211\205\252\201\224\201^\201\235\201\236$\262\201\237\201\240%\216L\206\300\211L\3422N\203\326\343!\203\326\344!\210\345\346 \"\210\345\347\350 !\"\210@;\203\362\345\351@\"\210\202 @\203 \345\351!\210\345\352\353\"\210\345\354\353\"\210\345\355!\210\345\356A\"\210B;\204 \335\336\357#\210C\360!\361 !DE\314\211FG\314H\362B!\363\364\365N@\332\"I\366\367\370 !\316!\371BC\205W \372!J\205_ JC#$)\373\374\"\210\375\376#\210\375\377\201T#\210\201U\314\"\210 \201V B \201W\201X\201Y!\201Z\201[\201\\#\266\202C\201]1h\nKX\205b\n\201^X\203\357 L\204\357 \366\201_\323U\203\313 \201`\202\352 \201aU\203\331 \201`\202\352 \201bU\203\347 \201c\202\352 \201dP#\210K\201eY\205b\n\323K\201aU\2039\n\201f18\nr\343!\203\n\201g!\202\n\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\2029\n\210\343!\203G\n\201k\376\"\262)\242M>\205b\n\366\201l\201m\201n\"P$0\266\202j\n\266\201o\f!\210\201p\334\201qB$\210\203@\211\242M>\204\230\n\201r\201s\201tD\"\210\211A@\242M>\204\260\n\201r\201s\201tD\"\210\201b8\242M>\204\312\n\201r\201s\201tD\"\210\201^8\242M>\204\345\n\201r\201s\201tD\"\210\201e8\242M>\204 \201r\201s\201tD\"\210\201u8\201v\201w\"\362!\201x\201v \201y\"!\201v \201S\"\201v\n\201z\"\312\201{!\201|N#\211N=\203f \201}\201~O\363\364\365N@\332\"\"!\262\201\201{!\201|#\210\211\262\314P\211\203\220 \211@\211\314\332Q\201\200#)\266\203\203\211 \332\262A\266\202\202l \210\262\201\201\201\201t\314\211\257#\210\201v \201\202\"\203\317 \201\201\203\201v\201\202\"#\210\201[\201\\\371?\205\336 \201\204C\205\350  \201\205\201\206\201\207\206\373 \201`\201\210\206\f\201`\201\211\206\f\201`\201\212\201\213 \201\214\201\215\"\"\201\216\201Z\201\217R&\f\205;\f\201\220%\201Z#\262\201^\201\221C\201]1 KX\205 \201^X\203\232\fL\204\232\f\366\201_\323U\203v\f\201`\202\225\f\201aU\203\204\f\201`\202\225\f\201bU\203\222\f\201c\202\225\f\201dP#\210K\201eY\205 \323K\201aU\203\344\f\201f1\343\fr\343!\203\303\f\201g!\202\311\f\316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\344\f\210\343!\203\362\f\201k\376\"\262)\242M>\205 \366\201l\201m\201n\"P$0\266\202 \266\330\332\211$\210\201\222r\201g!q\210d)^R\206; S%\210\201^\201\223 C\201]1KX\205 \201^X\203\226 L\204\226 \366\201_\323U\203r \201`\202\221 \201aU\203\200 \201`\202\221 \201bU\203\216 \201c\202\221 \201dP#\210K\201eY\205 \323K\201aU\203\340 \201f1\337 r\343!\203\277 \201g!\202\305 \316\201h\"q\210\201iP\262\371\201j C\"\211\262)0\210\202\340 \210\343!\203\356 \201k\376\"\262)\242M>\205 \366\201l\201m\201n\"P$0\266\202\266\201`\262A\262\202}\n\312\201\203\314#\2039\201\224\312\201\203\314#\314\201\225$\210\201\226 \"\210\201\201\227\332#,\266\2050)\201\241\240\210)\266\2020\202l\340\332\"\210\201r@A\"\262)\207" [process-environment tramp-current-connection tramp-connection-min-time-diff noninteractive inhibit-message tramp-terminal-type tramp-connectable-p throw non-essential tramp-get-connection-process tramp-get-connection-property "process-name" nil copy-sequence tramp-get-connection-buffer process-live-p tramp-file-name-equal-p time-less-p time-since 0 suppress (file-error) 60 "last-cmd-time" tramp-send-command "echo are you awake" t tramp-wait-for-output 10 tramp-error file-error "Awake did fail" tramp-cleanup-connection (error quit) uname-changed processp delete-process setenv "TERM" "LC_ALL" tramp-get-local-locale "HISTFILE" "HISTFILESIZE" "0" "HISTSIZE" "PROMPT_COMMAND" "PS1" "`tramp-encoding-shell' not set" tramp-compute-multi-hops tramp-ssh-controlmaster-options tramp-get-sh-extra-args eval temporary-file-directory standard-value apply start-process tramp-get-connection-name append split-string set-process-sentinel tramp-process-sentinel process-put vector adjust-window-size-function tramp-histfile-override tramp-initial-end-of-output tramp-encoding-shell tramp-system-name tramp-process-connection-type process-connection-type process-adaptive-read-buffering process-coding-system-alist coding-system-for-read default-directory tramp-encoding-command-interactive tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-temp-name-prefix tramp-restricted-shell-hosts-alist inhibit-changing-match-data tramp-actions-before-shell tramp-connection-timeout ignore set-process-query-on-exit-flag current-time 6 "%s" process-command " " mapconcat identity #3=(error) 3 message #4="" 1 2 #5="Warning: " #6="Tramp: " 4 #7=(error) process-buffer dont-create #8="\n%s" buffer-string process-get tramp-debug-message format #9="(%d) # " tramp-set-connection-local-variables tramp-barf-if-no-shell-prompt "Couldn't find local shell prompt for %s" signal wrong-type-argument tramp-file-name 5 tramp-get-method-parameter tramp-remote-shell tramp-compat-flatten-tree tramp-async-args tramp-login-program tramp-get-process "temp-file" make-temp-name expand-file-name tramp-set-connection-property string-match "password-vector" tramp-session-timeout "session-timeout" ("exec") tramp-expand-args tramp-login-args 104 117 112 99 format-spec format-spec-make 116 108 " -i" ("&&" "exit" "||" "exit") "Sending command `%s'" tramp-process-actions "Found remote shell prompt on `%s'" run-at-time tramp-timeout-session tramp-open-connection-setup-interactive-shell "connected" "%s..." #1="Opening connection %s for %s using %s" #2="Opening connection %s for %s@%s using %s" "failed" make-progress-reporter 0.1 tramp-progress-reporter-update make-closure #[0 "\303\203\306\303!\210\300\307\310\300\242\f>\204\311\312\313\300D\"\210\314\3008G\315U\203K\316\317\301\300\242\f>\2043\311\312\313\300D\"\210\320\3008\300\242\f>\204D\311\312\313\300D\"\210\300A@$\202\202\316\321\301\300\242\f>\204\\\311\312\313\300D\"\210\314\3008\300\242\f>\204m\311\312\313\300D\"\210\320\3008\300\242\f>\204~\311\312\313\300D\"\210\300A@%\302\242D\3221 X\205\307X\203\300&\204\300\323\324\315U\203\246\325\202\273\326U\203\260\325\202\273\314U\203\272\327\202\273\330P#\210 \320Y\205\315\326U\203\372\3311\371r\332!\203\337\333!\202\343\334\335\"q\210\336P\262\337\340 C\"\211\262)0\210\202\372\210\332!\203\341\342\"\262)\242\f>\205\323\343\316\344\"P$0\207\266\345\207" [V0 V1 V2 V3 cl-struct-tramp-file-name-tags tramp-verbose cancel-timer 3 "%s...%s" signal wrong-type-argument tramp-file-name 2 0 format #1# 4 #2# #3# apply message #4# 1 #5# #6# #7# processp process-buffer tramp-get-connection-buffer dont-create #8# append buffer-string process-get vector tramp-debug-message #9# nil tramp-inhibit-progress-reporter] 12] "done"] 48 (#$ . 194859)]) #@331 Send the COMMAND to connection VEC. Erases temporary buffer before sending the command. If optional arg NEVEROPEN is non-nil, never try to open the connection. This is meant to be used from `tramp-maybe-open-connection' only. The function waits for output unless NOOUTPUT is set. (fn VEC COMMAND &optional NEVEROPEN NOOUTPUT) (defalias 'tramp-send-command #[1026 "\204\304!\210\305!\306\307\310#\203:\311\312\313#\210\211\314\230\262\2041\315\310O\316\230\2031\317\315O\262\320\321$\262\322\323C\3241\332 X\205\324\325X\203z\n\204z\326\327\317U\203`\314\202u\330U\203j\314\202u\331U\203t\332\202u\333P#\210 \334Y\205\324\317\330U\203\264\3351\263r\336!\203\231\337!\202\235\340\341\"q\210\342P\262\343\344 C\"\211\262)0\210\202\264\210\336!\203\300\345\346\"\262)\242 >\205\324\326\347\320\350\"P$0\266\202\334\266\351\"\210?\205\351\352!\207" [tramp-echo-mark tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-maybe-open-connection tramp-get-connection-process tramp-get-connection-property "remote-echo" nil tramp-set-connection-property "check-remote-echo" t "" -1 "\n" 0 format "%s%s%s" 6 "%s" (error) 3 apply message 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " tramp-send-string tramp-wait-for-output] 15 (#$ . 206597)]) #@67 Wait for output from remote command. (fn PROC &optional TIMEOUT) (defalias 'tramp-wait-for-output #[513 "\303\304!!\204\305!\210\306\307\310$\210r\304!q\210\311\312\313! #\311\314\"\315#\211\203P\316eb\210\317\320\321 \316#\203B\322y\210e`|\210\323!\203L`d|\210)\202g\203`\306\307\324%\210\202g\306\307\325$\210\266\202)\207" [tramp-end-of-output tramp-device-escape-sequence-regexp inhibit-read-only buffer-live-p process-buffer delete-process tramp-error file-error "Process `%s' not available, try again" format "[^#$\n]*%s\\(%s\\)? ?$" regexp-quote "\\(^\\|\\)%s" tramp-wait-for-regexp t re-search-forward "^\\(.\\)+$" point-at-eol 1 tramp-search-regexp "[[Remote prompt `%s' not found in %d secs]]" "[[Remote prompt `%s' not found]]"] 11 (#$ . 208073)]) #@539 Run COMMAND and check its exit status. Send `echo $?' along with the COMMAND for checking the exit status. If COMMAND is nil, just send `echo $?'. Return t if the exit status is 0, and nil otherwise. If the optional argument SUBSHELL is non-nil, the command is executed in a subshell, ie surrounded by parentheses. If DONT-SUPPRESS-ERR is non-nil, stderr won't be sent to "/dev/null". Optional argument EXIT-STATUS, if non-nil, triggers the return of the exit status. (fn VEC COMMAND &optional SUBSHELL DONT-SUPPRESS-ERR EXIT-STATUS) (defalias 'tramp-send-command-and-check #[1282 "\301\203\n\302\202 \303\211\203#\203\304\202$\305\306\307 !\"\202$\303\310\203.\311\202/\303\260\"\210r\312!q\210\313\314!\204G\315\316\317$\210\320\321w\210\211\203U\322p!\202Z\322p!\323U\324\323\224d|\210*\207" [inhibit-read-only tramp-send-command "( " "" "; " format " 2>%s; " tramp-get-remote-null-device "echo tramp_exit_status $?" " )" tramp-get-connection-buffer tramp-search-regexp "tramp_exit_status [[:digit:]]+" tramp-error file-error "Couldn't find exit status of `%s'" "^ " nil read 0 t] 13 (#$ . 208869)]) #@218 Run COMMAND, check exit status, throw error if exit status not okay. Similar to `tramp-send-command-and-check' but accepts two more arguments FMT and ARGS which are passed to `error'. (fn VEC COMMAND FMT &rest ARGS) (defalias 'tramp-barf-unless-okay #[899 "\300\"\206\301\302\303%\207" [tramp-send-command-and-check apply tramp-error file-error] 10 (#$ . 210009)]) #@252 Run COMMAND and return the output, which must be a Lisp expression. If MARKER is a regexp, read the output after that string. In case there is no valid Lisp expression and NOERROR is nil, it raises an error. (fn VEC COMMAND &optional NOERROR MARKER) (defalias 'tramp-send-command-and-read #[1026 "\203\3011\302\"0\202\210\303\207\304\305$\205xr\306!q\210eb\210\211;\203H\30717\310!0\210\202H\210\204H\311\312\313\314 &\210\3151h?\205R\316p!)\310\317\320 \321#\203d\322\303!\2100\202w\210?\205w\311\312\323\314 %)\207" [signal-hook-function (error) tramp-send-command-and-check nil tramp-barf-unless-okay "`%s' returns with error" tramp-get-connection-buffer (error) re-search-forward tramp-error file-error "`%s' does not return the marker `%s': `%s'" buffer-string (error) read "\\S-" point-at-eol t error "`%s' does not return a valid Lisp expression: `%s'"] 11 (#$ . 210389)]) #@162 Convert `file-attributes' ATTR generated by perl script, stat or ls. Convert file mode bits to string and set virtual device number. Return ATTR. (fn VEC ATTR) (defalias 'tramp-convert-file-attributes #[514 "\211\205\303\304 \305\306\"\216@;\203'\307@\"\203'\310\311\312\211@$\240\210\202\3138\247\203<\3138\314W\203<AA \240\210\315\3138!\203V\3138\nX\203VAA\316\3138!\240\210\3178\247\203k\3178\314W\203k\317\233 \240\210\315\3178!\203\205\3178\nX\203\205\317\233\316\3178!\240\210\3208<\204\226\320\233\321\3208!\240\210\3228<\204\247\322\233\321\3228!\240\210\3238<\204\270\323\233\321\3238!\240\210\3248\314W\203\306\324\233\325\240\210\315\3248!\203\340\3248\nX\203\340\324\233\316\3248!\240\210\3268;\204\376\326\233\327\3268!\240\210@;\203\376\3268\314\330I\210\331\3268\312\332\307#)\266\203\203\332\240\210@:\2036\211@@;\2054\307\333@@\"\2054\334\335\336@@\"\337\"\240\210\340\233\3178\247\203L\3178\341\342\"U?\202U\3178\341\343\"\230?\240\210\315\3448!\203\270\344\233\3451\262\3448\312\211\nX\203y\346!\266\203\202\256\347\350\"\262\350\245\262\nX\203\226\346!\346!B\266\203\202\256\347\351\"\262\351\245\262\346!\346!\346!BB\266\2030\202\266\210\352!\240\210\353\233\354!\240\210)\210\211\207" [tramp-display-escape-sequence-regexp tramp-unknown-id-integer most-positive-fixnum inhibit-changing-match-data match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match replace-match "" nil 2 0 floatp round 3 4 seconds-to-time 5 6 7 -1 8 tramp-file-mode-from-int 108 "^d" t ".+ -> .\\(.+\\)." decode-coding-string match-string 1 utf-8 9 tramp-get-remote-gid integer string 10 (error) floor mod 65536 16777216 tramp-get-inode 11 tramp-get-device] 11 (#$ . 211315)]) #@71 Convert STRING to shell glob pattern which ignores case. (fn STRING) (defalias 'tramp-shell-case-fold #[257 "\300\301\302#\207" [mapconcat #[257 "\211\227\226\232\203\f\300!\207\301\302\227\226#\207" [vector format "[%c%c]"] 5 "\n\n(fn C)"] ""] 5 (#$ . 213146)]) #@82 Create a file name suitable for `scp', `pscp', or `nc' and workalikes. (fn VEC) (defalias 'tramp-make-copy-program-file-name #[257 "\211\242>\204\303\304\305D\"\210\211A@\242>\204\303\304\305D\"\210\3068\242>\2040\303\304\305D\"\210\3078\310\311!! \312\313\314#)\266\203\203N\315\316\"\262\317\312\313\314#)\266\203\204c\320!\262\321\322\"\203k\207G\323U\203x\315\324#\207\315\325$\207" [cl-struct-tramp-file-name-tags tramp-ipv6-regexp inhibit-changing-match-data signal wrong-type-argument tramp-file-name 2 4 directory-file-name tramp-file-name-unquote-localname nil t string-match format "[%s]" "ftp$" tramp-unquote-shell-quote-argument tramp-get-method-parameter tramp-remote-copy-program 0 "%s:%s" "%s@%s:%s"] 12 (#$ . 213422)]) #@74 Return t if this is an out-of-band method, nil otherwise. (fn VEC SIZE) (defalias 'tramp-method-out-of-band-p #[514 "\301\302\"\205\211\247\205?\206\211V\206\303\304#?\207" [tramp-copy-size-limit tramp-get-method-parameter tramp-copy-program tramp-get-inline-coding "remote-encoding"] 6 (#$ . 214205)]) #@103 Compile list of remote directories for PATH. Nonexistent directories are removed from spec. (fn VEC) (defalias 'tramp-get-remote-path #[257 "r\306!q\210\307!\210\310\311>\203\312!\202\313 #\211 =\203*\314!\315>\311>\205\336\316\317\320\321 !\"\322#\206\336\323\324\325C\3261\333\nX\205\325\323X\203{ \204{\327\330\331U\203a\332\202v\333U\203k\332\202v\334U\203u\335\202v\336P#\210\n\337Y\205\325\331\333U\203\265\3401\264r\341!\203\232\342!\202\236\306\343\"q\210\344P\262\345\346 C\"\211\262)0\210\202\265\210\341!\203\301\347\350\"\262)\242\f>\205\325\327\351\317\352\"P$0\266\202\335\266\325\205\253\316\317\353\354\n\355\"\356\357\354 \360\"\361#\356\357\354\362\"\361#\363 !%\322\364 !$\206\253\334\365\366\3261\250\nX\205\242\323X\203H \204H\327\330\331U\203.\332\202C\333U\2038\332\202C\334U\203B\335\202C\336P#\210\n\337Y\205\242\331\333U\203\202\3401\201r\341!\203g\342!\202k\306\343\"q\210\344P\262\345\346 C\"\211\262)0\210\202\202\210\341!\203\216\347\350\"\262)\242\f>\205\242\327\351\317\352\"P$0\266\202\252\266\366\203\307\345\367\206\267\332\370\371#A\"\241\210\372\315\"\262\203\342\345\367\206\323\332\370\371#A\"\241\210\372\311\"\262\262:\203@\203@A\235\211\262\203\366\240\210\202\352A\262\202\345\372\366\373\374\375 \"\"\"\266\205\262\376\311>\203%\312!\202&\313#\210\211\262)\207" [tramp-remote-path tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-end-of-heredoc tramp-get-connection-buffer tramp-set-connection-local-variables tramp-get-connection-property tramp-own-remote-path tramp-get-process "remote-path" copy-tree tramp-default-remote-path tramp-send-command-and-read format "echo \\\"`getconf PATH 2>%s`\\\"" tramp-get-remote-null-device noerror 3 "`getconf PATH' not successful, using default value \"%s\"." "/bin:/usr/bin" (error) apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " "%s %s %s 'echo %s \\\"$PATH\\\"'" tramp-get-method-parameter tramp-remote-shell mapconcat identity tramp-remote-shell-login " " tramp-remote-shell-args tramp-shell-quote-argument regexp-quote "Could not retrieve `tramp-own-remote-path'" nil split-string ":" omit delq mapcar make-closure #[257 "\211;\205\301\302\300\303#!\205\211\207" [V0 file-directory-p tramp-make-tramp-file-name nohop] 6 "\n\n(fn X)"] tramp-set-connection-property] 17 (#$ . 214529)]) #@65 Determine remote locale, supporting UTF8 if possible. (fn VEC) (defalias 'tramp-get-remote-locale #[257 "\302\303#\211=\203Z\304\305\"\210\306\307r\310!q\210\203Geb\210\311\312\313@!\"\314 \307\315\316#)\266\203\203@@\262\307\262\202A\262\202)\311\317\206O\320\"\266\202\262\321\303#\210\207" [tramp-cache-undefined inhibit-changing-match-data tramp-get-connection-property "locale" tramp-send-command "locale -a" ("en_US.utf8" "C.utf8" "en_US.UTF-8" "C.UTF-8") nil tramp-get-connection-buffer format "^%s ?$" regexp-quote buffer-string t string-match "LC_ALL=%s" "C" tramp-set-connection-property] 11 (#$ . 217160)]) #@42 Determine remote `ls' command. (fn VEC) (defalias 'tramp-get-ls-command #[257 "\304\305#\211=\203\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\3412\342\211\205\211@\343!\310\203\367\344\345\211%\211\262\203\367\346\337\347\"\"\203\360\346\337\350\351 !#\"\203\353\211\352P\262\353\341\"\210A\262\202\272\266A\266\202\202\260\2620\206 \354\355\356#\262\357\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "ls" 5 "Finding a suitable `ls' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " ls-found ("ls" "gnuls" "gls") tramp-get-remote-path tramp-find-executable t tramp-send-command-and-check "%s -lnd /" "%s --color=never -al %s" tramp-get-remote-null-device " --color=never" throw tramp-error file-error "Couldn't find a proper `ls' command" tramp-set-connection-property] 13 (#$ . 217813)]) #@88 Return OPTION, if the remote `ls' command supports the OPTION option. (fn VEC OPTION) (defalias 'tramp-get-ls-command-with #[514 "\304\305P#\211=\203\332\306\307C\3101\254 X\205\246\311X\203L\n\204L\312\313\314U\2032\315\202G\316U\203<\315\202G\317U\203F\320\202G\321P#\210 \322Y\205\246\314\316U\203\206\3231\205r\324!\203k\325!\202o\326\327\"q\210\330P\262\331\332 C\"\211\262)0\210\202\206\210\324!\203\222\333\334\"\262)\242 >\205\246\312\335\336\337\"P$0\266\202\256\266\340\336\341\342!\"\"?\205\320\340\336\343\342!\344 !$\"\205\320\262\345\305P#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "ls" 5 "Checking, whether `ls %s' works" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command-and-check "%s --help 2>&1 | grep -iq busybox" tramp-get-ls-command "%s %s -al %s" tramp-get-remote-null-device tramp-set-connection-property] 13 (#$ . 219252)]) #@44 Determine remote `test' command. (fn VEC) (defalias 'tramp-get-test-command #[257 "\304\305#\211=\203\305\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\342\"\203\266\305\202\275\343\305\344!#\262\345\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "test" 5 "Finding a suitable `test' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-send-command-and-check "test 0" tramp-find-executable tramp-get-remote-path tramp-set-connection-property] 12 (#$ . 220455)]) #@77 Check, whether the remote `test' command supports the -nt option. (fn VEC) (defalias 'tramp-get-test-nt-command #[257 "\303\304#\211=\203K\305\306\307\310!\"\"\210r\311!q\210eb\210\312 !\313\314!)\262\2053\306\315\310!\")\206C\305\306\316\310!\"\"\210\317\262\320\304#\210\207" [tramp-cache-undefined tramp-end-of-output inhibit-changing-match-data tramp-get-connection-property "test-nt" tramp-send-command format "( %s / -nt / )" tramp-get-test-command tramp-get-buffer regexp-quote t looking-at "%s %%s -nt %%s" "tramp_test_nt () {\n%s -n \"`find $1 -prune -newer $2 -print`\"\n}" "tramp_test_nt %s %s" tramp-set-connection-property] 8 (#$ . 221542)]) #@61 Determine remote command for file existing check. (fn VEC) (defalias 'tramp-get-file-exists-command #[257 "\304\305#\211=\203\266\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341!\262\342\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "file-exists" 5 "Finding command to check if file exists" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-file-exists-command tramp-set-connection-property] 12 (#$ . 222224)]) #@42 Determine remote `ln' command. (fn VEC) (defalias 'tramp-get-remote-ln #[257 "\304\305#\211=\203\272\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\262\343\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "ln" 5 "Finding a suitable `ln' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-set-connection-property] 12 (#$ . 223254)]) #@44 Determine remote `perl' command. (fn VEC) (defalias 'tramp-get-remote-perl #[257 "\304\305#\211=\203\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\342\343!#\206\274\341\305\343!#\211\203\315\344\337\345\"\"\204\315\310\262\211\203\304\346#\211=\203\353\344\337\347\"\"\262\350\346#\210\210\304\351#\211=\203\344\337\352\"\"\262\350\351#\210\210\211\262\262\350\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "perl" 5 "Finding a suitable `perl' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable "perl5" tramp-get-remote-path tramp-send-command-and-check "%s -e 'print \"Hello\n\";'" "perl-file-spec" "%s -e 'use File::Spec;'" tramp-set-connection-property "perl-cwd-realpath" "%s -e 'use Cwd \"realpath\";'"] 12 (#$ . 224261)]) #@44 Determine remote `stat' command. (fn VEC) (defalias 'tramp-get-remote-stat #[257 "\306\307#\211=\203\f \306\310\311#\312\313\314#)\266\203?\205\315\316\312\3171\276 X\205\270\320X\203^\f\204^\321\322\323U\203D\311\202Y\324U\203N\311\202Y\325U\203X\326\202Y\327P#\210 \330Y\205\270\323\324U\203\230\3311\227r\332!\203}\333!\202\201\334\335\"q\210\336P\262\337\340 C\"\211\262)0\210\202\230\210\332!\203\244\341\342\"\262)\242 >\205\270\321\343\344\345\"P$0\266\202\300\266\346\307\347!#\312\203\350P\262\351\344\352\"\353#\262\211<\203\376\211@;\203\376\354@\312\313\314#)\266\203\203\376\211A@\250\204\312\262\266\202\262\355\307#\210\207" [tramp-cache-undefined tramp-sunos-unames inhibit-changing-match-data tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "stat" "uname" "" nil t string-match 5 "Finding a suitable `stat' command" (error) 3 apply message 0 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path "env QUOTING_STYLE=locale " tramp-send-command-and-read "%s -c '(\"%%N\" %%s)' /" noerror "^[\"`‘„”«「]/[\"'’“”»」]$" tramp-set-connection-property] 12 (#$ . 225660)]) #@48 Determine remote `readlink' command. (fn VEC) (defalias 'tramp-get-remote-readlink #[257 "\304\305#\211=\203\313\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\211\205\301\343\337\344\"\"\205\301\211\262\262\345\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "readlink" 5 "Finding a suitable `readlink' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-send-command-and-check "%s --canonicalize-missing /" tramp-set-connection-property] 12 (#$ . 227080)]) #@118 Determine remote `trash' command. This command is returned only if `delete-by-moving-to-trash' is non-nil. (fn VEC) (defalias 'tramp-get-remote-trash #[257 "\205\301\305\306 #\211 =\203\276\307\310\311\3121\255\nX\205\247\313X\203M \204M\314\315\316U\2033\317\202H\320U\203=\317\202H\321U\203G\322\202H\323P#\210\n\324Y\205\247\316\320U\203\207\3251\206r\326!\203l\327!\202p\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\207\210\326!\203\223\335\336\"\262)\242\f>\205\247\314\337\340\341\"P$0\266\202\257\266\342\306\343!#\262\344\306#\210\211\262\207" [delete-by-moving-to-trash tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "trash" 5 "Finding a suitable `trash' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-set-connection-property] 12 (#$ . 228220)]) #@45 Determine remote `touch' command. (fn VEC) (defalias 'tramp-get-remote-touch #[257 "\304\305#\211=\203\335\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\343!\203\322\344\345\346\337\347\350\351!\352\n!$\"#\210\353!\210\266\202\262\344\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "touch" 5 "Finding a suitable `touch' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-make-tramp-temp-name tramp-set-connection-property "touch-t" tramp-send-command-and-check "%s -t %s %s" format-time-string "%Y%m%d%H%M.%S" tramp-file-local-name delete-file] 15 (#$ . 229359)]) #@42 Determine remote `df' command. (fn VEC) (defalias 'tramp-get-remote-df #[257 "\304\305#\211=\203\366\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\310\205\354\343\337\344\337\345\"\211\262\"\"\203\324\346\347\317#\210\211\266\202\202\356\343\337\344\337\350\"\211\262\"\"\205\354\346\347\351#\210\211\266\202\262\346\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "df" 5 "Finding a suitable `df' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-send-command-and-check "%s /" "%s --block-size=1 --output=size,used,avail" tramp-set-connection-property "df-blocksize" "%s -k" 1024] 12 (#$ . 230612)]) #@51 Determine remote `gio-monitor' command. (fn VEC) (defalias 'tramp-get-remote-gio-monitor #[257 "\304\305#\211=\203\274\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\342\343!\344\211%\262\345\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "gio-monitor" 5 "Finding a suitable `gio-monitor' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable "gio" tramp-get-remote-path t tramp-set-connection-property] 12 (#$ . 231905)]) #@51 Determine remote `inotifywait' command. (fn VEC) (defalias 'tramp-get-remote-inotifywait #[257 "\304\305#\211=\203\274\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!\343\211%\262\344\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "inotifywait" 5 "Finding a suitable `inotifywait' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path t tramp-set-connection-property] 12 (#$ . 232964)]) #@42 Determine remote `id' command. (fn VEC) (defalias 'tramp-get-remote-id #[257 "\304\305#\211=\203\367\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\3412\357\342\211\205\354\211@\343!\310\203\343\344\345\211%\211\262\203\343\346\337\347\"\"\203\334\350\341\"\210A\262\202\272\266A\266\202\202\260\2620\262\351\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "id" 5 "Finding POSIX `id' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " id-found ("id" "gid") tramp-get-remote-path tramp-find-executable t tramp-send-command-and-check "%s -u" throw tramp-set-connection-property] 12 (#$ . 234017)]) #@82 Implement `tramp-get-remote-uid' for Tramp files using `id'. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-uid-with-id #[514 "\300\301\302\303!\304=\203\305\202\306\304=\203\305\202\307$\"\207" [tramp-send-command-and-read format "%s -u%s %s" tramp-get-remote-id integer "" "n" "| sed -e s/^/\\\"/ -e s/\\$/\\\"/"] 10 (#$ . 235246)]) #@91 Implement `tramp-get-remote-uid' for Tramp files using a Perl script. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-uid-with-perl #[514 "\300\301\302\303!\304=\203\305\202\306#\"\207" [tramp-send-command-and-read format "%s -le '%s'" tramp-get-remote-perl integer "print $>" "print \"\\\"\", scalar getpwuid($>), \"\\\"\""] 9 (#$ . 235602)]) #@46 Determine remote `python' command. (fn VEC) (defalias 'tramp-get-remote-python #[257 "\304\305#\211=\203\316\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\206\306\341\343\342!#\206\306\341\344\342!#\262\345\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "python" 5 "Finding a suitable `python' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path "python2" "python3" tramp-set-connection-property] 12 (#$ . 235960)]) #@86 Implement `tramp-get-remote-uid' for Tramp files using `python'. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-uid-with-python #[514 "\300\301\302\303!\304=\203\305\202\306#\"\207" [tramp-send-command-and-read format "%s -c \"%s\"" tramp-get-remote-python integer "import os; print (os.getuid())" "import os, pwd; print ('\\\"' + pwd.getpwuid(os.getuid())[0] + '\\\"')"] 9 (#$ . 237053)]) #@82 Implement `tramp-get-remote-gid' for Tramp files using `id'. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-gid-with-id #[514 "\300\301\302\303!\304=\203\305\202\306\304=\203\305\202\307$\"\207" [tramp-send-command-and-read format "%s -g%s %s" tramp-get-remote-id integer "" "n" "| sed -e s/^/\\\"/ -e s/\\$/\\\"/"] 10 (#$ . 237458)]) #@91 Implement `tramp-get-remote-gid' for Tramp files using a Perl script. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-gid-with-perl #[514 "\300\301\302\303!\304=\203\305\202\306#\"\207" [tramp-send-command-and-read format "%s -le '%s'" tramp-get-remote-perl integer "print ($)=~/(\\d+)/)" "print \"\\\"\", scalar getgrgid($)), \"\\\"\""] 9 (#$ . 237814)]) #@86 Implement `tramp-get-remote-gid' for Tramp files using `python'. (fn VEC ID-FORMAT) (defalias 'tramp-get-remote-gid-with-python #[514 "\300\301\302\303!\304=\203\305\202\306#\"\207" [tramp-send-command-and-read format "%s -c \"%s\"" tramp-get-remote-python integer "import os; print (os.getgid())" "import os, grp; print ('\\\"' + grp.getgrgid(os.getgid())[0] + '\\\"')"] 9 (#$ . 238184)]) #@47 Determine remote `busybox' command. (fn VEC) (defalias 'tramp-get-remote-busybox #[257 "\304\305#\211=\203\272\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\262\343\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "busybox" 5 "Finding a suitable `busybox' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-set-connection-property] 12 (#$ . 238589)]) #@43 Determine remote `awk' command. (fn VEC) (defalias 'tramp-get-remote-awk #[257 "\304\305#\211=\203\331\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\206\321\343!\337\344\305#\205\317\345\346\347!Q\"\205\317\211\266\202\262\350\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "awk" 5 "Finding a suitable `awk' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-get-remote-busybox "%s %s" tramp-send-command-and-check " {} <" tramp-get-remote-null-device tramp-set-connection-property] 12 (#$ . 239616)]) #@47 Determine remote `hexdump' command. (fn VEC) (defalias 'tramp-get-remote-hexdump #[257 "\304\305#\211=\203\331\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\206\321\343!\337\344\305#\205\317\345\346\347!Q\"\205\317\211\266\202\262\350\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "hexdump" 5 "Finding a suitable `hexdump' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-get-remote-busybox "%s %s" tramp-send-command-and-check " <" tramp-get-remote-null-device tramp-set-connection-property] 12 (#$ . 240806)]) #@42 Determine remote `od' command. (fn VEC) (defalias 'tramp-get-remote-od #[257 "\304\305#\211=\203\331\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341\305\342!#\206\321\343!\337\344\305#\205\317\345\346\347!Q\"\205\317\211\266\202\262\350\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "od" 5 "Finding a suitable `od' command" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-find-executable tramp-get-remote-path tramp-get-remote-busybox "%s %s" tramp-send-command-and-check " -A n <" tramp-get-remote-null-device tramp-set-connection-property] 12 (#$ . 242009)]) #@68 Check whether remote `chmod' supports nofollow argument. (fn VEC) (defalias 'tramp-get-remote-chmod-h #[257 "\304\305#\211=\203\311\306\307\310\3111\251 X\205\243\312X\203I\n\204I\313\314\315U\203/\316\202D\317U\2039\316\202D\320U\203C\321\202D\322P#\210 \323Y\205\243\315\317U\203\203\3241\202r\325!\203h\326!\202l\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\203\210\325!\203\217\334\335\"\262)\242 >\205\243\313\336\337\340\"P$0\266\202\253\266\341!\342\337\343\344!\344!#\"\345!\210\262\262\346\305#\210\207" [tramp-cache-undefined tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property "chmod-h" 5 "Finding a suitable `chmod' command with nofollow" nil (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-make-tramp-temp-name tramp-send-command-and-check "ln -s foo %s && chmod -h %s 0777" tramp-file-local-name delete-file tramp-set-connection-property] 12 (#$ . 243197)]) #@228 Return the compress command related to PROP. PROP is either `inline-compress' or `inline-decompress'. SIZE is the length of the file to be compressed. If no corresponding command is found, nil is returned. (fn VEC PROP SIZE) (defalias 'tramp-get-inline-compress #[771 "\250\2050\211V\2050\302\303! #\211 =\203-\304!\210\302\303!\305#\262\306\303!#\210\211\262\207" [tramp-inline-compress-start-size tramp-cache-undefined tramp-get-connection-property tramp-get-process tramp-find-inline-compress nil tramp-set-connection-property] 8 (#$ . 244373)]) #@487 Return the coding command related to PROP. PROP is either `remote-encoding', `remote-decoding', `local-encoding' or `local-decoding'. SIZE is the length of the file to be coded. Depending on SIZE, compression might be applied. If no corresponding command is found, nil is returned. Otherwise, either a string is returned which contains a `%s' mark to be used for the respective input or output file; or a Lisp function cell is returned to be applied on a buffer. (fn VEC PROP SIZE) (defalias 'tramp-get-inline-coding #[771 "\3031\247\304\305!#\211=\203&\306!\210\304\305!\307#\262\310\305!#\210\211\262\311\307\312\313#)\266\203\203=\314\202>\315\307\203w9\203w\316\307\312\313#)\266\203\203w\317!\313\320\"\203m\321\322\307\312$\262\202[\323J#\210\262\205\243\324#\262\211\203\3539\203\353\325\307\312\313#)\266\203\203\304\326\327\330B\331\332\333\334\335 D\336\337\340\341\fDD\312\211\307\342\341DD\257\nEF\266\203\202\245\326\343\331\344\333\345\335\fD\346\347\340\341 DD\312\211\307\342\341DD\257\nE\350BF\266\203\202\2459\203\366\266\203\202\245\211\203D\351\307\312\313#)\266\203\203D\352\353\307\312\313#)\266\203\203&\n\354=\203&\355\202<\353\307\312\313#)\266\203\203;\356\202<\357#\266\203\202\245\211\203m\352\353\307\312\313#)\266\203\203d\n\354=\203d\360\202e\361#\266\203\202\245\351\307\312\313#)\266\203\203\237\353\307\312\313#)\266\203\203\226\352\362\"\266\203\202\245\352\363\"\266\203\202\245\352\364\"\266\2030\207\210\307\207" [tramp-cache-undefined inhibit-changing-match-data system-type (error) tramp-get-connection-property tramp-get-process tramp-find-inline-encoding nil tramp-set-connection-property "encoding" t string-match "inline-compress" "inline-decompress" "remote" symbol-name "-" replace-match "_" tramp-maybe-send-script tramp-get-inline-compress "decompress" lambda (beg end) (beg end) let ((coding-system-for-write 'binary) (coding-system-for-read 'binary)) apply #'tramp-call-process-region quote (point-min) (point-max) car split-string cdr (beg end) ((coding-system-for-write 'binary) (coding-system-for-read 'binary)) #'tramp-call-process-region beg end ((point-min) (point-max)) "decoding" format "local" windows-nt "(%s | \"%s\")" "(%s | %s)" "(%s | %s >%%s)" "(%s <%%s | \"%s\")" "(%s <%%s | %s)" "%s" "%s >%%s" "%s <%%s"] 23 (#$ . 244946)]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook tramp-unload-hook #[0 "\300\301\302\"\207" [unload-feature tramp-sh force] 3] provide tramp-sh] 3)