Server IP : 111.118.215.189 / Your IP : 3.136.20.207 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/net/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:37 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/tramp-sh.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\301\307\310&\210\302\311\312\313\306\301\307\314&\210\302\315\316\317\306\301\307\320&\207" [require tramp custom-declare-variable tramp-inline-compress-start-size 4096 "The minimum size of compressing where inline transfer.\nWhen inline transfer, compress transferred data of file\nwhose size is this value or above (up to `tramp-copy-size-limit').\nIf it is nil, no compression at all will be applied." :group :type (choice (const nil) integer) tramp-copy-size-limit 10240 "The maximum file size where inline copying is preferred over 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-terminal-type "dumb" "Value of TERM environment variable for logging in to remote host.\nBecause Tramp wants to parse the output of the remote shell, it is easily\nconfused by ANSI color escape sequences and suchlike. Often, shell init\nfiles conditionalize this setup based on the TERM environment variable." string] 8) #@48 Escape sequences produced by the "ls" command. (defconst tramp-color-escape-sequence-regexp "[[;0-9]+m" (#$ . 1590)) #@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) (#$ . 1715)) #@40 Prompt when establishing a connection. (defconst tramp-initial-end-of-output "#$ " (#$ . 2054)) (byte-code "\303\304\305\"\210\303\304\306\"\210\303\304\307\"\210\303\304\310\"\210\303\304\311\"\210\303\304\312\"\210\303\304\313\"\210\303\304\314\"\210\303\304\315\"\210\303\304\316\317\320\321\322\323\324\325\326\327\330CDD\331BBBBBBBBB\"\210\303\304\332\"\210\303\304\333\"\210\303\304\334\"\210\303\304\335\"\210\303\304\336\"\210\303\304\337\"\210\303\304\340\"\210\303\304\341\"\210\303\304\342\"\210\303\304\343\"\210\303\304\344\"\210\303\304\345\"\210\303\304\346\"\210\303\304\347\350\351\352\353\354\355\356 #C\357BBBBD\360BBB\"\210\303\304\361\"\210\303\304\362\"\210\303\304\363\"\210\303\364\n\365B\"\210\303\366\367\370B\"\210\303\366\371\372\373 E\"\207" [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 "/bin/sh") (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 "/bin/sh") (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") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("scp1" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-1") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("scp2" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-2") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("scpc" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-o" "ControlPath=%t.%%r@%%h:%%p") ("-o" "ControlMaster=yes") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") ("-o" "ControlPath=%t.%%r@%%h:%%p") ("-o" "ControlMaster=auto"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("scpx" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-e" "none") ("-t" "-t") ("%h") ("/bin/sh"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("sftp" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "sftp")) ("rsync" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "rsync") (tramp-copy-args (("-e" "ssh") ("-t" "%k") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-keep-tmpfile t) (tramp-copy-recursive t)) "rsyncc" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-o" "ControlPath=%t.%%r@%%h:%%p") ("-o" "ControlMaster=yes") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "rsync") (tramp-copy-args (("-t" "%k") ("-r"))) tramp-copy-env ("RSYNC_RSH") "ssh -o ControlPath=%t.%%r@%%h:%%p -o ControlMaster=auto" ((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 "/bin/sh") (tramp-remote-shell-args ("-c"))) ("remsh" (tramp-login-program "remsh") (tramp-login-args (("%h") ("-l" "%u"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("ssh" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("ssh1" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-1") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("ssh2" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-2") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("sshx" (tramp-login-program "ssh") (tramp-login-args (("-l" "%u") ("-p" "%p") ("-e" "none") ("-t" "-t") ("%h") ("/bin/sh"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") ("-o" "UserKnownHostsFile=/dev/null") ("-o" "StrictHostKeyChecking=no"))) (tramp-default-port 22)) ("telnet" (tramp-login-program "telnet") (tramp-login-args (("%h") ("%p"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-default-port 23)) ("su" (tramp-login-program "su") (tramp-login-args (("-") ("%u"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("sudo" (tramp-login-program "sudo") (tramp-login-args (("-u" "%u") ("-s") ("-H") ("-p" "Password:"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("ksu" (tramp-login-program "ksu") (tramp-login-args (("%u") ("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("krlogin" (tramp-login-program "krlogin") (tramp-login-args (("%h") ("-l" "%u") ("-x"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("plink" (tramp-login-program "plink") (tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%h"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-default-port 22)) ("plink1" (tramp-login-program "plink") (tramp-login-args (("-l" "%u") ("-P" "%p") ("-1" "-ssh") ("%h"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-default-port 22)) "plinkx" (tramp-login-program "plink") tramp-login-args ("-load") ("%h") ("-t") format "env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'" (("/bin/sh")) ((tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))) ("pscp" (tramp-login-program "plink") (tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%h"))) (tramp-remote-shell "/bin/sh") (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) (tramp-default-port 22)) ("psftp" (tramp-login-program "plink") (tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%h"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "pscp") (tramp-copy-args (("-l" "%u") ("-P" "%p") ("-sftp") ("-p" "%k") ("-q") ("-r"))) (tramp-copy-keep-date t) (tramp-copy-recursive t)) ("fcp" (tramp-login-program "fsh") (tramp-login-args (("%h") ("-l" "%u") ("sh" "-i"))) (tramp-remote-shell "/bin/sh") (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 "\\`\\(?:ksu\\|su\\(?:do\\)?\\)\\'" (nil "root") "\\`\\(?:fcp\\|krlogin\\|r\\(?:cp\\|emcp\\|sh\\)\\|telnet\\)\\'" nil user-login-name] 13) #@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")) (#$ . 11272)) #@71 Default list of (FUNCTION FILE) pairs to be examined for ssh methods. (defconst tramp-completion-function-alist-ssh '((tramp-parse-rhosts "/etc/hosts.equiv") (tramp-parse-rhosts "/etc/shosts.equiv") (tramp-parse-shosts "/etc/ssh_known_hosts") (tramp-parse-sconfig "/etc/ssh_config") (tramp-parse-shostkeys "/etc/ssh2/hostkeys") (tramp-parse-sknownhosts "/etc/ssh2/knownhosts") (tramp-parse-rhosts "~/.rhosts") (tramp-parse-rhosts "~/.shosts") (tramp-parse-shosts "~/.ssh/known_hosts") (tramp-parse-sconfig "~/.ssh/config") (tramp-parse-shostkeys "~/.ssh2/hostkeys") (tramp-parse-sknownhosts "~/.ssh2/knownhosts")) (#$ . 11484)) #@74 Default list of (FUNCTION FILE) pairs to be examined for telnet methods. (defconst tramp-completion-function-alist-telnet '((tramp-parse-hosts "/etc/hosts")) (#$ . 12118)) #@70 Default list of (FUNCTION FILE) pairs to be examined for su methods. (defconst tramp-completion-function-alist-su '((tramp-parse-passwd "/etc/passwd")) (#$ . 12296)) #@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) (#$ . 12468)) (byte-code "\300\301\302\"\210\303\304\305\306\307\301\310\311&\210\303\312\313\314\307\301\310\315&\210\303\316\317\320\307\301\310\321\322N\203, \323\202- \324&\207" [eval-after-load tramp (progn (tramp-set-completion-function "rcp" tramp-completion-function-alist-rsh) (tramp-set-completion-function "remcp" tramp-completion-function-alist-rsh) (tramp-set-completion-function "scp" tramp-completion-function-alist-ssh) (tramp-set-completion-function "scp1" tramp-completion-function-alist-ssh) (tramp-set-completion-function "scp2" tramp-completion-function-alist-ssh) (tramp-set-completion-function "scpc" tramp-completion-function-alist-ssh) (tramp-set-completion-function "scpx" tramp-completion-function-alist-ssh) (tramp-set-completion-function "sftp" tramp-completion-function-alist-ssh) (tramp-set-completion-function "rsync" tramp-completion-function-alist-ssh) (tramp-set-completion-function "rsyncc" tramp-completion-function-alist-ssh) (tramp-set-completion-function "rsh" tramp-completion-function-alist-rsh) (tramp-set-completion-function "remsh" tramp-completion-function-alist-rsh) (tramp-set-completion-function "ssh" tramp-completion-function-alist-ssh) (tramp-set-completion-function "ssh1" tramp-completion-function-alist-ssh) (tramp-set-completion-function "ssh2" tramp-completion-function-alist-ssh) (tramp-set-completion-function "ssh1_old" tramp-completion-function-alist-ssh) (tramp-set-completion-function "ssh2_old" tramp-completion-function-alist-ssh) (tramp-set-completion-function "sshx" tramp-completion-function-alist-ssh) (tramp-set-completion-function "telnet" tramp-completion-function-alist-telnet) (tramp-set-completion-function "su" tramp-completion-function-alist-su) (tramp-set-completion-function "sudo" tramp-completion-function-alist-su) (tramp-set-completion-function "ksu" tramp-completion-function-alist-su) (tramp-set-completion-function "krlogin" tramp-completion-function-alist-rsh) (tramp-set-completion-function "plink" tramp-completion-function-alist-ssh) (tramp-set-completion-function "plink1" tramp-completion-function-alist-ssh) (tramp-set-completion-function "plinkx" tramp-completion-function-alist-putty) (tramp-set-completion-function "pscp" tramp-completion-function-alist-ssh) (tramp-set-completion-function "fcp" tramp-completion-function-alist-ssh)) custom-declare-variable tramp-remote-path '(tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin") "List of directories to search for executables on remote host.\nFor every remote host, this variable will be set buffer local,\nkeeping the list of existing directories on that host.\n\nYou can use `~' in this list, but when searching for a shell which groks\ntilde expansion, all directory names starting with `~' will be ignored.\n\n`Default Directories' represent the list of directories given by\nthe command \"getconf PATH\". It is recommended to use this\nentry on top of this list, because these are the default\ndirectories for POSIX compatible commands. On remote hosts which\ndo not offer the getconf command (like cygwin), the value\n\"/bin:/usr/bin\" is used instead of.\n\n`Private Directories' are the settings of the $PATH environment,\nas given in your `~/.profile'." :group :type (repeat (choice (const :tag "Default Directories" tramp-default-remote-path) (const :tag "Private Directories" tramp-own-remote-path) (string :tag "Directory"))) tramp-remote-process-environment `("HISTFILE=$HOME/.tramp_history" "HISTSIZE=1" "LC_ALL=C" ,(format "TERM=%s" tramp-terminal-type) "EMACS=t" ,(format "INSIDE_EMACS='%s,tramp:%s'" emacs-version tramp-version) "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=\"\"" "autocorrect=" "correct=") "List of environment variables to be set on the remote host.\n\nEach element should be a string of the form ENVVARNAME=VALUE. An\nentry ENVVARNAME= disables the corresponding environment variable,\nwhich might have been set in the init files like ~/.profile.\n\nSpecial handling is applied to the PATH environment, which should\nnot be set here. Instead, it should be set via `tramp-remote-path'." (repeat string) tramp-sh-extra-args '(("/bash\\'" . "-norc -noprofile")) "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.\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." alist widget-type (alist :key-type string :value-type string) (repeat (cons string string))] 9) #@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-process-alive-regexp tramp-action-process-alive)) (#$ . 17621)) #@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)) (#$ . 18604)) #@219 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. (defconst tramp-uudecode "(echo begin 600 /tmp/tramp.$$; tail +2) | uudecode\ncat /tmp/tramp.$$\nrm -f /tmp/tramp.$$" (#$ . 19037)) #@230 Perl script to produce output suitable for use with `file-truename' on the remote file system. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-file-truename "%s -e '\nuse File::Spec;\nuse Cwd \"realpath\";\n\nsub recursive {\n my ($volume, @dirs) = @_;\n my $real = realpath(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 = realpath($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\nif ($ARGV[0] =~ /\\/$/) {\n $result = $result . \"/\";\n}\n\nprint \"\\\"$result\\\"\\n\";\n' \"$1\" 2>/dev/null" (#$ . 19394)) #@244 Perl script to produce output suitable for use with `file-name-all-completions' on the remote file system. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-file-name-all-completions "%s -e 'sub case {\n my $str = shift;\n if ($ARGV[2]) {\n return lc($str);\n }\n else {\n return $str;\n }\n}\nopendir(d, $ARGV[0]) || die(\"$ARGV[0]: $!\\nfail\\n\");\n@files = readdir(d); closedir(d);\nforeach $f (@files) {\n if (case(substr($f, 0, length($ARGV[1]))) eq case($ARGV[1])) {\n if (-d \"$ARGV[0]/$f\") {\n print \"$f/\\n\";\n }\n else {\n print \"$f\\n\";\n }\n }\n}\nprint \"ok\\n\"\n' \"$1\" \"$2\" \"$3\" 2>/dev/null" (#$ . 20572)) #@232 Perl script to produce output suitable for use with `file-attributes' on the remote file system. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-file-attributes "%s -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 = \"\\\"$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.0 %%u t (%%u . %%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] >> 16 & 0xffff,\n $stat[1] & 0xffff\n);' \"$1\" \"$2\" 2>/dev/null" (#$ . 21329)) #@216 Perl script implementing `directory-files-attributes' as Lisp `read'able output. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-directory-files-and-attributes "%s -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 = \"\\\"$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 printf(\n \"(\\\"%%s\\\" %%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u.0 %%u t (%%u . %%u) (%%u . %%u))\\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] >> 16 & 0xffff,\n $stat[1] & 0xffff,\n $stat[0] >> 16 & 0xffff,\n $stat[0] & 0xffff);\n}\nprintf(\")\\n\");' \"$1\" \"$2\" 2>/dev/null" (#$ . 22519)) #@270 Perl program to use for encoding a file. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. This implementation requires the MIME::Base64 Perl module to be installed on the remote host. (defconst tramp-perl-encode-with-module "%s -MMIME::Base64 -0777 -ne 'print encode_base64($_)' 2>/dev/null" (#$ . 24225)) #@270 Perl program to use for decoding a file. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. This implementation requires the MIME::Base64 Perl module to be installed on the remote host. (defconst tramp-perl-decode-with-module "%s -MMIME::Base64 -0777 -ne 'print decode_base64($_)' 2>/dev/null" (#$ . 24623)) #@176 Perl program to use for encoding a file. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-encode "%s -e '\n# This script contributed by Juanma Barranquero <lektu@terra.es>.\n# Copyright (C) 2002-2013 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 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}' 2>/dev/null" (#$ . 25021)) #@176 Perl program to use for decoding a file. Escape sequence %s is replaced with name of Perl binary. This string is passed to `format', so percent characters need to be doubled. (defconst tramp-perl-decode "%s -e '\n# This script contributed by Juanma Barranquero <lektu@terra.es>.\n# Copyright (C) 2002-2013 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 = <STDIN>) {\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}' 2>/dev/null" (#$ . 26309)) #@251 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. (defconst tramp-vc-registered-read-file-names "echo \"(\"\nwhile read file; do\n if %s \"$file\"; then\n echo \"(\\\"$file\\\" \\\"file-exists-p\\\" t)\"\n else\n echo \"(\\\"$file\\\" \\\"file-exists-p\\\" nil)\"\n fi\n if %s \"$file\"; then\n echo \"(\\\"$file\\\" \\\"file-readable-p\\\" t)\"\n else\n echo \"(\\\"$file\\\" \\\"file-readable-p\\\" nil)\"\n fi\ndone\necho \")\"" (#$ . 27762)) #@118 A list of file types returned from the `stat' system call. This is used to map a mode number to a permission string. (defconst tramp-file-mode-type-map '((0 . "-") (1 . "p") (2 . "c") (3 . "m") (4 . "d") (5 . "?") (6 . "b") (7 . "?") (8 . "-") (9 . "n") (10 . "l") (11 . "?") (12 . "s") (13 . "D") (14 . "w")) (#$ . 28433)) #@106 Alist of handler functions. Operations not mentioned here will be handled by the normal Emacs functions. (defconst tramp-sh-file-name-handler-alist '((load . tramp-handle-load) (make-symbolic-link . tramp-sh-handle-make-symbolic-link) (file-name-as-directory . tramp-handle-file-name-as-directory) (file-name-directory . tramp-handle-file-name-directory) (file-name-nondirectory . tramp-handle-file-name-nondirectory) (file-truename . tramp-sh-handle-file-truename) (file-exists-p . tramp-sh-handle-file-exists-p) (file-directory-p . tramp-sh-handle-file-directory-p) (file-executable-p . tramp-sh-handle-file-executable-p) (file-readable-p . tramp-sh-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-symlink-p . tramp-handle-file-symlink-p) (file-writable-p . tramp-sh-handle-file-writable-p) (file-ownership-preserved-p . tramp-sh-handle-file-ownership-preserved-p) (file-newer-than-file-p . tramp-sh-handle-file-newer-than-file-p) (file-attributes . tramp-sh-handle-file-attributes) (file-modes . tramp-handle-file-modes) (directory-files . tramp-handle-directory-files) (directory-files-and-attributes . tramp-sh-handle-directory-files-and-attributes) (file-name-all-completions . tramp-sh-handle-file-name-all-completions) (file-name-completion . tramp-handle-file-name-completion) (add-name-to-file . tramp-sh-handle-add-name-to-file) (copy-file . tramp-sh-handle-copy-file) (copy-directory . tramp-sh-handle-copy-directory) (rename-file . tramp-sh-handle-rename-file) (set-file-modes . tramp-sh-handle-set-file-modes) (set-file-times . tramp-sh-handle-set-file-times) (make-directory . tramp-sh-handle-make-directory) (delete-directory . tramp-sh-handle-delete-directory) (delete-file . tramp-sh-handle-delete-file) (directory-file-name . tramp-handle-directory-file-name) (executable-find . tramp-sh-handle-executable-find) (start-file-process . tramp-sh-handle-start-file-process) (process-file . tramp-sh-handle-process-file) (shell-command . tramp-handle-shell-command) (insert-directory . tramp-sh-handle-insert-directory) (expand-file-name . tramp-sh-handle-expand-file-name) (substitute-in-file-name . tramp-handle-substitute-in-file-name) (file-local-copy . tramp-sh-handle-file-local-copy) (file-remote-p . tramp-handle-file-remote-p) (insert-file-contents . tramp-handle-insert-file-contents) (insert-file-contents-literally . tramp-sh-handle-insert-file-contents-literally) (write-region . tramp-sh-handle-write-region) (find-backup-file-name . tramp-handle-find-backup-file-name) (make-auto-save-file-name . tramp-sh-handle-make-auto-save-file-name) (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) (dired-compress-file . tramp-sh-handle-dired-compress-file) (dired-recursive-delete-directory . tramp-sh-handle-dired-recursive-delete-directory) (dired-uncache . tramp-handle-dired-uncache) (set-visited-file-modtime . tramp-sh-handle-set-visited-file-modtime) (verify-visited-file-modtime . tramp-sh-handle-verify-visited-file-modtime) (file-selinux-context . tramp-sh-handle-file-selinux-context) (set-file-selinux-context . tramp-sh-handle-set-file-selinux-context) (vc-registered . tramp-sh-handle-vc-registered)) (#$ . 28764)) (add-to-list 'tramp-foreign-file-name-handler-alist '(identity . tramp-sh-file-name-handler) 'append) #@472 Like `make-symbolic-link' for Tramp files. If LINKNAME is a non-Tramp file, it is used verbatim as the target of the symlink. If LINKNAME is a Tramp file, only the localname component is used as the target of the symlink. If LINKNAME is a Tramp file and the localname component is relative, then it is expanded first, before the localname component is taken. Note that this can give surprising results if the user/host for the source and target of the symlink differ. (defalias 'tramp-sh-handle-make-symbolic-link #[(filename linkname &optional ok-if-already-exists) "\306!\307 !\310 !\311 !\312 !\313 !*\314 !\315\316 C\"+\211,\204h \317\320\321-./\3210/\322\323\324\211\325N\326\327.-#E!C-.1/\321\330\331\217\210,\332\326\327.-#C\"\210-\333!\203\311 2\203\202 2\247\203\305 \334\327\335 \"!\204\305 \336\337 C-./\3210/\322\323\324\211\325N\326\327.-#E!C-.1/\321\340\341\217\210,\332\326\327.-#C\"\210-\202\311 \342!\210\3433!\203\332 \312\306\3443!!!3\345 \316 !\"\210\345 \"\210\346 \327\347\350+!,\3503!\350 !%\351#.\207" [linkname l l-method l-user l-host l-localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-get-remote-ln tramp-run-real-handler file-name-directory file-error "Making a symbolic link. ln(1) does not exist on the remote host." nil 1 "%s" error-message-string error-message apply format (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1="" 1 2 #2="Warning: " #3="Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4="(%d) # " vec-or-proc default-directory] 6) ((error)) signal file-exists-p yes-or-no-p "File %s already exists; make it a link anyway? " file-already-exists "File %s already exists" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) delete-file tramp-tramp-file-p expand-file-name tramp-flush-file-property tramp-send-command-and-check "cd %s && %s -sf %s %s" tramp-shell-quote-argument t l-hop cwd ln args fmt-string vec-or-proc tramp-message-show-message level ok-if-already-exists filename] 11 (#$ . 32079)]) #@39 Like `file-truename' for Tramp files. (defalias 'tramp-sh-handle-file-truename #[(filename &optional counter prev-dirs) "\306\307!!\310 !\311 !\312 !\313 !\314 !@\315\n\f\316 !\203\265\317 \320\321$\211A\321=\203\257\322B \323\324CCDEF\322\325\326\217\210,\327 !\203` \330 \331\332\327 !\333 !#\"B\202\205\334 !\203\213 \335 \336\322#\203\213 \335 \337\322#\203\213 \340 G\341#\210\330 \331\342\333 !\"\"B\202\205\343H\344 \345\"I\346\347 C\"J J\230K\322L\350M\351N\322OI\203\352MNW\203\352I\211AI@L \352\353\354\355\356\357\360B!LC#\345#CCDEF\322\361\362\217\210,\363\315\n\f\354\355\356\364\360B!LC#\345#$!@OL\365\230\203 \352\366\322CDEF\322\367\370\217\210,\202\255 L\371\230\203; \352\372\322CDEF\322\373\374\217\210,B\211AB@\210\202\255 O;\203\340 \352\375OCCDEF\322\376\377\217\210,MTM\316O!\203d\322B\201R O!\203\321\201S O\"\204\316 \201T \201U OCCDPF\322QF\201V \201W \201X P\211\201Y N\201Z \331DC#E!CCDEF\322\201[ \201\\ \217\210,\201P P\201Z \331DC#C\"\210- O\356\344O\345\"I\"\211I\202\257 LBBB\202\255 MNY\203I \201T \201] NCCDPF\322QF\201V \201W \201X P\211\201Y N\201Z \331DC#E!CCDEF\322\201^ \201_ \217\210,\201P P\201Z \331DC#C\"\210-\360B!\211B\203`\354\355\201` BB\345#\202a\345BK\203\203B\201` \230\204}B\201a \322O\345\230\204\203B\345PB. \323\201b BDCDEF\322\201c \201d \217\210,B)A\201e \320A$\210A)\2029\322B \323\324CCDEF\322\201f \201g \217\210,\327 !\203\346\330 \331\332\327 !\333 !#\"B\202\334 !\203\335 \336\322#\203\335 \337\322#\203\340 G\341#\210\330 \331\342\333 !\"\"B\202\343H\344 \345\"I\346\347 C\"J J\230K\322L\350M\351N\322OI\203\200MNW\203\200I\211AI@L \352\353\354\355\356\357\360B!LC#\345#CCDEF\322\201h \201i \217\210,\363\315\n\f\354\355\356\364\360B!LC#\345#$!@OL\365\230\203\245 \352\366\322CDEF\322\201j \201k \217\210,\2023L\371\230\203\315 \352\372\322CDEF\322\201l \201m \217\210,B\211AB@\210\2023O;\203v \352\375OCCDEF\322\201n \201o \217\210,MTM\316O!\203\372\322B\201R O!\203g\201S O\"\204d \201T \201U OCCDPF\322QF\201V \201W \201X P\211\201Y N\201Z \331DC#E!CCDEF\322\201p \201q \217\210,\201P P\201Z \331DC#C\"\210- O\356\344O\345\"I\"\211I\2025LBBB\2023MNY\203\337 \201T \201] NCCDPF\322QF\201V \201W \201X P\211\201Y N\201Z \331DC#E!CCDEF\322\201r \201s \217\210,\201P P\201Z \331DC#C\"\210-\360B!\211B\203\366\354\355\201` BB\345#\202\367\345BK\203B\201` \230\204B\201a \322O\345\230\204B\345PB. \323\201b BDCDEF\322\201t \201u \217\210,B)$.\207" [filename v method user host localname tramp-dissect-file-name expand-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-make-tramp-file-name file-name-absolute-p tramp-get-file-property "file-truename" undef nil 4 "Finding true name for `%s'" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1="" 1 2 #2="Warning: " #3="Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4="(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-get-remote-readlink tramp-send-command-and-read format "echo \"\\\"`%s --canonicalize-missing %s`\\\"\"" tramp-shell-quote-argument tramp-get-remote-perl tramp-get-connection-property "perl-file-spec" "perl-cwd-realpath" tramp-maybe-send-script "tramp_perl_file_truename" "tramp_perl_file_truename %s" 47 tramp-compat-split-string "/" tramp-run-real-handler file-name-as-directory 0 20 5 "Check %s" mapconcat identity append (#1#) reverse (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) file-attributes (#1#) "." "Ignoring step `.'" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) ".." "Processing step `..'" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) "Follow symlink to %s" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) hop value result args fmt-string level vec-or-proc tramp-perl-file-truename directory-sep-char steps localnamedir is-dir thisstep numchase numchase-limit symlink-target signal tramp-message-show-message tramp-tramp-file-p tramp-equal-remote file-error "Symlink target `%s' on wrong host" 1 "%s" error-message-string error-message apply (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) "Maximum number (%d) of symlinks exceeded" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) #1# -1 "True name of `%s' is `%s'" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) tramp-set-file-property (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error))] 16 (#$ . 35280)]) #@39 Like `file-exists-p' for Tramp files. (defalias 'tramp-sh-handle-file-exists-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 !\203_ \315 \316\317$\211\317=\203Y \315 \320\321$??\206O \315 \322\321$??\206O \323 \324\325\326 !\327 !#\"\330 \316$\210)\202\201 \315 \320\321$??\206\201 \315 \322\321$??\206\201 \323 \324\325\326 !\327 !#\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-exists-p" undef "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 hop value] 8 (#$ . 49623)]) #@41 Like `file-attributes' for Tramp files. (defalias 'tramp-sh-handle-file-attributes #[(filename &optional id-format) "\204 \306 \307\310\n!!\311!\312!\313!\314!\315!\316!\203 \317\320\321\"\322$\211\322=\203y \212\323\324!\203P \325#\202` \326!\203_ \327#\202` \330\206i \331#\")\332\320\321\"$\210)\202\254 \212\323\324!\203\221 \325#\202\241 \326!\203\240 \327#\202\241 \330\206\252 \331#\").\207" [id-format last-coding-system-used filename v method user integer tramp-dissect-file-name expand-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property format "file-attributes-%s" undef 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 host localname hop value] 7 (#$ . 50451)]) #@70 Implement `file-attributes' for Tramp files using the ls(1) command. (defalias 'tramp-do-file-attributes-with-ls #[(vec localname &optional id-format) "\306\211\211\211\211\211\211\211\211'()*\307\310+C,-./\306\311\312\217\210,\313*\314\315\316*!\317+!\320*!\317+!\321*!0\322=\203N \323\202O \324\317+!&\"\210r\325*!q\210\326 \327V\205\336 eb\210\330\331\332\217'\333\334p!!\334p!\334p!\334p!0\322=\203\230 \247\204\216 \335\n\247\204\252 \335\202\252 ;\204\241 \333!\n;\204\252 \333\n!\334p! \327H\336=) \327H\337=()\203\312 \340\341!\210`\342 {(\206\320 \f\n\343\344\345 \346'\335\257\f.\n\207" [res-symlink-target res-size res-gid res-uid res-numlinks res-filemodes nil 5 "file attributes with ls: %s" (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format "(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-send-command format "(%s %s || %s -h %s) && %s %s %s" tramp-get-file-exists-command tramp-shell-quote-argument tramp-get-test-command tramp-get-ls-command integer "-ildn" "-ild" tramp-get-buffer buffer-size 0 err (byte-code "\300p!\207" [read] 2) ((invalid-read-syntax (byte-code "\211A@)\305\232\205A \306\307\211AA)@\"\205A \310\211AA)@\311\312\224O!\310\313\312\211AA)@\"!\211\314\245\n\f\\\f\314_Z+B\207" [err x big small twiddle "Integer constant overflow in reader" string-match "^[0-9]+\\([0-9][0-9][0-9][0-9][0-9]\\)\\'" read 0 1 match-string 65536] 5))) symbol-name read -1 108 100 search-forward "-> " point-at-eol (0 0) (0 0) (0 0) t res-inode dirp symlinkp vec localname args fmt-string level vec-or-proc id-format] 12 (#$ . 51469)]) #@66 Implement `file-attributes' for Tramp files using a Perl script. (defalias 'tramp-do-file-attributes-with-perl #[(vec localname &optional id-format) "\306\307 C\310\311\312\217\210,\313\314#\210\315\316\317\320 !#\"\207" [vec localname args fmt-string level vec-or-proc 5 "file attributes with perl: %s" nil (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format "(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-maybe-send-script "tramp_perl_file_attributes" tramp-send-command-and-read format "tramp_perl_file_attributes %s %s" tramp-shell-quote-argument tramp-perl-file-attributes id-format] 6 (#$ . 53653)]) #@68 Implement `file-attributes' for Tramp files using stat(1) command. (defalias 'tramp-do-file-attributes-with-stat #[(vec localname &optional id-format) "\306\307 C\310\311\312\217\210,\313\314\315\316!\317 !\320!\317 !\321!\322=\203- \323\202. \324\322=\2039 \325\202: \326\317 !& \"\207" [vec localname args fmt-string level vec-or-proc 5 "file attributes with stat: %s" nil (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format "(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-send-command-and-read format "( (%s %s || %s -h %s) && %s -c '((\"%%N\") %%h %s %s %%Xe0 %%Ye0 %%Ze0 %%se0 \"%%A\" t %%ie0 -1)' %s || echo nil)" tramp-get-file-exists-command tramp-shell-quote-argument tramp-get-test-command tramp-get-remote-stat integer "%ue0" "\"%U\"" "%ge0" "\"%G\"" id-format] 13 (#$ . 54844)]) #@50 Like `set-visited-file-modtime' for Tramp files. (defalias 'tramp-sh-handle-set-visited-file-modtime #[(&optional time-list) "\306 \204 \307\310\311 \"\210\203 \312\313C\"\207\306 \314\315\n!\316!\317!\320! \321!!\322!\"\323\n!#\324#8\206B \325$\326\327!\203M \327J$\330\232\204^ \312\313$C\"\210\202} \331\332\333\334!\335!!#\"\210`\314\210`{#\336!\337#$\210\326\327!\203\206 .\n\314\207" [time-list coding-system-used f v method user 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 tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-attributes 5 (-1 65535) boundp last-coding-system-used (0 0) tramp-send-command format "%s -ild %s" tramp-get-ls-command tramp-shell-quote-argument tramp-set-file-property "visited-file-modtime-ild" host localname hop attr modtime] 7 (#$ . 56221)]) #@305 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. (defalias 'tramp-sh-handle-verify-visited-file-modtime #[(buf) "rq\210\306 \211\203 \307 \310=\204 \311\312 \313\314$\204 \315\202\252 \316 !\317\n!\320\n!\321\n!\322\n!$\323\n!%\315&\324 !'\325'8(\307 )'\203u (\326\232\204u \327\330()A:\204l )@)AD\202n )\"!\331W\202\250 '\203\244 \332\n\333\334\335\n!\336$!#\"\210r\337\n!q\210`\313\210`{')'\340\n$\341\342$\232\202\250 )\343\232.\n*\207" [buf f v method user host buffer-file-name visited-file-modtime 0 tramp-file-name-handler file-remote-p nil connected t tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-attributes 5 (0 0) abs tramp-time-diff 2 tramp-send-command format "%s -ild %s" tramp-get-ls-command tramp-shell-quote-argument tramp-get-buffer tramp-get-file-property "visited-file-modtime-ild" "" (-1 65535) localname hop remote-file-name-inhibit-cache attr modtime mt] 8 (#$ . 57240)]) #@40 Like `set-file-modes' for Tramp files. (defalias 'tramp-sh-handle-set-file-modes #[(filename mode) "\306!\307 !\310 !\311 !\312 !\313 !\314 \"\210\315 \316\317\320!\321 !#\322$.\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-flush-file-property tramp-barf-unless-okay format "chmod %s %s" tramp-compat-decimal-to-octal tramp-shell-quote-argument "Error while changing file's mode %s" hop mode] 7 (#$ . 58520)]) #@40 Like `set-file-times' for Tramp files. (defalias 'tramp-sh-handle-set-file-times #[(filename &optional time) "\306!\203e \307!\310 !\311 !\312 !\313 !\314 !\315 \"\210\2030 \316\232\2035 \317 \2027 \320 \321 \322\323 \203I \324\202J \325 \203X \326\327\320#\202] \326\327\"\330 !$\".\207\331\332\333\334\211\211\335\326\327\"\330!&!\207" [filename v method user host localname file-remote-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-flush-file-property (0 0) current-time t tramp-send-command-and-check format "%s touch -t %s %s" "TZ=UTC; export TZ;" "" format-time-string "%Y%m%d%H%M.%S" tramp-shell-quote-argument zerop tramp-compat-call-process "touch" nil "-t" hop time utc] 10 (#$ . 59088)]) #@191 Set the ownership for FILENAME. If UID and GID are provided, these values are used; otherwise uid and gid of the corresponding user is taken. Both parameters must be non-negative integers. (defalias 'tramp-set-file-uid-gid #[(filename &optional uid gid) "\306 !\203r \307 !\310\n!\311\n!\312\n!\313\n!\314\n! \315\316 !\203: \317\n!\203: \320!\"#\202m \321!!\203F !\206J \322\n\323\"\321\"!\203V \"\206Z \324\n\323\"\"!\325\n\326\327!\"\330!$\"*.\202\246 \321!!\203~ !\206\201 \331\323!\321\"!\203\215 \"\206\220 \332\323!\"!\333\334\335\211\211\326\336!\"#\330 !&*)\207" [last-coding-system-used filename v method user host file-remote-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop zerop user-uid 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 tramp-get-local-uid tramp-get-local-gid tramp-compat-call-process "chown" nil "%d:%d" localname hop uid gid] 9 (#$ . 59921)]) #@55 Check, whether SELINUX is enabled on the remote host. (defalias 'tramp-remote-selinux-p #[(vec) "\303\304!\305\306#\211\306=\203/ \307\310\311!\312\211%\211\205% \313\314\315\n\"\"\316\230)\317\304!\305 #\210 )\207" [vec value result tramp-get-connection-property tramp-get-connection-process "selinux-p" undef tramp-find-executable "getenforce" tramp-get-remote-path t tramp-send-command-and-read format "echo \\\"`%S`\\\"" "Enforcing" tramp-set-connection-property] 7 (#$ . 61046)]) #@46 Like `file-selinux-context' for Tramp files. (defalias 'tramp-sh-handle-file-selinux-context #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\"\314 !\203~ \315 \316\317$\211#\317=\203x \320\321$%\322 !\203k \323 \324\325\326 !\327 !#\"\203k r\330 !q\210eb\210\331$\332 \333#\203j \334\335!\334\336!\334\337!\334\340!F%)%*#\341 \316#$\210#)\202\277 \320\321$%\322 !\203\274 \323 \324\325\326 !\327 !#\"\203\274 r\330 !q\210eb\210\331$\332 \333#\203\273 \334\335!\334\336!\334\337!\334\340!F%)%*.\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-selinux-context" undef (nil nil nil nil) "\\([a-z0-9_]+\\):\\([a-z0-9_]+\\):\\([a-z0-9_]+\\):\\([a-z0-9_]+\\)" 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 point-at-eol t match-string 1 2 3 4 tramp-set-file-property hop value regexp context] 8 (#$ . 61545)]) #@50 Like `set-file-selinux-context' for Tramp files. (defalias 'tramp-sh-handle-set-file-selinux-context #[(filename context) "\306!\307 !\310 !\311 !\312 !\313 !:\203\207 \314 !\203\207 \315 \316\317@;\2039 \316\320@\"\202: \321A@;\203L \316\322A@\"\202M \321\3238;\203_ \316\324\3238\"\202` \321\3258;\203r \316\326\3258\"\202s \321\327 !&\"\203\207 \330 \331$\210\202\216 \330 \331\332$\210.\333\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-remote-selinux-p tramp-send-command-and-check format "chcon %s %s %s %s %s" "--user=%s" "" "--role=%s" 2 "--type=%s" 3 "--range=%s" tramp-shell-quote-argument tramp-set-file-property "file-selinux-context" undef nil hop context] 11 (#$ . 62682)]) #@43 Like `file-executable-p' for Tramp files. (defalias 'tramp-sh-handle-file-executable-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 !\203H \315 \316\317$\211\317=\203B \320 \321\"\2068 \322\323\"\324 \316$\210)\202S \320 \321\"\206S \322\323\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-executable-p" undef tramp-check-cached-permissions 120 tramp-run-test "-x" tramp-set-file-property hop value] 6 (#$ . 63547)]) #@41 Like `file-readable-p' for Tramp files. (defalias 'tramp-sh-handle-file-readable-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 !\203H \315 \316\317$\211\317=\203B \320 \321\"\2068 \322\323\"\324 \316$\210)\202S \320 \321\"\206S \322\323\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-readable-p" undef tramp-check-cached-permissions 114 tramp-run-test "-r" tramp-set-file-property hop value] 6 (#$ . 64185)]) #@48 Like `file-newer-than-file-p' for Tramp files. (defalias 'tramp-sh-handle-file-newer-than-file-p #[(file1 file2) "\306!\204 \307\207\306 !\204 \310\207\212\311!\311 !\3128\313\232\2046 \312\n8\314\232\2046 \315\316\312\n8\3128\"V\202\312 \317 \"\204\245 \320\321!\203H \202I !\322\f!\323\f!$\324\f!%\325\f!&\326\f!'\f\327\330 D()!*\307+*\331\332\333!\211\334N\335\336)(#E!C(),*\307\337\340\217\210,\341!\335\336)(#C\"\210.\320!\322\f!\323\f!$\324\f!%\325\f!&\326\f!'\342\343\f! #.+\207" [file1 file2 fa2 fa1 v method file-exists-p nil t file-attributes 5 (0 0) (0 0) 0 tramp-time-diff tramp-equal-remote tramp-dissect-file-name tramp-tramp-file-p tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-error "Files %s and %s must have same method, user, host" 1 "%s" error-message-string error-message apply format (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format "(%d) # " vec-or-proc default-directory] 6) ((error)) signal tramp-run-test2 tramp-get-test-nt-command user host localname hop args fmt-string vec-or-proc tramp-message-show-message level] 10 (#$ . 64817)]) #@42 Like `file-directory-p' for Tramp files. (defalias 'tramp-sh-handle-file-directory-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 G!\206L \315 !\203H \316 \317\320$\211\320=\203B \321\322\"\323 \317$\210)\202L \321\322\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop zerop file-name-absolute-p tramp-get-file-property "file-directory-p" undef tramp-run-test "-d" tramp-set-file-property hop value] 6 (#$ . 66558)]) #@41 Like `file-writable-p' for Tramp files. (defalias 'tramp-sh-handle-file-writable-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 !\203` \315 \316\317$\211\317=\203Z \320!\203A \321 \322\"\206P \323\324\"\202P \323\325\326!\"\205P \323\324\326!\"\327 \316$\210)\202\203 \320!\203t \321 \322\"\206\203 \323\324\"\202\203 \323\325\326!\"\205\203 \323\324\326!\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-writable-p" undef file-exists-p tramp-check-cached-permissions 119 tramp-run-test "-w" "-d" file-name-directory tramp-set-file-property hop value] 6 (#$ . 67143)]) #@52 Like `file-ownership-preserved-p' for Tramp files. (defalias 'tramp-sh-handle-file-ownership-preserved-p #[(filename) "\306!\307 !\310 !\311 !\312 !\313 !\314 !\203Q \315 \316\317$\211\317=\203K \320!\211?\206@ \3218\322 \323\"U)\324 \316$\210)\202e \320!\211?\206d \3218\322 \323\"U).\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property "file-ownership-preserved-p" undef file-attributes 2 tramp-get-remote-uid integer tramp-set-file-property hop value attributes] 6 (#$ . 67938)]) #@56 Like `directory-files-and-attributes' for Tramp files. (defalias 'tramp-sh-handle-directory-files-and-attributes #[(directory &optional full match nosort id-format) "\204 \306\307 !\205\351 \310 !\311\312 !\313\n!\314\n!\315\n!\316\n!!\317\n!\"\320!!\203x \321\n!\322\323\"\324$\211#\324=\203r \212\325\326\327\n!\203V \330\n!#\202b \331\n!\205b \332\n!#\")#\333\n!\322\323\"#$\210#)\202\230 \212\325\334\327\n!\203\212 \330\n!#\202\226 \331\n!\205\226 \332\n!#\").!$\335\211%&$\203\331 $\211A$@&'\203\300 \336'&@\"\203\243 (\203\317 &\310&@ \"\240\210&%B%\202\243 )\203\343 %\202\350 \337%\340\"+\207" [id-format directory v method user host integer file-directory-p expand-file-name copy-tree tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-name-absolute-p tramp-get-file-property format "directory-files-and-attributes-%s" undef mapcar #[#1=(x) "@\302 A\"B\207" [x v tramp-convert-file-attributes] 4] tramp-get-remote-stat tramp-do-directory-files-and-attributes-with-stat tramp-get-remote-perl tramp-do-directory-files-and-attributes-with-perl tramp-set-file-property #[#1# "@\302 A\"B\207" [x v tramp-convert-file-attributes] 4] nil string-match sort #[(x y) "@ @\231\207" [x y] 2] localname hop value temp result item match full nosort] 8 (#$ . 68628)]) #@81 Implement `directory-files-and-attributes' for Tramp files using a Perl script. (defalias 'tramp-do-directory-files-and-attributes-with-perl #[(vec localname &optional id-format) "\306\307 C\310\311\312\217\210,\313\314#\210\315\316\317\320 !#\"\211;\203\\ \321\310\310 \322\323\324\211\325N\326\316\n#E!C\310\327\330\217\210,\331\326\316\n#C\"\210-)\207" [vec localname args fmt-string level vec-or-proc 5 "directory-files-and-attributes with perl: %s" nil (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1="" 1 2 #2="Warning: " #3="Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4="(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-maybe-send-script "tramp_perl_directory_files_and_attributes" tramp-send-command-and-read format "tramp_perl_directory_files_and_attributes %s %s" tramp-shell-quote-argument file-error 1 "%s" error-message-string error-message apply (byte-code " X\203~ \306 \307\216\203; \310X\203; \311\312\313U\203! \314\2026 \315U\203+ \314\2026 \316U\2035 \317\2026 \320\fP #\210 \321Y\203} \203d \322!\203d \323\324!!\203d r\324!q\210\325!)\203} \326!\203} \311\327\330\331\"\fP $\210*\306\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 #1# 1 2 #2# #3# 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format #4# vec-or-proc default-directory] 6) ((error)) signal tramp-perl-directory-files-and-attributes id-format object tramp-message-show-message] 11 (#$ . 70038)]) #@83 Implement `directory-files-and-attributes' for Tramp files using stat(1) command. (defalias 'tramp-do-directory-files-and-attributes-with-stat #[(vec localname &optional id-format) "\306\307 C\310\311\312\217\210,\313\314\315\316 !\317!\320!\321=\203'