;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\311\313\314\315\316\317& \207" [require tramp-compat tramp-integration trampver cl-lib custom-declare-group tramp nil "Edit remote files with a combination of ssh, scp, etc." :group files comm :link (custom-manual "(tramp)Top") :version "22.1"] 12) #@46 Forms to be executed at the end of tramp.el. (defvar tramp--startup-hook nil (#$ . 425)) (put 'tramp--startup-hook 'tramp-suppress-trace t) #@71 Schedule BODY to be executed at the end of tramp.el. (fn &rest BODY) (defalias 'tramp--with-startup '(macro . #[128 "\300\301\302\303BBE\207" [add-hook 'tramp--startup-hook lambda nil] 6 (#$ . 571)])) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311%\210\302\312\304\305\313DD\314\310\315%\210\302\316\304\305\317DD\320\321\322\310\311&\210\302\323\304\305\324DD\325\310\326%\210\302\327\304\305\330DD\331\310\332%\210\302\333\304\305\334DD\335\310\336%\210\302\337\304\305\340DD\341\310\342%\210\302\343\304\305\344DD\345\321\346\310\347&\207" [require tramp-loaddefs custom-declare-variable tramp-mode funcall function #[0 "\300\207" [t] 1] "Whether Tramp is enabled.\nIf it is set to nil, all remote file names are used literally." :type boolean tramp-verbose #[0 "\300\207" [3] 1] "Verbosity level for Tramp messages.\nAny level x includes messages for all levels 1 .. x-1. The levels are\n\n 0 silent (no tramp messages at all)\n 1 errors\n 2 warnings\n 3 connection to remote hosts (default level)\n 4 activities\n 5 internal\n 6 sent and received strings\n 7 file caching\n 8 connection properties\n 9 test commands\n10 traces (huge)\n11 call traces (maintainer only)." integer tramp-debug-to-file #[0 "\300\207" [nil] 1] "Whether Tramp debug messages shall be saved to file.\nThe debug file has the same name as the debug buffer, written to\n`temporary-file-directory'." :version "28.1" tramp-backup-directory-alist #[0 "\300\207" [nil] 1] "Alist of filename patterns and backup directory names.\nEach element looks like (REGEXP . DIRECTORY), with the same meaning like\nin `backup-directory-alist'. If a Tramp file is backed up, and DIRECTORY\nis a local file name, the backup directory is prepended with Tramp file\nname prefix (method, user, host) of file.\n\n (setq tramp-backup-directory-alist backup-directory-alist)\n\ngives the same backup policy for Tramp files on their hosts like the\npolicy for local files." (repeat (cons (regexp :tag "Regexp matching filename") (directory :tag "Backup directory name"))) tramp-auto-save-directory #[0 "\300\207" [nil] 1] "Put auto-save files in this directory, if set.\nThe idea is to use a local directory so that auto-saving is faster.\nThis setting has precedence over `auto-save-file-name-transforms'." (choice (const :tag "Use default" nil) (directory :tag "Auto save directory name")) tramp-encoding-shell #[0 "\301\302\303!\203 \303 \206\304)\207" [shell-file-name nil functionp w32-shell-name "/bin/sh"] 2] "Use this program for encoding and decoding commands on the local host.\nThis shell is used to execute the encoding and decoding command on the\nlocal host, so if you want to use \"~\" in those commands, you should\nchoose a shell here which groks tilde expansion. \"/bin/sh\" normally\ndoes not understand tilde expansion.\n\nFor encoding and decoding, commands like the following are executed:\n\n /bin/sh -c COMMAND < INPUT > OUTPUT\n\nThis variable can be used to change the \"/bin/sh\" part. See the\nvariable `tramp-encoding-command-switch' for the \"-c\" part.\n\nIf the shell must be forced to be interactive, see\n`tramp-encoding-command-interactive'.\n\nNote that this variable is not used for remote commands. There are\nmechanisms in tramp.el which automatically determine the right shell to\nuse for the remote host." (file :must-match t) tramp-encoding-command-switch #[0 "\301\302\303!\203\303 \203\304\202\305)\207" [shell-file-name nil functionp w32-shell-dos-semantics "/c" "-c"] 2] "Use this switch together with `tramp-encoding-shell' for local commands.\nSee the variable `tramp-encoding-shell' for more information." string tramp-encoding-command-interactive #[0 "\301\302\303!\205\n\303 ?\205\304)\207" [shell-file-name nil functionp w32-shell-dos-semantics "-i"] 2] "Use this switch together with `tramp-encoding-shell' for interactive shells.\nSee the variable `tramp-encoding-shell' for more information." "24.1" (choice (const nil) string)] 8) #@43 The system name Tramp is running locally. (defconst tramp-system-name (byte-code "\300 \206\301\207" [system-name ""] 1) (#$ . 4570)) #@7433 Alist of methods for remote files. This is a list of entries of the form (NAME PARAM1 PARAM2 ...). Each NAME stands for a remote access method. Each PARAM is a pair of the form (KEY VALUE). The following KEYs are defined: * `tramp-remote-shell' This specifies the shell to use on the remote host. This MUST be a Bourne-like shell. It is normally not necessary to set this to any value other than "/bin/sh": Tramp wants to use a shell which groks tilde expansion, but it can search for it. Also note that "/bin/sh" exists on all Unixen, this might not be true for the value that you decide to use. You Have Been Warned. * `tramp-remote-shell-login' This specifies the arguments to let `tramp-remote-shell' run as a login shell. It defaults to ("-l"), but some shells, like ksh, require another argument. See `tramp-connection-properties' for a way to overwrite the default value. * `tramp-remote-shell-args' For implementation of `shell-command', this specifies the arguments to let `tramp-remote-shell' run a single command. * `tramp-login-program' This specifies the name of the program to use for logging in to the remote host. This may be the name of rsh or a workalike program, or the name of telnet or a workalike, or the name of su or a workalike. * `tramp-login-args' This specifies a list of lists of arguments to pass to the above mentioned program. You normally want to put each argument in an individual string, i.e. ("-a" "-b") rather than ("-a -b"). "%" followed by a letter are expanded in the arguments as follows: - "%h" is replaced by the host name - "%u" is replaced by the user name - "%p" is replaced by the port number - "%%" can be used to obtain a literal percent character. If a sub-list containing "%h", "%u" or "%p" is unchanged after expansion (i.e. no host, no user or no port were specified), that sublist is not used. For e.g. '(("-a" "-b") ("-l" "%u")) that means that ("-l" "%u") is used only if the user was specified, and it is thus effectively optional. Other expansions are: - "%l" is replaced by the login shell `tramp-remote-shell' and its parameters. - "%t" is replaced by the temporary file name produced with `tramp-make-tramp-temp-file'. - "%k" indicates the keep-date parameter of a program, if exists. - "%c" adds additional `tramp-ssh-controlmaster-options' options for the first hop. - "%n" expands to "2>/dev/null". - "%x" is replaced by the `tramp-scp-strict-file-name-checking' argument if it is supported. The existence of `tramp-login-args', combined with the absence of `tramp-copy-args', is an indication that the method is capable of multi-hops. * `tramp-async-args' When an asynchronous process is started, we know already that the connection works. Therefore, we can pass additional parameters to suppress diagnostic messages, in order not to tamper the process output. * `tramp-direct-async' Whether the method supports direct asynchronous processes. Until now, just "ssh"-based and "adb"-based methods do. * `tramp-copy-program' This specifies the name of the program to use for remotely copying the file; this might be the absolute filename of scp or the name of a workalike program. It is always applied on the local host. * `tramp-copy-args' This specifies the list of parameters to pass to the above mentioned program, the hints for `tramp-login-args' also apply here. * `tramp-copy-env' A list of environment variables and their values, which will be set when calling `tramp-copy-program'. * `tramp-remote-copy-program' The listener program to be applied on remote side, if needed. * `tramp-remote-copy-args' The list of parameters to pass to the listener program, the hints for `tramp-login-args' also apply here. Additionally, "%r" could be used here and in `tramp-copy-args'. It denotes a randomly chosen port for the remote listener. * `tramp-copy-keep-date' This specifies whether the copying program when the preserves the timestamp of the original file. * `tramp-copy-keep-tmpfile' This specifies whether a temporary local file shall be kept for optimization reasons (useful for "rsync" methods). * `tramp-copy-recursive' Whether the operation copies directories recursively. * `tramp-default-port' The default port of a method. * `tramp-tmpdir' A directory on the remote host for temporary files. If not specified, "/tmp" is taken as default. * `tramp-connection-timeout' This is the maximum time to be spent for establishing a connection. In general, the global default value shall be used, but for some methods, like "su" or "sudo", a shorter timeout might be desirable. * `tramp-session-timeout' How long a Tramp connection keeps open before being disconnected. This is useful for methods like "su" or "sudo", which shouldn't run an open connection in the background forever. * `tramp-case-insensitive' Whether the remote file system handles file names case insensitive. Only a non-nil value counts, the default value nil means to perform further checks on the remote host. See `tramp-connection-properties' for a way to overwrite this. * `tramp-mount-args' * `tramp-copyto-args' * `tramp-moveto-args' * `tramp-about-args' These parameters, a list of list like `tramp-login-args', are used for the "rclone" method, and are appended to the respective "rclone" commands. In general, they shouldn't be changed inside `tramp-methods'; it is recommended to change their values via `tramp-connection-properties'. Unlike `tramp-login-args' there is no pattern replacement. What does all this mean? Well, you should specify `tramp-login-program' for all methods; this program is used to log in to the remote site. Then, there are two ways to actually transfer the files between the local and the remote side. One way is using an additional scp-like program. If you want to do this, set `tramp-copy-program' in the method. Another possibility for file transfer is inline transfer, i.e. the file is passed through the same buffer used by `tramp-login-program'. In this case, the file contents need to be protected since the `tramp-login-program' might use escape codes or the connection might not be eight-bit clean. Therefore, file contents are encoded for transit. See the variables `tramp-local-coding-commands' and `tramp-remote-coding-commands' for details. So, to summarize: if the method is an out-of-band method, then you must specify `tramp-copy-program' and `tramp-copy-args'. If it is an inline method, then these two parameters should be nil. Notes: All these arguments can be overwritten by connection properties. See Info node `(tramp) Predefined connection information'. When using `su', `sudo' or `doas' the phrase "open connection to a remote host" sounds strange, but it is used nevertheless, for consistency. No connection is opened to a remote host, but `su', `sudo' or `doas' is started on the local host. You should specify a remote host `localhost' or the name of the local host. Another host name is useful only in combination with `tramp-default-proxies-alist'. (defvar tramp-methods nil (#$ . 4714)) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable tramp-default-method funcall function #[0 "\301=\203\302\303!\203\303\207\302\304!\203\304\207\305\207" [system-type windows-nt executable-find "pscp" "scp" "ftp"] 2] "Default method to use for transferring files.\nSee `tramp-methods' for possibilities.\nAlso see `tramp-default-method-alist'." :type string tramp-default-method-alist #[0 "\300\207" [nil] 1] "Default method to use for specific host/user pairs.\nThis is an alist of items (HOST USER METHOD). The first matching item\nspecifies the method to use for a file name which does not specify a\nmethod. HOST and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches. If no entry\nmatches, the variable `tramp-default-method' takes effect.\n\nIf the file name does not specify the user, lookup is done using the\nempty string for the user name.\n\nSee `tramp-methods' for a list of possibilities for METHOD." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag "Method name" string (const nil))))] 6) #@49 Marker for default method in remote file names. (defconst tramp-default-method-marker "-" (#$ . 13382)) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\317%\210\300\320\302\303\321DD\322\323\324\306\325&\210\300\326\302\303\327DD\330\306\331%\210\300\332\302\303\333DD\334\323\335\306\336&\210\300\337\302\303\340DD\341\323\342\306\343&\210\300\344\302\303\345DD\346\323\342\306\347&\207" [custom-declare-variable tramp-default-user funcall function #[0 "\300\207" [nil] 1] "Default user to use for transferring files.\nIt is nil by default; otherwise settings in configuration files like\n\"~/.ssh/config\" would be overwritten. Also see `tramp-default-user-alist'.\n\nThis variable is regarded as obsolete, and will be removed soon." :type (choice (const nil) string) tramp-default-user-alist #[0 "\300\207" [nil] 1] "Default user to use for specific method/host pairs.\nThis is an alist of items (METHOD HOST USER). The first matching item\nspecifies the user to use for a file name which does not specify a\nuser. METHOD and HOST are regular expressions or nil, which is\ninterpreted as a regular expression which always matches. If no entry\nmatches, the variable `tramp-default-user' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag " Host regexp" regexp sexp) (choice :tag " User name" string (const nil)))) tramp-default-host #[0 "\207" [tramp-system-name] 1] "Default host to use for transferring files.\nUseful for su and sudo methods mostly." string tramp-default-host-alist #[0 "\300\207" [nil] 1] "Default host to use for specific method/user pairs.\nThis is an alist of items (METHOD USER HOST). The first matching item\nspecifies the host to use for a file name which does not specify a\nhost. METHOD and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches. If no entry\nmatches, the variable `tramp-default-host' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." :version "24.4" (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag " User regexp" regexp sexp) (choice :tag " Host name" string (const nil)))) tramp-default-proxies-alist #[0 "\300\207" [nil] 1] "Route to be followed for specific host/user pairs.\nThis is an alist of items (HOST USER PROXY). The first matching\nitem specifies the proxy to be passed for a file name located on\na remote target matching USER@HOST. HOST and USER are regular\nexpressions, which could also cover a domain (USER%DOMAIN) or\nport (HOST#PORT). PROXY must be a Tramp filename without a\nlocalname part. Method and user name on PROXY are optional,\nwhich is interpreted with the default values.\n\nPROXY can contain the patterns %h and %u, which are replaced by\nthe strings matching HOST or USER (without DOMAIN and PORT parts),\nrespectively.\n\nIf an entry is added while parsing ad-hoc hop definitions, PROXY\ncarries the non-nil text property `tramp-ad-hoc'.\n\nHOST, USER or PROXY could also be Lisp forms, which will be\nevaluated. The result must be a string or nil, which is\ninterpreted as a regular expression which always matches." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag " Proxy name" string (const nil)))) tramp-save-ad-hoc-proxies #[0 "\300\207" [nil] 1] "Whether to save ad-hoc proxies persistently." "24.3" boolean tramp-restricted-shell-hosts-alist #[0 "\302=\205\303\304\305 \227!\305 \226!#C\207" [system-type tramp-system-name windows-nt format "\\`\\(%s\\|%s\\)\\'" regexp-quote] 5] "List of hosts, which run a restricted shell.\nThis is a list of regular expressions, which denote hosts running\na restricted shell like \"rbash\". Those hosts can be used as\nproxies only, see `tramp-default-proxies-alist'. If the local\nhost runs a restricted shell, it shall be added to this list, too." "27.1" (repeat (regexp :tag "Host regexp")) tramp-local-host-regexp #[0 "\301\302\303\304\305\306\257\307\"\310Q\207" [tramp-system-name "\\`" regexp-opt "localhost" "localhost6" "127.0.0.1" "::1" t "\\'"] 7] "Host names which are regarded as local host.\nIf the local host runs a chrooted environment, set this to nil." (choice (const :tag "Chrooted environment" nil) (regexp :tag "Host regexp"))] 8) #@1013 Alist of methods for remote files. This is a list of entries of the form (NAME PAIR1 PAIR2 ...). Each NAME stands for a remote access method. Each PAIR is of the form (FUNCTION FILE). FUNCTION is responsible to extract user names and host names from FILE for completion. The following predefined FUNCTIONs exists: * `tramp-parse-rhosts' for "~/.rhosts" like files, * `tramp-parse-shosts' for "~/.ssh/known_hosts" like files, * `tramp-parse-sconfig' for "~/.ssh/config" like files, * `tramp-parse-shostkeys' for "~/.ssh2/hostkeys/*" like files, * `tramp-parse-sknownhosts' for "~/.ssh2/knownhosts/*" like files, * `tramp-parse-hosts' for "/etc/hosts" like files, * `tramp-parse-passwd' for "/etc/passwd" like files. * `tramp-parse-etc-group' for "/etc/group" like files. * `tramp-parse-netrc' for "~/.netrc" like files. * `tramp-parse-putty' for PuTTY registered sessions. FUNCTION can also be a user defined function. For more details see the info pages. (defvar tramp-completion-function-alist nil (#$ . 17921)) #@44 String marker to surround echoed commands. (defconst tramp-echo-mark-marker "_echo" (#$ . 18997)) #@44 String length of `tramp-echo-mark-marker'. (defconst tramp-echo-mark-marker-length (length tramp-echo-mark-marker) (#$ . 19101)) #@437 String mark to be transmitted around shell commands. Used to separate their echo from the output they produce. This will only be used if we cannot disable remote echo via stty. This string must have no effect on the remote shell except for producing some echo which can later be detected by `tramp-echoed-echo-mark-regexp'. Using `tramp-echo-mark-marker', followed by an equal number of backspaces to erase them will usually suffice. (defconst tramp-echo-mark (byte-code "\302 \303\"P\207" [tramp-echo-mark-marker tramp-echo-mark-marker-length make-string 8] 4) (#$ . 19237)) #@79 Regexp which matches `tramp-echo-mark' as it gets echoed by the remote shell. (defconst tramp-echoed-echo-mark-regexp (format "%s\\(\\( \\)?\\)\\{%d\\}" tramp-echo-mark-marker tramp-echo-mark-marker-length) (#$ . 19822)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\310\311%\210\300\315\302\303\316DD\317\310\320%\210\300\321\302\303\322DD\323\310\320%\210\300\324\302\303\325DD\326\306\327\310\320&\210\300\330\302\303\331DD\332\310\320%\210\300\333\302\303\334DD\335\310\320%\210\300\336\302\303\337DD\340\310\320%\210\300\341\302\303\342DD\343\344\345\310\311&\210\300\346\302\303\347DD\350\310\320%\210\300\351\302\303\352DD\353\306\354\310\320&\210\300\355\302\303\356DD\357\310\320%\210\300\360\302\303\361DD\362\310\320%\210\300\363\302\303\364DD\365\310\320%\207" [custom-declare-variable tramp-local-end-of-line funcall function #[0 "\301=\203\302\207\303\207" [system-type windows-nt " \n" "\n"] 2] "String used for end of line in local processes." :version "24.1" :type string tramp-rsh-end-of-line #[0 "\300\207" [#1="\n"] 1 #1#] "String used for end of line in rsh connections.\nI don't think this ever needs to be changed, so please tell me about it\nif you need to change this." tramp-login-prompt-regexp #[0 "\300\207" [#2=".*\\(user\\|login\\)\\( .*\\)?: *"] 1 #2#] "Regexp matching login-like prompts.\nThe regexp should match at end of buffer.\n\nSometimes the prompt is reported to look like \"login as:\"." regexp tramp-shell-prompt-pattern #[0 "\300\207" ["\\(?:^\\| \\)[^]#$%>\n]*#?[]#$%>] *\\(\\[[[:digit:];]*[[:alpha:]] *\\)*"] 1] "Regexp to match prompts from remote shell.\nNormally, Tramp expects you to configure `shell-prompt-pattern'\ncorrectly, but sometimes it happens that you are connecting to a\nremote host which sends a different kind of shell prompt. Therefore,\nTramp recognizes things matched by `shell-prompt-pattern' as prompt,\nand also things matched by this variable. The default value of this\nvariable is similar to the default value of `shell-prompt-pattern',\nwhich should work well in many cases.\n\nThis regexp must match both `tramp-initial-end-of-output' and\n`tramp-end-of-output'." tramp-password-prompt-regexp #[0 "\301\302\303!\"\207" [password-word-equivalents format "^.*\\(%s\\).*:? *" regexp-opt] 4] "Regexp matching password-like prompts.\nThe regexp should match at end of buffer.\n\nThis variable is, by default, initialised from\n`password-word-equivalents' when Tramp is loaded, and it is\nusually more convenient to add new passphrases to that variable\ninstead of altering this variable.\n\nThe `sudo' program appears to insert a `^@' character into the prompt." "24.4" tramp-wrong-passwd-regexp #[0 "\300\207" ["^.*\\(Connection \\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login \\(?:[Ii]ncorrect\\)\\|N\\(?:ame or service not known\\|o supported authentication methods left to try!\\)\\|Permission denied\\|\\(?:Sorry, try again\\|Timeout, server not responding\\)\\.\\).*\\|^.*\\(Received signal [[:digit:]]+\\).*"] 1] "Regexp matching a `login failed' message.\nThe regexp should match at end of buffer." tramp-yesno-prompt-regexp #[0 "\300\207" ["\\(Are you sure you want to continue connecting (yes/no\\(?:\\(?:/\\[fingerprint]\\)?)\\?\\)\\)\\s-*"] 1] "Regular expression matching all yes/no queries which need to be confirmed.\nThe confirmation should be done with yes or no.\nThe regexp should match at end of buffer.\nSee also `tramp-yn-prompt-regexp'." tramp-yn-prompt-regexp #[0 "\300\207" ["\\(\\(?:Store key in cache\\? (y/\\|Update cached key\\? (y/n, Return cancels connectio\\)n)\\)\\s-*"] 1] "Regular expression matching all y/n queries which need to be confirmed.\nThe confirmation should be done with y or n.\nThe regexp should match at end of buffer.\nSee also `tramp-yesno-prompt-regexp'." tramp-terminal-type #[0 "\300\207" [#3="dumb"] 1 #3#] "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." :group tramp tramp-terminal-prompt-regexp #[0 "\300\207" ["\\(TERM = (.*)\\|Terminal type\\? \\[.*\\]\\)\\s-*"] 1] "Regular expression matching all terminal setting prompts.\nThe regexp should match at end of buffer.\nThe answer will be provided by `tramp-action-terminal', which see." tramp-antispoof-regexp #[0 "\300\207" ["Access granted\\. Press Return to begin session\\. "] 1] "Regular expression matching plink's anti-spoofing message.\nThe regexp should match at end of buffer." "27.1" tramp-operation-not-permitted-regexp #[0 "\300\207" ["\\(preserving times.*\\|set mode\\):\\s-*\\(Operation not permitted\\)"] 1] "Regular expression matching keep-date problems in (s)cp operations.\nCopying has been performed successfully already, so this message can\nbe ignored safely." tramp-copy-failed-regexp #[0 "\300\207" ["\\(.+: \\(No such file or directory\\|Permission denied\\|is a directory\\|not a regular file\\)\\)\\s-*"] 1] "Regular expression matching copy problems in (s)cp operations." tramp-process-alive-regexp #[0 "\300\207" [#4=""] 1 #4#] "Regular expression indicating a process has finished.\nIn fact this expression is empty by intention, it will be used only to\ncheck regularly the status of the associated process.\nThe answer will be provided by `tramp-action-process-alive',\n`tramp-action-out-of-band', which see."] 8) #@317 Prefix to use for temporary files. If this is a relative file name (such as "tramp."), it is considered relative to the directory name returned by the function `tramp-compat-temporary-file-directory' (which see). It may also be an absolute file name; don't forget to include a prefix for the filename part, though. (defconst tramp-temp-name-prefix "tramp." (#$ . 25377)) #@102 Buffer name for a temporary buffer. It shall be used in combination with `generate-new-buffer-name'. (defconst tramp-temp-buffer-name " *tramp temp*" (#$ . 25756)) #@82 File name of a persistent local temporary file. Useful for "rsync" like methods. (defvar tramp-temp-buffer-file-name nil (#$ . 25926)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314\315\316\317\320\321\322\323\324\325\326&\207" [make-variable-buffer-local tramp-temp-buffer-file-name put permanent-local t custom-declare-variable tramp-syntax funcall function #[0 "\300\207" [default] 1] "Tramp filename syntax to be used.\n\nIt can have the following values:\n\n `default' -- Default syntax\n `simplified' -- Ange-FTP like syntax\n `separate' -- Syntax as defined for XEmacs originally\n\nDo not change the value by `setq', it must be changed only via\nCustomize. See also `tramp-change-syntax'." :version "26.1" :package-version (Tramp . "2.3.3") :type (choice (const :tag "Default" default) (const :tag "Ange-FTP" simplified) (const :tag "XEmacs" separate)) :require tramp :initialize custom-initialize-default :set tramp-set-syntax] 16) #@143 Set SYMBOL to value VALUE. Used in user option `tramp-syntax'. There are further variables to be set, depending on VALUE. (fn SYMBOL VALUE) (defalias 'tramp-set-syntax #[514 "\211\306 >\204 \307\310\311#\210J=\204\312 \210\313\"\210\314 \315 \316 \317 \320 \321 \322 \323 \324 \325 \326  \327 !\330 \"\331 #\332 $\333 \207" [tramp-prefix-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-format tramp-postfix-method-regexp tramp-prefix-ipv6-format tramp-syntax-values tramp-user-error nil "Wrong `tramp-syntax' %s" tramp-cleanup-all-buffers set-default tramp-build-prefix-format tramp-build-prefix-regexp tramp-build-method-regexp tramp-build-postfix-method-format tramp-build-postfix-method-regexp tramp-build-prefix-ipv6-format tramp-build-prefix-ipv6-regexp tramp-build-postfix-ipv6-format tramp-build-postfix-ipv6-regexp tramp-build-postfix-host-format tramp-build-postfix-host-regexp tramp-build-remote-file-name-spec-regexp tramp-build-file-name-structure tramp-build-file-name-regexp tramp-build-completion-file-name-regexp tramp-register-file-name-handlers tramp-prefix-ipv6-regexp tramp-postfix-ipv6-format tramp-postfix-ipv6-regexp tramp-postfix-host-format tramp-postfix-host-regexp tramp-remote-file-name-spec-regexp tramp-file-name-structure tramp-file-name-regexp tramp-completion-file-name-regexp] 6 (#$ . 26918)]) (add-hook 'tramp--startup-hook #[0 "\300\301\302 \"\207" [tramp-set-syntax tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 "Return proper value of `tramp-syntax'."]] 3]) #@51 Return possible values of `tramp-syntax', a list. (defalias 'tramp-syntax-values #[0 "\300\301NA\302\303\"\262\302\304\"\207" [tramp-syntax custom-type mapcar last car] 4 (#$ . 28614)]) #@133 Look up a syntax string in ALIST according to `tramp-compat-tramp-syntax'. Raise an error if `tramp-syntax' is invalid. (fn ALIST) (defalias 'tramp-lookup-syntax #[257 "\301 \236A\206\f\302\303\"\207" [tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 "Return proper value of `tramp-syntax'."] error "Wrong `tramp-syntax' %s"] 4 (#$ . 28810)]) #@67 Alist mapping Tramp syntax to strings beginning Tramp file names. (defconst tramp-prefix-format-alist '((default . "/") (simplified . "/") (separate . "/[")) (#$ . 29305)) #@59 Return `tramp-prefix-format' according to `tramp-syntax'. (defalias 'tramp-build-prefix-format #[0 "\301!\207" [tramp-prefix-format-alist tramp-lookup-syntax] 2 (#$ . 29483)]) #@95 String matching the very beginning of Tramp file names. Used in `tramp-make-tramp-file-name'. (defvar tramp-prefix-format nil (#$ . 29666)) #@31 Return `tramp-prefix-regexp'. (defalias 'tramp-build-prefix-regexp #[0 "\301\302!P\207" [tramp-prefix-format "^" regexp-quote] 3 (#$ . 29812)]) #@123 Regexp matching the very beginning of Tramp file names. Should always start with "^". Derived from `tramp-prefix-format'. (defvar tramp-prefix-regexp nil (#$ . 29964)) #@69 Alist mapping Tramp syntax to regexps matching methods identifiers. (defconst tramp-method-regexp-alist '((default . "[[:alnum:]-]+") (simplified . "") (separate . "[[:alnum:]-]*")) (#$ . 30138)) #@59 Return `tramp-method-regexp' according to `tramp-syntax'. (defalias 'tramp-build-method-regexp #[0 "\301!\207" [tramp-method-regexp-alist tramp-lookup-syntax] 2 (#$ . 30340)]) #@81 Regexp matching methods identifiers. The `ftp' syntax does not support methods. (defvar tramp-method-regexp nil (#$ . 30523)) #@63 Alist mapping Tramp syntax to the delimiter after the method. (defconst tramp-postfix-method-format-alist '((default . ":") (simplified . "") (separate . "/")) (#$ . 30655)) #@67 Return `tramp-postfix-method-format' according to `tramp-syntax'. (defalias 'tramp-build-postfix-method-format #[0 "\301!\207" [tramp-postfix-method-format-alist tramp-lookup-syntax] 2 (#$ . 30835)]) #@147 String matching delimiter between method and user or host names. The `ftp' syntax does not support methods. Used in `tramp-make-tramp-file-name'. (defvar tramp-postfix-method-format nil (#$ . 31043)) #@39 Return `tramp-postfix-method-regexp'. (defalias 'tramp-build-postfix-method-regexp #[0 "\301!\207" [tramp-postfix-method-format regexp-quote] 2 (#$ . 31249)]) #@110 Regexp matching delimiter between method and user or host names. Derived from `tramp-postfix-method-format'. (defvar tramp-postfix-method-regexp nil (#$ . 31416)) #@29 Regexp matching user names. (defconst tramp-user-regexp "[^/|: ]+" (#$ . 31585)) #@58 String matching delimiter between user and domain names. (defconst tramp-prefix-domain-format "%" (#$ . 31673)) #@101 Regexp matching delimiter between user and domain names. Derived from `tramp-prefix-domain-format'. (defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) (#$ . 31792)) #@31 Regexp matching domain names. (defconst tramp-domain-regexp "[[:alnum:]_.-]+" (#$ . 31991)) #@47 Regexp matching user names with domain names. (defconst tramp-user-with-domain-regexp (concat #1="\\(" tramp-user-regexp #2="\\)" tramp-prefix-domain-regexp #1# tramp-domain-regexp #2#) (#$ . 32089)) #@94 String matching delimiter between user and host names. Used in `tramp-make-tramp-file-name'. (defconst tramp-postfix-user-format "@" (#$ . 32295)) #@98 Regexp matching delimiter between user and host names. Derived from `tramp-postfix-user-format'. (defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) (#$ . 32448)) #@29 Regexp matching host names. (defconst tramp-host-regexp "[[:alnum:]_.%-]+" (#$ . 32642)) #@65 Alist mapping Tramp syntax to strings prefixing IPv6 addresses. (defconst tramp-prefix-ipv6-format-alist '((default . "[") (simplified . "[") (separate . "")) (#$ . 32737)) #@64 Return `tramp-prefix-ipv6-format' according to `tramp-syntax'. (defalias 'tramp-build-prefix-ipv6-format #[0 "\301!\207" [tramp-prefix-ipv6-format-alist tramp-lookup-syntax] 2 (#$ . 32916)]) #@89 String matching left hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'. (defvar tramp-prefix-ipv6-format nil (#$ . 33114)) #@36 Return `tramp-prefix-ipv6-regexp'. (defalias 'tramp-build-prefix-ipv6-regexp #[0 "\301!\207" [tramp-prefix-ipv6-format regexp-quote] 2 (#$ . 33259)]) #@92 Regexp matching left hand side of IPv6 addresses. Derived from `tramp-prefix-ipv6-format'. (defvar tramp-prefix-ipv6-regexp nil (#$ . 33416)) #@33 Regexp matching IPv6 addresses. (defconst tramp-ipv6-regexp "\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+" (#$ . 33564)) #@58 Alist mapping Tramp syntax to suffix for IPv6 addresses. (defconst tramp-postfix-ipv6-format-alist '((default . "]") (simplified . "]") (separate . "")) (#$ . 33682)) #@65 Return `tramp-postfix-ipv6-format' according to `tramp-syntax'. (defalias 'tramp-build-postfix-ipv6-format #[0 "\301!\207" [tramp-postfix-ipv6-format-alist tramp-lookup-syntax] 2 (#$ . 33855)]) #@90 String matching right hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'. (defvar tramp-postfix-ipv6-format nil (#$ . 34056)) #@37 Return `tramp-postfix-ipv6-regexp'. (defalias 'tramp-build-postfix-ipv6-regexp #[0 "\301!\207" [tramp-postfix-ipv6-format regexp-quote] 2 (#$ . 34203)]) #@94 Regexp matching right hand side of IPv6 addresses. Derived from `tramp-postfix-ipv6-format'. (defvar tramp-postfix-ipv6-regexp nil (#$ . 34363)) #@64 String matching delimiter between host names and port numbers. (defconst tramp-prefix-port-format "#" (#$ . 34514)) #@105 Regexp matching delimiter between host names and port numbers. Derived from `tramp-prefix-port-format'. (defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) (#$ . 34637)) #@31 Regexp matching port numbers. (defconst tramp-port-regexp "[[:digit:]]+" (#$ . 34836)) #@47 Regexp matching host names with port numbers. (defconst tramp-host-with-port-regexp (concat #1="\\(" tramp-host-regexp #2="\\)" tramp-prefix-port-regexp #1# tramp-port-regexp #2#) (#$ . 34929)) #@57 String matching delimiter after ad-hoc hop definitions. (defconst tramp-postfix-hop-format "|" (#$ . 35129)) #@98 Regexp matching delimiter after ad-hoc hop definitions. Derived from `tramp-postfix-hop-format'. (defconst tramp-postfix-hop-regexp (regexp-quote tramp-postfix-hop-format) (#$ . 35244)) #@69 Alist mapping Tramp syntax to strings between host and local names. (defconst tramp-postfix-host-format-alist '((default . ":") (simplified . ":") (separate . "]")) (#$ . 35436)) #@65 Return `tramp-postfix-host-format' according to `tramp-syntax'. (defalias 'tramp-build-postfix-host-format #[0 "\301!\207" [tramp-postfix-host-format-alist tramp-lookup-syntax] 2 (#$ . 35621)]) #@100 String matching delimiter between host names and localnames. Used in `tramp-make-tramp-file-name'. (defvar tramp-postfix-host-format nil (#$ . 35823)) #@37 Return `tramp-postfix-host-regexp'. (defalias 'tramp-build-postfix-host-regexp #[0 "\301!\207" [tramp-postfix-host-format regexp-quote] 2 (#$ . 35980)]) #@104 Regexp matching delimiter between host names and localnames. Derived from `tramp-postfix-host-format'. (defvar tramp-postfix-host-regexp nil (#$ . 36141)) #@29 Regexp matching localnames. (defconst tramp-localname-regexp "[^\n ]*\\'" (#$ . 36302)) #@49 String used to denote an unknown user or group. (defconst tramp-unknown-id-string "UNKNOWN" (#$ . 36396)) #@50 Integer used to denote an unknown user or group. (defconst tramp-unknown-id-integer -1 (#$ . 36508)) #@125 Construct a regexp matching a Tramp file name for a Tramp syntax. It is expected, that `tramp-syntax' has the proper value. (defalias 'tramp-build-remote-file-name-spec-regexp #[0 "\306\307 \310\n\307 \311\f\312 \313\314\315\316\260\207" [tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp tramp-postfix-user-regexp tramp-host-regexp tramp-prefix-ipv6-regexp "\\(" "\\)" "\\(?:\\(" "\\)?\\(\\(?:" "\\|" "\\(?:" "\\)?" "\\)\\(?:" "\\)?\\)?" tramp-ipv6-regexp tramp-postfix-ipv6-regexp tramp-prefix-port-regexp tramp-port-regexp] 20 (#$ . 36616)]) #@75 Regular expression matching a Tramp file name between prefix and postfix. (defvar tramp-remote-file-name-spec-regexp nil (#$ . 37193)) #@152 Construct the Tramp file name structure for a Tramp syntax. It is expected, that `tramp-syntax' has the proper value. See `tramp-file-name-structure'. (defalias 'tramp-build-file-name-structure #[0 "\305 \n\306 \307\f\310\260\n\311\312\313\314\315\257\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp tramp-postfix-host-regexp tramp-localname-regexp "\\(\\(?:" "\\)+\\)?" "\\(" "\\)" 5 6 7 8 1] 10 (#$ . 37335)]) #@836 List detailing the Tramp file name structure. This is a list of six elements (REGEXP METHOD USER HOST FILE HOP). The first element REGEXP is a regular expression matching a Tramp file name. The regex should contain parentheses around the method name, the user name, the host name, and the file name parts. The second element METHOD is a number, saying which pair of parentheses matches the method name. The third element USER is similar, but for the user name. The fourth element HOST is similar, but for the host name. The fifth element FILE is for the file name. The last element HOP is the ad-hoc hop definition, which could be a cascade of several hops. These numbers are passed directly to `match-string', which see. That means the opening parentheses are counted to identify the pair. See also `tramp-file-name-regexp'. (defvar tramp-file-name-structure nil (#$ . 37795)) #@34 Return `tramp-file-name-regexp'. (defalias 'tramp-build-file-name-regexp #[0 "@\207" [tramp-file-name-structure] 1 (#$ . 38688)]) #@101 Value for `tramp-file-name-regexp' for autoload. It must match the initial `tramp-syntax' settings. (defconst tramp-initial-file-name-regexp "\\`/[^/:]+:[^/:]*:" (#$ . 38826)) #@252 Regular expression matching file names handled by Tramp. This regexp should match Tramp file names but no other file names. When calling `tramp-register-file-name-handlers', the initial value is overwritten by the car of `tramp-file-name-structure'. (defvar tramp-file-name-regexp tramp-initial-file-name-regexp (#$ . 39009)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable tramp-ignored-file-name-regexp funcall function #[0 "\300\207" [nil] 1] "Regular expression matching file names that are not under Tramp's control." :version "27.1" :type (choice (const nil) regexp)] 8) #@176 Value for `tramp-completion-file-name-regexp' for default remoting. See `tramp-file-name-structure' for more explanations. On W32 systems, the volume letter must be ignored. (defconst tramp-completion-file-name-regexp-default (byte-code "\301\302=\205\303\304\305>\203\306\202\307\310\260\207" [system-type "\\`" windows-nt "\\(?:[[:alpha:]]:\\)?" "/\\(\\([^/|:]+:[^/|:]*|\\)*" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" "\\(:[^/|:]*\\)?\\)?\\'"] 5) (#$ . 39633)) #@185 Value for `tramp-completion-file-name-regexp' for simplified style remoting. See `tramp-file-name-structure' for more explanations. On W32 systems, the volume letter must be ignored. (defconst tramp-completion-file-name-regexp-simplified (byte-code "\301\302=\205\303\304\305>\203\306\202\307\310\260\207" [system-type "\\`" windows-nt "\\(?:[[:alpha:]]:\\)?" "/\\(\\([^/|:]*|\\)*" (cygwin windows-nt) "[^/|:]\\{2,\\}" "[^/|:]+" "\\)?\\'"] 5) (#$ . 40128)) #@125 Value for `tramp-completion-file-name-regexp' for separate remoting. See `tramp-file-name-structure' for more explanations. (defconst tramp-completion-file-name-regexp-separate (byte-code "\301\302=\205\303\304Q\207" [system-type "\\`" windows-nt "\\(?:[[:alpha:]]:\\)?" "/\\(\\[[^]]*\\)?\\'"] 3) (#$ . 40602)) #@44 Alist mapping incomplete Tramp file names. (defconst tramp-completion-file-name-regexp-alist (byte-code "\303B\304 B\305\nBE\207" [tramp-completion-file-name-regexp-default tramp-completion-file-name-regexp-simplified tramp-completion-file-name-regexp-separate default simplified separate] 4) (#$ . 40922)) #@73 Return `tramp-completion-file-name-regexp' according to `tramp-syntax'. (defalias 'tramp-build-completion-file-name-regexp #[0 "\301!\207" [tramp-completion-file-name-regexp-alist tramp-lookup-syntax] 2 (#$ . 41236)]) #@421 Regular expression matching file names handled by Tramp completion. This regexp should match partial Tramp file names only. Please note that the entry in `file-name-handler-alist' is made when this file (tramp.el) is loaded. This means that this variable must be set before loading tramp.el. Alternatively, `file-name-handler-alist' can be updated after changing this variable. Also see `tramp-file-name-structure'. (defvar tramp-completion-file-name-regexp nil (#$ . 41462)) #@217 Regular expression matching file names handled by Tramp autoload. It must match the initial `tramp-syntax' settings. It should not match file names at root of the underlying local file system, like "/sys" or "/C:". (defconst tramp-autoload-file-name-regexp (byte-code "\301\302>\203 \303\202\f\304\305Q\207" [system-type "\\`/" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" ":"] 3) (#$ . 41949)) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\317\320\306\321&\210\300\322\302\303\323DD\324\317\320\306\325&\210\300\326\302\303\327DD\330\331\332\306\333&\210\300\334\302\303\335DD\336\331\332\317\337\306\340& \210\300\341\302\303\342DD\343\306\344%\210\345\341\346\347#\207" [custom-declare-variable tramp-chunksize funcall function #[0 "\301=\205\302\207" [system-type hpux 500] 2] "If non-nil, chunksize for sending input to local process.\nIt is necessary only on systems which have a buggy `process-send-string'\nimplementation. The necessity, whether this variable must be set, can be\nchecked via the following code:\n\n (with-temp-buffer\n (let* ((user \"xxx\") (host \"yyy\")\n (init 0) (step 50)\n (sent init) (received init))\n (while (= sent received)\n (setq sent (+ sent step))\n (erase-buffer)\n (let ((proc (start-process (buffer-name) (current-buffer)\n \"ssh\" \"-l\" user host \"wc\" \"-c\")))\n (when (process-live-p proc)\n (process-send-string proc (make-string sent ?\\ ))\n (process-send-eof proc)\n (process-send-eof proc))\n (while (not (progn (goto-char (point-min))\n (re-search-forward \"\\\\w+\" (point-max) t)))\n (accept-process-output proc 1))\n (when (process-live-p proc)\n (setq received (string-to-number (match-string 0)))\n (delete-process proc)\n (message \"Bytes sent: %s\\tBytes received: %s\" sent received)\n (sit-for 0))))\n (if (> sent (+ init step))\n (message \"You should set `tramp-chunksize' to a maximum of %s\"\n (- sent step))\n (message \"Test does not work\")\n (display-buffer (current-buffer))\n (sit-for 30))))\n\nIn the Emacs normally running Tramp, evaluate the above code\n(replace \"xxx\" and \"yyy\" by the remote user and host name,\nrespectively). You can do this, for example, by pasting it into\nthe `*scratch*' buffer and then hitting `C-j' with the cursor after the\nlast closing parenthesis. Note that it works only if you have configured\n\"ssh\" to run without password query, see ssh-agent(1).\n\nYou will see the number of bytes sent successfully to the remote host.\nIf that number exceeds 1000, you can stop the execution by hitting\n`C-g', because your Emacs is likely clean.\n\nWhen it is necessary to set `tramp-chunksize', you might consider to\nuse an out-of-the-band method (like \"scp\") instead of an internal one\n(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases\nperformance.\n\nIf your Emacs is buggy, the code stops and gives you an indication\nabout the value `tramp-chunksize' should be set. Maybe you could just\nexperiment a bit, e.g. changing the values of `init' and `step'\nin the third line of the code.\n\nPlease raise a bug report via \\[tramp-bug] if your system needs\nthis variable to be set as well." :type (choice (const nil) integer) tramp-process-connection-type #[0 "\300\207" [t] 1] "Overrides `process-connection-type' for connections from Tramp.\nTramp binds `process-connection-type' to the value given here before\nopening a connection to a remote host." (choice (const nil) (const t) (const pty)) tramp-connection-timeout #[0 "\300\207" [60] 1] "Defines the max time to wait for establishing a connection (in seconds).\nThis can be overwritten for different connection types in `tramp-methods'.\n\nThe timeout does not include the time reading a password." :version "24.4" integer tramp-connection-min-time-diff #[0 "\300\207" [5] 1] "Defines seconds between two consecutive connection attempts.\nThis is necessary as self defense mechanism, in order to avoid\nyo-yo connection attempts when the remote host is unavailable.\n\nA value of 0 or nil suppresses this check. This might be\nnecessary, when several out-of-order copy operations are\nperformed, or when several asynchronous processes will be started\nin a short time frame. In those cases it is recommended to\nlet-bind this variable." (choice (const nil) integer) tramp-remote-path #[0 "\300\207" [(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")] 1] "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 head 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. This entry is represented in\nthe list by the special value `tramp-default-remote-path'.\n\n`Private Directories' are the settings of the $PATH environment,\nas given in your `~/.profile'. This entry is represented in\nthe list by the special value `tramp-own-remote-path'." :group tramp (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 #[0 "\300\207" [("ENV=''" "TMOUT=0" "LC_CTYPE=''" "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=cat" "autocorrect=" "correct=")] 1] "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 some environment variables,\nwhich should not be set here:\n\nThe PATH environment variable should be set via `tramp-remote-path'.\n\nThe TERM environment variable should be set via `tramp-terminal-type'.\n\nThe INSIDE_EMACS environment variable will automatically be set\nbased on the Tramp and Emacs versions, and should not be set here." "26.1" (repeat string) tramp-completion-reread-directory-timeout #[0 "\300\207" [10] 1] "Defines seconds since last remote command before rereading a directory.\nA remote directory might have changed its contents. In order to\nmake it visible during file name completion in the minibuffer,\nTramp flushes its cache and rereads the directory contents when\nmore than `tramp-completion-reread-directory-timeout' seconds\nhave been gone since last remote command execution. A value of t\nwould require an immediate reread during filename completion, nil\nmeans to use always cached values for the directory contents." (choice (const nil) (const t) integer) make-obsolete-variable remote-file-name-inhibit-cache "27.2"] 10) #@155 Last connection timestamp. It is a cons cell of the actual `tramp-file-name-structure', and the (optional) timestamp of last activity on this connection. (defvar tramp-current-connection nil (#$ . 49552)) #@106 Password save function. Will be called once the password has been verified by successful authentication. (defvar tramp-password-save-function nil (#$ . 49764)) (put 'tramp-password-save-function 'tramp-suppress-trace t) #@223 Alist of completion handler functions. Used for file names matching `tramp-completion-file-name-regexp'. Operations not mentioned here will be handled by Tramp's file name handler functions, or the normal Emacs functions. (defconst tramp-completion-file-name-handler-alist '((file-name-all-completions . tramp-completion-handle-file-name-all-completions) (file-name-completion . tramp-completion-handle-file-name-completion)) (#$ . 49991)) #@173 Alist of elements (FUNCTION . HANDLER) for foreign methods handled specially. If (FUNCTION FILENAME) returns non-nil, then all I/O on that file is done by calling HANDLER. (defvar tramp-foreign-file-name-handler-alist nil (#$ . 50438)) #@74 compiler-macro for inlining `tramp-file-name-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-p (and (memq (car-safe cl-x) cl-struct-tramp-file-name-tags) t)) nil] 9 (#$ . 50680)]) (put 'tramp-file-name-p 'compiler-macro 'tramp-file-name-p--cmacro) #@13 (fn CL-X) (defalias 'tramp-file-name-p #[257 "\211\242>\205\301\207" [cl-struct-tramp-file-name-tags t] 3 (#$ . 51046)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tramp-file-name-p side-effect-free error-free put tramp-file-name cl-deftype-satisfies] 5) #@79 compiler-macro for inlining `tramp-file-name-method'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-method--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-method (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 1 cl-x))) nil] 9 (#$ . 51335)]) (put 'tramp-file-name-method 'compiler-macro 'tramp-file-name-method--cmacro) #@67 Access slot "method" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-method #[257 "\211\242>\204\301\302\303D\"\210\211A@\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name] 5 (#$ . 51774)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-method side-effect-free t] 4) #@77 compiler-macro for inlining `tramp-file-name-user'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-user--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-user (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 2 cl-x))) nil] 9 (#$ . 52127)]) (put 'tramp-file-name-user 'compiler-macro 'tramp-file-name-user--cmacro) #@65 Access slot "user" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-user #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 2] 5 (#$ . 52556)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-user side-effect-free t] 4) #@79 compiler-macro for inlining `tramp-file-name-domain'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-domain--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-domain (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 3 cl-x))) nil] 9 (#$ . 52905)]) (put 'tramp-file-name-domain 'compiler-macro 'tramp-file-name-domain--cmacro) #@67 Access slot "domain" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-domain #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 3] 5 (#$ . 53344)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-domain side-effect-free t] 4) #@77 compiler-macro for inlining `tramp-file-name-host'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-host--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-host (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 4 cl-x))) nil] 9 (#$ . 53699)]) (put 'tramp-file-name-host 'compiler-macro 'tramp-file-name-host--cmacro) #@65 Access slot "host" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-host #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 4] 5 (#$ . 54128)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-host side-effect-free t] 4) #@77 compiler-macro for inlining `tramp-file-name-port'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-port--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-port (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 5 cl-x))) nil] 9 (#$ . 54477)]) (put 'tramp-file-name-port 'compiler-macro 'tramp-file-name-port--cmacro) #@65 Access slot "port" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-port #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5] 5 (#$ . 54906)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-port side-effect-free t] 4) #@82 compiler-macro for inlining `tramp-file-name-localname'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-localname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-localname (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 6 cl-x))) nil] 9 (#$ . 55255)]) (put 'tramp-file-name-localname 'compiler-macro 'tramp-file-name-localname--cmacro) #@70 Access slot "localname" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-localname #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6] 5 (#$ . 55709)]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-localname side-effect-free t] 4) #@76 compiler-macro for inlining `tramp-file-name-hop'. (fn CL-WHOLE-ARG CL-X) (defalias 'tramp-file-name-hop--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-hop (progn (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 7 cl-x))) nil] 9 (#$ . 56073)]) (put 'tramp-file-name-hop 'compiler-macro 'tramp-file-name-hop--cmacro) #@64 Access slot "hop" of `tramp-file-name' struct CL-X. (fn CL-X) (defalias 'tramp-file-name-hop #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 7] 5 (#$ . 56497)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tramp-file-name-hop side-effect-free t defalias copy-tramp-file-name copy-sequence] 4) #@126 compiler-macro for inlining `make-tramp-file-name'. (fn CL-WHOLE &cl-quote &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP) (defalias 'make-tramp-file-name--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311 >A@\203P\312\262\202.\313\314@\"\210\202.\210\315\316\317\312\f\312\f\f\f\f\f\f\f&\f\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" cl--defsubst-expand (method user domain host port localname hop) (cl-block make-tramp-file-name (list 'tramp-file-name method user domain host port localname hop))] 22 (#$ . 56898)]) (put 'make-tramp-file-name 'compiler-macro 'make-tramp-file-name--cmacro) #@106 Constructor for objects of type `tramp-file-name'. (fn &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP) (defalias 'make-tramp-file-name #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311 >A@\203P\312\262\202.\313\314@\"\210\202.\210\315\257\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" tramp-file-name] 16 (#$ . 57828)]) (byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306& \210\312\313\314\303#\210\312\315\314\303#\210\312\316\314\303#\210\312\317\314\303#\210\312\320\314\303#\210\312\321\314\303#\210\312\322\314\303#\207" [function-put make-tramp-file-name side-effect-free t cl-struct-define tramp-file-name nil list ((cl-tag-slot) (method) (user) (domain) (host) (port) (localname) (hop)) cl-struct-tramp-file-name-tags put tramp-file-name-method tramp-suppress-trace tramp-file-name-user tramp-file-name-domain tramp-file-name-host tramp-file-name-port tramp-file-name-localname tramp-file-name-hop] 11) #@53 Return user and domain components of VEC. (fn VEC) (defalias 'tramp-file-name-user-domain #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N \242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-domain-format signal wrong-type-argument tramp-file-name 2 3] 7 (#$ . 59092)]) (put 'tramp-file-name-user-domain 'tramp-suppress-trace t) #@51 Return host and port components of VEC. (fn VEC) (defalias 'tramp-file-name-host-port #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N \242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-port-format signal wrong-type-argument tramp-file-name 4 5] 7 (#$ . 59611)]) (put 'tramp-file-name-host-port 'tramp-suppress-trace t) #@78 Return port component of VEC. If nil, return `tramp-default-port'. (fn VEC) (defalias 'tramp-file-name-port-or-default #[257 "\211\242>\204\301\302\303D\"\210\3048\206\305\306\"\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5 tramp-get-method-parameter tramp-default-port] 5 (#$ . 60122)]) (put 'tramp-file-name-port-or-default 'tramp-suppress-trace t) #@81 Check, whether VEC1 and VEC2 denote the same `tramp-file-name'. (fn VEC1 VEC2) (defalias 'tramp-file-name-equal-p #[514 "\242>\205E\211\242>\205E\242>\204\301\302\303D\"\210A@\242>\204-\301\302\303D\"\210A@\230\205E\304!\304!\230\205E\305!\305!\230\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port] 7 (#$ . 60524)]) #@206 Return the method parameter PARAM. If VEC is a vector, check first in connection properties. Afterwards, check in `tramp-methods'. If the `tramp-methods' entry does not exist, return nil. (fn VEC PARAM) (defalias 'tramp-get-method-parameter #[514 "\302\303\304\305!#\306\"\203\307\310#\207\311\311\242>\204&\312\313\314D\"\210A@ \"\"\211\2053\211A@\207" [cl-struct-tramp-file-name-tags tramp-methods replace-regexp-in-string "^tramp-" "" symbol-name tramp-connection-property-p tramp-get-connection-property nil assoc signal wrong-type-argument tramp-file-name] 10 (#$ . 60955)]) #@55 Return unquoted localname component of VEC. (fn VEC) (defalias 'tramp-file-name-unquote-localname #[257 "\211\242>\204\302\303\304D\"\210\3058\306\211?\205 \307!\211\211?\205$ \310\311\307!\")\266\202\203B\211G\312U\203<\313\202@\211\312\306O\262\314!P)\207" [cl-struct-tramp-file-name-tags file-name-handler-alist signal wrong-type-argument tramp-file-name 6 nil file-local-name string-prefix-p "/:" 2 "/" file-remote-p] 10 (#$ . 61558)]) #@70 Return t if NAME is a string with Tramp file name syntax. (fn NAME) (defalias 'tramp-tramp-file-p #[257 "\205J\211;\205J \305>\203\306\202\307\310\311\312#)\266\203?\205J \2039 \310\311\312#)\266\203?\205J\f\310\311\312#)\266\203\205J\311\207" [tramp-mode system-type inhibit-changing-match-data tramp-ignored-file-name-regexp tramp-file-name-regexp (cygwin windows-nt) "^/[[:alpha:]]?:" "^/:" nil t string-match] 8 (#$ . 62024)]) (put 'tramp-tramp-file-p 'tramp-suppress-trace t) #@435 Return the local name component of NAME. This function removes from NAME the specification of the remote host and the method of accessing the host, leaving only the part that identifies NAME locally on the remote system. If NAME does not match `tramp-file-name-regexp', just `file-local-name' is called. The returned file name can be used directly as argument of `process-file', `start-file-process', or `shell-command'. (fn NAME) (defalias 'tramp-file-local-name #[257 "\301!\203\302@\"\203\303\3048\"\206\305!\207" [tramp-file-name-structure tramp-tramp-file-p string-match match-string 4 tramp-compat-file-local-name] 4 (#$ . 62539)]) #@47 Return unquoted localname of NAME. (fn NAME) (defalias 'tramp-unquote-file-local-name #[257 "\301!\302\211?\205\n\303!\211\211?\205\304\305\303!\")\266\202\2034\211G\306U\203.\307\2022\211\306\302O\262\310!P)\207" [file-name-handler-alist tramp-file-local-name nil file-local-name string-prefix-p "/:" 2 "/" file-remote-p] 10 (#$ . 63198)]) #@202 Return the right method string to use depending on USER and HOST. This is METHOD, if non-nil. Otherwise, do a lookup in `tramp-default-method-alist' and `tramp-default-method'. (fn METHOD USER HOST) (defalias 'tramp-find-method #[771 "\203\304\230\204\230\203\305\262\206k \305\211\203d\211A\262\242\262\211@\206,\304\2061\304\305\306\307#)\266\203\203\211A@\206F\304\206K\304\305\306\307#)\266\203\203\3108\262\305\262\202\266\203\206k \204s\211\204t\207\311\312\306#\207" [tramp-default-method-marker tramp-default-method-alist inhibit-changing-match-data tramp-default-method "" nil t string-match 2 propertize tramp-default] 13 (#$ . 63564)]) (put 'tramp-find-method 'tramp-suppress-trace t) #@196 Return the right user string to use depending on METHOD and HOST. This is USER, if non-nil. Otherwise, do a lookup in `tramp-default-user-alist' and `tramp-default-user'. (fn METHOD USER HOST) (defalias 'tramp-find-user #[771 "\206Y\303\211\203R\211A\262\242\262\211@\206\304\206\304\303\305\306#)\266\203\203\211A@\2064\304\2069\304\303\305\306#)\266\203\203\3078\262\303\262\202\266\203\206Y\n\204a\211\204b\207\310\311\305#\207" [tramp-default-user-alist inhibit-changing-match-data tramp-default-user nil "" t string-match 2 propertize tramp-default] 13 (#$ . 64316)]) (put 'tramp-find-user 'tramp-suppress-trace t) #@196 Return the right host string to use depending on METHOD and USER. This is HOST, if non-nil. Otherwise, do a lookup in `tramp-default-host-alist' and `tramp-default-host'. (fn METHOD USER HOST) (defalias 'tramp-find-host #[771 "\211G\303V\203 \211\206`\304\211\203Y\211A\262\242\262\211@\206 \305\206&\305\304\306\307#)\266\203\203\211A@\206;\305\206@\305\304\306\307#)\266\203\203\3108\262\304\262\202\266\203\206`\nG\303V\204k\211\204l\207\311\312\306#\207" [tramp-default-host-alist inhibit-changing-match-data tramp-default-host 0 nil "" t string-match 2 propertize tramp-default] 13 (#$ . 64985)]) (put 'tramp-find-host 'tramp-suppress-trace t) #@355 Return a `tramp-file-name' structure of NAME, a remote file name. The structure consists of method, user, domain, host, port, localname (file name on remote host), and hop. Unless NODEFAULT is non-nil, method, user and host are expanded to their default values. For the other file name parts, no default values are used. (fn NAME &optional NODEFAULT) (defalias 'tramp-dissect-file-name #[513 "\306 \307\310\"\216\311!\204\312\313\314#\210\315@\"\204!\316\317!\202r\320A@\"\320\3218\"\320\3228\"\320\3238\"\320\3248\"\313\211\211\203`\315 \"\203`\320\321\"\262\320\325\"\262\203\234\315\n\"\203z\320\321\"\262\320\325\"\262\315 \"\203\213\326\327\313\330 $\262\315\f\"\203\234\326\327\313\330 $\262 \204 \203\263\331!\262\205\261\332!\262\211\203\354\333\242 >\204\306\334\335\336D\"\210\3238\313\330*\315#)\266\203\204\354\211\242 >\204\346\334\335\336D\"\210\3238\206\356++\337#\262\340#\262\341#\262\205\342\343\344 \345\f$\"\262)\336 \n\n\257\211\262\n\204U,\204U-\230\204U\346 .\"\204U\312\347 #\210\203p\n\204p,\204p\350!\204p\312\351 #\210\266\210)\207" [tramp-file-name-structure tramp-user-with-domain-regexp tramp-host-with-port-regexp tramp-prefix-ipv6-regexp tramp-postfix-ipv6-regexp cl-struct-tramp-file-name-tags match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-tramp-file-p tramp-user-error nil "Not a Tramp file name: \"%s\"" string-match error "`tramp-file-name-structure' didn't match!" match-string 2 3 4 5 1 replace-match "" t tramp-dissect-hop-name tramp-make-tramp-hop-name "%h" signal wrong-type-argument tramp-file-name tramp-find-method tramp-find-user tramp-find-host format-spec format-spec-make 104 117 assoc "Method `%s' is not known." tramp-multi-hop-p "Method `%s' is not supported for multi-hops." inhibit-changing-match-data tramp-default-host non-essential tramp-default-method-marker tramp-methods] 19 (#$ . 65681)]) (put 'tramp-dissect-file-name 'tramp-suppress-trace t) #@135 Return a `tramp-file-name' structure of `hop' part of NAME. See `tramp-dissect-file-name' for details. (fn NAME &optional NODEFAULT) (defalias 'tramp-dissect-hop-name #[513 "\305\306 \307P\n#P\"\2042 \2042\310!\2042\311\312\242\f>\204-\313\314\315D\"\210A@#\210\207" [tramp-prefix-format tramp-postfix-hop-regexp tramp-postfix-host-format non-essential cl-struct-tramp-file-name-tags tramp-dissect-file-name replace-regexp-in-string "$" tramp-multi-hop-p tramp-user-error "Method `%s' is not supported for multi-hops." signal wrong-type-argument tramp-file-name] 10 (#$ . 67781)]) (put 'tramp-dissect-hop-name 'tramp-suppress-trace t) #@49 A name for the connection buffer VEC. (fn VEC) (defalias 'tramp-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204%\307\310$\207\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*tramp/%s %s@%s*" "*tramp/%s %s*"] 9 (#$ . 68438)]) (put 'tramp-buffer-name 'tramp-suppress-trace t) #@604 Construct a Tramp file name from ARGS. ARGS could have two different signatures. The first one is of type (VEC &optional LOCALNAME HOP). If LOCALNAME is nil, the value in VEC is used. If it is a symbol, a null localname will be used. Otherwise, LOCALNAME is expected to be a string, which will be used. If HOP is nil, the value in VEC is used. If it is a symbol, a null hop will be used. Otherwise, HOP is expected to be a string, which will be used. The other signature exists for backward compatibility. It has the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP). (fn &rest ARGS) (defalias 'tramp-make-tramp-file-name #[128 "\306\211\211\211\211\211\211@\242>\203\357@\242>\204\"\307\310\311\n@D\"\210@A@\262@\242>\204;\307\310\311\n@D\"\210\312@8\262@\242>\204T\307\310\311\n@D\"\210\313@8\262@\242>\204m\307\310\311\n@D\"\210\314@8\262@\242>\204\206\307\310\311\n@D\"\210\315@8\262@\242>\204\237\307\310\311\n@D\"\210\316@8\262@\242>\204\270\307\310\311\n@D\"\210\317@8\262A@\203\324A@;\205\322A@\262AA@\203AA@;\205\352AA@\262\202@\262A@\262\3128\262\3138\262\3148\262\3158\262\3168\262 G\320U\204/G\320U\203/\307\310\321 D\"\210\n G\320U?\205= PG\320U?\205L  P\nG\320U?\205V\f \205y \n\306\322\323#)\266\203\203w\nQ\202y  G\320U?\205\207\nP\n\260\n\207" [cl-struct-tramp-file-name-tags tramp-postfix-method-format tramp-prefix-format tramp-prefix-domain-format tramp-postfix-user-format tramp-ipv6-regexp nil signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 stringp t string-match inhibit-changing-match-data tramp-prefix-ipv6-format tramp-postfix-ipv6-format tramp-prefix-port-format tramp-postfix-host-format] 21 (#$ . 68869)]) #@48 Construct a Tramp hop name from VEC. (fn VEC) (defalias 'tramp-make-tramp-hop-name #[257 "\303\304\303 \305P\n\306\307\"##\207" [tramp-prefix-regexp tramp-postfix-host-regexp tramp-postfix-hop-format replace-regexp-in-string "" "$" tramp-make-tramp-file-name noloc] 10 (#$ . 70682)]) #@238 Construct a Tramp file name from METHOD, USER, HOST and LOCALNAME. It must not be a complete Tramp file name, but as long as there are necessary only. This function will be used in file name completion. (fn METHOD USER HOST LOCALNAME) (defalias 'tramp-completion-make-tramp-file-name #[1028 "G\306U\206\f G\306U?\205 PG\306U?\205\nPG\306U?\205B \307\310\311#)\266\203\203> \nQ\202? P\260\207" [tramp-prefix-format tramp-postfix-method-format tramp-postfix-user-format tramp-ipv6-regexp inhibit-changing-match-data tramp-prefix-ipv6-format 0 nil t string-match tramp-postfix-ipv6-format tramp-postfix-host-format] 14 (#$ . 70977)]) #@148 Get the connection buffer to be used for VEC. Unless DONT-CREATE, the buffer is created when it doesn't exist yet. (fn VEC &optional DONT-CREATE) (defalias 'tramp-get-buffer #[513 "\302\303!!\206)\211?\205)r\304\303!!q\210\305\306\307\306\310##\210\311\312\313\314#p)\207" [buffer-undo-list default-directory get-buffer tramp-buffer-name get-buffer-create tramp-set-connection-property "process-buffer" tramp-get-connection-property nil t tramp-make-tramp-file-name noloc nohop] 9 (#$ . 71642)]) #@251 Get the connection buffer to be used for VEC. Unless DONT-CREATE, the buffer is created when it doesn't exist yet. In case a second asynchronous communication has been started, it is different from `tramp-get-buffer'. (fn VEC &optional DONT-CREATE) (defalias 'tramp-get-connection-buffer #[513 "\300\301\302#\206\f\303\"\207" [tramp-get-connection-property "process-buffer" nil tramp-get-buffer] 6 (#$ . 72155)]) #@155 Get the connection name to be used for VEC. In case a second asynchronous communication has been started, it is different from the default one. (fn VEC) (defalias 'tramp-get-connection-name #[257 "\300\301\302#\206 \303!\207" [tramp-get-connection-property "process-name" nil tramp-buffer-name] 5 (#$ . 72580)]) #@139 Get the default connection process to be used for VEC-OR-PROC. Return `tramp-cache-undefined' in case it doesn't exist. (fn VEC-OR-PROC) (defalias 'tramp-get-process #[257 "\211\242>\203\302\303!!\206\304!\203\305\306\307\"!\206 \207" [cl-struct-tramp-file-name-tags tramp-cache-undefined get-buffer-process tramp-buffer-name processp tramp-get-process process-get vector] 5 (#$ . 72903)]) #@158 Get the connection process to be used for VEC. In case a second asynchronous communication has been started, it is different from the default one. (fn VEC) (defalias 'tramp-get-connection-process #[257 "\211\242>\205\f\301\302!!\207" [cl-struct-tramp-file-name-tags get-process tramp-get-connection-name] 4 (#$ . 73313)]) #@179 Set connection-local variables in the connection buffer used for VEC. If connection-local variables are not supported by this Emacs version, the function does nothing. (fn VEC) (defalias 'tramp-set-connection-local-variables #[257 "r\301!q\210\302\303!\205/\303\304\305\306\242>\204\307\310\311D\"\210A@\312\313!\314\315 !\257!)\207" [cl-struct-tramp-file-name-tags tramp-get-connection-buffer functionp hack-connection-local-variables-apply :application tramp :protocol signal wrong-type-argument tramp-file-name :user tramp-file-name-user-domain :machine tramp-file-name-host-port] 11 (#$ . 73646)]) #@153 Set connection-local variables in the current buffer. If connection-local variables are not supported by this Emacs version, the function does nothing. (defalias 'tramp-set-connection-local-variables-for-buffer #[0 "\301!\205!\302\303!\205!\303\304\305\306\307\310\"\311\307\312\"\313\307\314\"\257!\207" [default-directory tramp-tramp-file-p functionp hack-connection-local-variables-apply :application tramp :protocol file-remote-p method :user user :machine host] 11 (#$ . 74269)]) #@48 A name for the debug buffer for VEC. (fn VEC) (defalias 'tramp-debug-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204%\307\310$\207\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*debug tramp/%s %s@%s*" "*debug tramp/%s %s*"] 9 (#$ . 74767)]) (put 'tramp-debug-buffer-name 'tramp-suppress-trace t) #@62 Used for highlighting Tramp debug buffers in `outline-mode'. (defconst tramp-debug-outline-regexp "[[:digit:]]+:[[:digit:]]+:[[:digit:]]+\\.[[:digit:]]+ \\(?:\\(#\\) \\)?[[:alnum:]-]+ (\\([[:digit:]]+\\)) #" (#$ . 75220)) #@62 Used for highlighting Tramp debug buffers in `outline-mode'. (defconst tramp-debug-font-lock-keywords '(list (concat "^\\(?:" tramp-debug-outline-regexp "\\).+") '(1 font-lock-warning-face t t) '(0 (outline-font-lock-face) keep t)) (#$ . 75459)) #@181 Return the depth to which a statement is nested in the outline. Point must be at the beginning of a header line. The outline level is equal to the verbosity of the Tramp message. (defalias 'tramp-debug-outline-level #[0 "\300\301\302!!T\207" [string-to-number match-string 2] 3 (#$ . 75712)]) (put 'tramp-debug-outline-level 'tramp-suppress-trace t) #@41 Get the debug buffer for VEC. (fn VEC) (defalias 'tramp-get-debug-buffer #[257 "r\306\307!!q\210o\2038\310\311!\210\312\313\314\315N@\312\"\316 \210)\317\302!\210\320\317\304!\210\312\313 \321BB\313 \312\"E\322 !\210p)\207" [buffer-undo-list default-directory outline-level tramp-debug-font-lock-keywords font-lock-keywords special-mode-map get-buffer-create tramp-debug-buffer-name set-buffer-file-coding-system utf-8 t eval temporary-file-directory standard-value outline-mode make-local-variable tramp-debug-outline-level (t) use-local-map] 6 (#$ . 76069)]) (put 'tramp-get-debug-buffer 'tramp-suppress-trace t) #@44 Get the debug file name for VEC. (fn VEC) (defalias 'tramp-get-debug-file-name #[257 "\300\301\302\303\304!#\305\306\307N@\310\"\"\207" [expand-file-name tramp-compat-string-replace "/" " " tramp-debug-buffer-name eval temporary-file-directory standard-value t] 7 (#$ . 76697)]) (put 'tramp-get-debug-file-name 'tramp-suppress-trace t) #@48 A name for the trace buffer for VEC. (fn VEC) (defalias 'tramp-trace-buffer-name #[257 "\300\301\302\303!#\207" [tramp-compat-string-replace "debug" "trace" tramp-debug-buffer-name] 6 (#$ . 77041)]) (put 'tramp-trace-buffer-name 'tramp-suppress-trace t) #@68 A list of non-Tramp functions to be trace with tramp-verbose > 10. (defvar tramp-trace-functions nil (#$ . 77303)) #@206 Append message to debug buffer of VEC. Message is formatted with FMT-STRING as control string and the remaining ARGUMENTS to actually emit the message (if applicable). (fn VEC FMT-STRING &rest ARGUMENTS) (defalias 'tramp-debug-message #[642 "\306\307\211\211\211r\310!q\210db\210`o\203\205\311\312 .#c\210/\313Y\203?\314/\311\315\316\317!0\2065\3201\206;\320$c\210)/\321Y\203k\322\323\324\325\3262\327#\"3\"\211\203j\211@\211\330N\204c\331!\210A\266\202\202S\2104\203\205\332!\203\205\3331\204\334\332!!0\210\202\205\210n\204\214\335c\210\336 \337\340\"c\210\311\341\3428\"c\2665\203\275\327\343!\205\252\343 5=\204\275\311\344\327\343!\205\272\343 \"c\210\345\307\211\211\204\346!A@\262\204\325\320\262\202\3009\203\375\347!\211\262\203\375\350\307\3066\351#)\266\203\203\372\330N\203\375\307\262T\262\202\300\311\344\"c\266\352\353#c\2104\205*\3541(\355d\332!\322$0\202*\210\307\262.\207" [signal-hook-function message-log-max file-name-handler-alist create-lockfiles inhibit-message emacs-version t nil tramp-get-debug-buffer format ";; Emacs: %s Tramp: %s -*- mode: outline; coding: utf-8; -*-" 10 0 "\n;; Location: %s Git: %s/%s" locate-library "tramp" "" 11 append mapcar intern all-completions "tramp-" functionp tramp-suppress-trace trace-function-background tramp-get-debug-file-name (error) delete-file "\n" current-time format-time-string "%T." "%06d " 2 current-thread "%s " 1 backtrace-frame symbol-name "^tramp" string-match apply format-message (error) write-region tramp-version tramp-verbose tramp-repository-branch tramp-repository-version obarray tramp-trace-functions tramp-debug-to-file tramp-compat-main-thread inhibit-changing-match-data] 14 (#$ . 77425)]) (put 'tramp-debug-message 'tramp-suppress-trace t) #@121 Show Tramp progress reporter in the minibuffer. This variable is used to disable concurrent progress reporter messages. (defvar tramp-inhibit-progress-reporter nil (#$ . 79243)) #@592 Emit a message depending on verbosity level. VEC-OR-PROC identifies the Tramp buffer to use. It can be either a vector or a process. LEVEL says to be quiet if `tramp-verbose' is less than LEVEL. The message is emitted only if `tramp-verbose' is greater than or equal to LEVEL. The message is also logged into the debug buffer when `tramp-verbose' is greater than or equal 4. Calls functions `message' and `tramp-debug-message' with FMT-STRING as control string and the remaining ARGUMENTS to actually emit the message (if applicable). (fn VEC-OR-PROC LEVEL FMT-STRING &rest ARGUMENTS) (defalias 'tramp-message #[899 "\3031\226X\205\224\304X\203: \204:\305\306\307U\203 \310\2025\311U\203*\310\2025\312U\2034\313\2025\314P#\210\315Y\205\224\307\311U\203t\3161sr\317!\203Y\320!\202]\321\322\"q\210\323P\262\324\325 C\"\211\262)0\210\202t\210\317!\203\200\326\327\"\262)\242\n>\205\224\305\330\331\332\"P$0\207\210\333\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags (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) # " nil] 10 (#$ . 79428)]) (byte-code "\300\301\302\303#\304\301\305\306#\210\304\301\307\310#\207" [function-put tramp-message speed -1 put byte-optimizer byte-compile-inline-expand tramp-suppress-trace t] 5) #@174 Dump a backtrace into the debug buffer. If VEC-OR-PROC is nil, the buffer *debug tramp* is used. This function is meant for debugging purposes. (fn &optional VEC-OR-PROC) (defalias 'tramp-backtrace #[256 "\306Y\205\352\211\203\274\211\306\307\310\311\312\"\313\216 \314 \210)r q\210\315 +C\3161\270X\205\266\317X\203\\\n\204\\\320\321\322U\203B\323\202W\324U\203L\323\202W\325U\203V\326\202W\327P#\210\330Y\205\266\322\324U\203\226\3311\225r\332!\203{\333!\202\334\335\"q\210\307P\262\336\315 C\"\211\262)0\210\202\226\210\332!\203\242\337\340\"\262)\242 >\205\266\320\341\342\343\"P$0\207\266\344\207\fr\345\346!q\210p\347 \210\344\211,\312\211-\312./\350 \210\351\352!\210+\211\314 \353!\210)\266\202\207" [tramp-verbose standard-output tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags default-directory buffer-read-only 10 "\n%s" generate-new-buffer " *string-output*" t #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " nil get-buffer-create "*debug tramp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 12 (#$ . 80904)]) (byte-code "\300\301\302\303#\304\301\305\306#\210\304\301\307\310#\207" [function-put tramp-backtrace speed -1 put byte-optimizer byte-compile-inline-expand tramp-suppress-trace t] 5) #@272 Emit an error. VEC-OR-PROC identifies the connection to use, SIGNAL is the signal identifier to be raised, remaining arguments passed to `tramp-message'. Finally, signal SIGNAL is raised with FMT-STRING and ARGUMENTS. (fn VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS) (defalias 'tramp-error #[899 "\306\307\n\310Y\205\372\211\203\311\211\310\311\312\313\306\"\314\216 \315 \210)r q\210\316 +C\3171\301\nX\205\273\320X\203a\f\204a\321\322\323U\203G\324\202\\\325U\203Q\324\202\\\326U\203[\327\202\\\330P#\210\n\331Y\205\273\323\325U\203\233\3321\232r\333!\203\200\334!\202\204\335\336\"q\210\311P\262\337\316 C\"\211\262)0\210\202\233\210\333!\203\247\340\341\"\262)\242 >\205\273\321\342\343\344\"P$0\266\202\374\266\307\266\202\3742r\345\346!q\210p\347 \2102\307\21134\306\2115\30667\350 \210\351\352!\210+\211\315 \353!\210)\266\202\266\211\204C\262\354\262\203\272\325\354\355\211\356N\321\357  #E!C\3171\270\nX\205\262\320X\203X\f\204X\321\322\323U\203>\324\202S\325U\203H\324\202S\326U\203R\327\202S\330P#\210\n\331Y\205\262\323\325U\203\222\3321\221r\333!\203w\334!\202{\335\336\"q\210\311P\262\337\316 C\"\211\262)0\210\202\222\210\333!\203\236\340\341\"\262)\242 >\205\262\321\342\343\344\"P$0\266\202\272\266\360\361\321\357#!C\"*\207" [signal-hook-function inhibit-message tramp-verbose standard-output tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags t nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal substring-no-properties default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 15 (#$ . 82553)]) (put 'tramp-error 'tramp-suppress-trace t) #@224 Emit an error, and show BUF. If BUF is nil, show the connection buf. Wait for 30", or until an input event arrives. The other arguments are passed to `tramp-error'. (fn BUF VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS) (defalias 'tramp-error-with-buffer #[1156 "\302 \303\304\"\216\305!\203\206(\306!\203\307!\206(\242>\205(\310!\242>\2033\206?\211\205?r\211q\210\311 !)\303\312%\216\313\314%)\266\202)\207" [cl-struct-tramp-file-name-tags default-directory current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] bufferp processp process-buffer tramp-get-connection-buffer tramp-dissect-file-name #[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 tramp-error] 14 (#$ . 84789)]) (byte-code "\300\301\302\303#\304\301\305\306#\210\304\301\307\310#\207" [function-put tramp-error-with-buffer speed -1 put byte-optimizer byte-compile-inline-expand tramp-suppress-trace t] 5) #@86 Signal a user error (or "pilot error"). (fn VEC-OR-PROC FMT-STRING &rest ARGUMENTS) (defalias 'tramp-user-error #[642 "\300\301$\216\302\303\304%)\207" [make-closure #[0 " \306U?\2052\f?\2052\307 \2052\310\311\312\313\301\302#\210\314 \210\315\316!\210\317\300@\"\2051\320 \241*\207" [V0 V1 V2 tramp-verbose non-essential inhibit-message 0 current-message t nil apply message discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] 4] apply tramp-error user-error] 9 (#$ . 86082)]) (put 'tramp-user-error 'tramp-suppress-trace t) #@264 Execute BODY while redirecting the error message to `tramp-message'. BODY is executed like wrapped by `with-demoted-errors'. FORMAT is a format-string containing a %-sequence meaning to substitute the resulting error message. (fn VEC-OR-PROC FORMAT &rest BODY) (defalias 'tramp-with-demoted-errors '(macro . #[642 "\300\301!\302\303B\304\305\306 \257\307BBF\207" [make-symbol "err" condition-case-unless-debug progn error tramp-message 3 (nil)] 13 (#$ . 86698)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\304\301\307\310#\207" [function-put tramp-with-demoted-errors lisp-indent-function 2 put edebug-form-spec (symbolp form body) tramp-suppress-trace t] 5) #@86 Emit a Tramp message according `default-directory'. (fn FMT-STRING &rest ARGUMENTS) (defalias 'tramp-test-message #[385 "\301!\203\302\303\304!\305%\207\302\306#\207" [default-directory tramp-tramp-file-p apply tramp-message tramp-dissect-file-name 0 message] 8 (#$ . 87382)]) (put 'tramp-test-message 'tramp-suppress-trace t) #@75 Function to be called via `signal-hook-function'. (fn ERROR-SYMBOL DATA) (defalias 'tramp-signal-hook-function #[514 "\301=?\205\302@\303\304\305##\207" [tramp-current-connection void-variable tramp-error mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn X)"] " "] 9 (#$ . 87724)]) (put 'tramp-signal-hook-function 'tramp-suppress-trace t) #@781 Parse a Tramp filename and make components available in the body. First arg FILENAME is evaluated and dissected into its components. Second arg VAR is a symbol. It is used as a variable name to hold the filename structure. It is also used as a prefix for the variables holding the components. For example, if VAR is the symbol `foo', then `foo' will be bound to the whole structure, `foo-method' will be bound to the method component, and so on for `foo-user', `foo-domain', `foo-host', `foo-port', `foo-localname', `foo-hop'. Remaining args are Lisp expressions to be evaluated (inside an implicit `progn'). If VAR is nil, then we bind `v' to the structure and `method', `user', `domain', `host', `port', `localname', `hop' to the components. (fn FILENAME VAR &rest BODY) (defalias 'with-parsed-tramp-file-name '(macro . #[642 "\300\301\302\"\300\303\304\"A\"\305\206\306\307DDB\310\300\303\"BBBB\207" [mapcar make-closure #[257 "\300\203\301\302\303\300#!\202\211\301\302\304\"!\300\206\305DD\207" [V0 intern format "%s-%s" "tramp-file-name-%s" v] 6 "\n\n(fn ELEM)"] car ((cl-tag-slot nil) (method nil) (user nil) (domain nil) (host nil) (port nil) (localname nil) (hop nil)) let* v tramp-dissect-file-name ignore] 10 (#$ . 88087)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-parsed-tramp-file-name lisp-indent-function 2 put edebug-form-spec (form symbolp body) font-lock-add-keywords emacs-lisp-mode ("\\")] 5) #@82 Report progress of an operation for Tramp. (fn REPORTER &optional VALUE SUFFIX) (defalias 'tramp-progress-reporter-update #[769 "A\211\301H\211\302 \206\f\303\304\305\306#)\266\203\2050\247\203)@Y\205.\307#\266\203\207" [inhibit-changing-match-data 3 current-message "" nil t string-match progress-reporter-do-update] 12 (#$ . 89610)]) #@216 Execute BODY, spinning a progress reporter with MESSAGE in interactive mode. If LEVEL does not fit for visible messages, there are only traces without a visible progress reporter. (fn VEC LEVEL MESSAGE &rest BODY) (defalias 'with-tramp-progress-reporter '(macro . #[899 "\300\301\302B\303\304\257\305\306\307\310\311\312\313\314\315BB\316\317BBFDC\320BBDD\321\322\305\323\nBB\324BB\325\303  \326\327BBBBBFE\257\207" [if (or noninteractive inhibit-message) progn tramp-message "%s..." let (cookie "failed") tm when-let pr and (null tramp-inhibit-progress-reporter) <= ((min tramp-verbose 3)) make-progress-reporter (nil nil) ((run-at-time 3 0.1 #'tramp-progress-reporter-update pr)) unwind-protect prog1 ((tramp-inhibit-progress-reporter (or tramp-inhibit-progress-reporter tm))) ((setq cookie "done")) (if tm (cancel-timer tm)) "%s...%s" (cookie)] 19 (#$ . 89972)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-progress-reporter lisp-indent-function 3 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\")] 5) #@176 Check in Tramp cache for PROPERTY, otherwise execute BODY and set cache. FILE must be a local file name on a connection identified via VEC. (fn VEC FILE PROPERTY &rest BODY) (defalias 'with-tramp-file-property '(macro . #[899 "\300\301D\302\303\304\305BBBBDC\306\307\310\303\311 BE\312   \313BBBBF\314BBBBBB\207" [if file-name-absolute-p let value tramp-get-file-property (tramp-cache-undefined) when (eq value tramp-cache-undefined) setq progn tramp-set-file-property (value) (value)] 16 (#$ . 91106)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-file-property lisp-indent-function 3 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\")] 5) #@101 Check in Tramp for property PROPERTY, otherwise execute BODY and set. (fn KEY PROPERTY &rest BODY) (defalias 'with-tramp-connection-property '(macro . #[642 "\300\301\302\303BBBDC\304\305\306\301\307BE\310\311BBBF\312BBB\207" [let value tramp-get-connection-property (tramp-cache-undefined) when (eq value tramp-cache-undefined) setq progn tramp-set-connection-property (value) (value)] 12 (#$ . 91864)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-connection-property lisp-indent-function 2 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\")] 5) #@324 Cut off unnecessary drive letter from file NAME. The functions `tramp-*-handle-expand-file-name' call `expand-file-name' locally on a remote file name. When the local system is a W32 system but the remote system is Unix, this introduces a superfluous drive letter into the file name. This function removes it. (fn NAME) (defalias 'tramp-drop-volume-letter #[257 "\301 \302\303\"\216\304\211?\205\305\306\307!\")\266\202\304\211?\205!\307!\211\211?\205-\305\306\307!\")\266\202\203K\211G\310U\203E\311\202I\211\310\312O\262\313!P)\266\203\314\315\"\203c\316\311\312\317$\202d\211\262\203\232\211\304\211?\205r\211?\205{\305\306\307!\")\266\202\203\214\202\224\313!\306\307!Q)\266\204\202\235\211\266\202)\207" [file-name-handler-alist match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] top string-prefix-p "/:" file-local-name 2 "/" nil file-remote-p string-match "\\`[[:alpha:]]:/" replace-match t] 12 (#$ . 92531)]) #@24 DNS-SD service regexp. (defconst tramp-dns-sd-service-regexp "^_[-[:alnum:]]+\\._tcp$" (#$ . 93533)) #@494 Set the list of completion functions for METHOD. FUNCTION-LIST is a list of entries of the form (FUNCTION FILE). The FUNCTION is intended to parse FILE according its syntax. It might be a predefined FUNCTION, or a user defined FUNCTION. For the list of predefined FUNCTIONs see `tramp-completion-function-alist'. Example: (tramp-set-completion-function "ssh" \='((tramp-parse-sconfig "/etc/ssh_config") (tramp-parse-sconfig "~/.ssh/config"))) (fn METHOD FUNCTION-LIST) (defalias 'tramp-set-completion-function #[514 "\211\304\305\"\"\211\203}\211@A\235\203\211\304@A\"\241\210\306@@!\203o\307@A@\310\311\312#)\266\203\203S\n\313>\203o\314\315\310\211\211\316@A@&\317U\202l @A@\310\311\312#)\266\203\204v\320@A@!\204v\304@\"\262\211A\262\202\n\205\207\321\300B\"\207" [tramp-completion-function-alist inhibit-changing-match-data system-type tramp-dns-sd-service-regexp delete assoc functionp "^HKEY_CURRENT_USER" nil t string-match (cygwin windows-nt) tramp-call-process "reg" "query" 0 file-exists-p add-to-list] 12 (#$ . 93641)]) #@129 Return a list of completion functions for METHOD. For definition of that list see `tramp-set-completion-function'. (fn METHOD) (defalias 'tramp-get-completion-function #[257 "\301\302D\303D\304DE\305\"A\"\207" [tramp-completion-function-alist append tramp-parse-default-user-host tramp-parse-auth-sources tramp-parse-connection-properties assoc] 6 (#$ . 94745)]) #@31 Keeps virtual inodes numbers. (defvar tramp-inodes 0 (#$ . 95120)) #@31 Keeps virtual device numbers. (defvar tramp-devices 0 (#$ . 95193)) #@282 Return file modes of FILENAME as integer. If optional FLAG is ‘nofollow’, do not follow FILENAME if it is a symbolic link. If the file modes of FILENAME cannot be determined, return the value of `default-file-modes', without execute permissions. (fn FILENAME &optional FLAG) (defalias 'tramp-default-file-modes #[513 "\300\"\206\f\301\302 \303\"\207" [tramp-compat-file-modes logand default-file-modes 438] 5 (#$ . 95268)]) #@106 Replace environment variables in FILENAME. Return the string with the replaced variables. (fn FILENAME) (defalias 'tramp-replace-environment-variables #[257 "\300\301\"\207" [substitute-env-vars only-defined] 4 (#$ . 95708)]) #@334 Like `find-operation-coding-system' for Tramp filenames. Tramp's `insert-file-contents' and `write-region' work over temporary file names. If `file-coding-system-alist' contains an expression, which matches more than the file name suffix, the coding system might not be determined. This function repairs it. (fn FILENAME TMPNAME) (defalias 'tramp-find-file-name-coding-system-alist #[514 "\302\211\203/\211@\211:\203(\211@\302\303\304#)\266\203\203(\305!ABB\262A\266\202\202\237\207" [file-coding-system-alist inhibit-changing-match-data nil t string-match regexp-quote] 12 (#$ . 95943)]) #@169 Invoke normal file name handler for OPERATION. First arg specifies the OPERATION, second arg ARGS is a list of arguments to pass to the OPERATION. (fn OPERATION ARGS) (defalias 'tramp-run-real-handler #[514 "\303\304\305\306\307\310\311 =\205 BBBBBBB\312\313\"+\207" [inhibit-file-name-operation inhibit-file-name-handlers signal-hook-function tramp-file-name-handler tramp-vc-file-name-handler tramp-completion-file-name-handler tramp-archive-file-name-handler tramp-crypt-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function nil apply] 11 (#$ . 96559)]) #@299 Return file name related to OPERATION file primitive. ARGS are the arguments OPERATION has been called with. It does not always return a Tramp file name, for example if the first argument of `expand-file-name' is absolute and not remote. Must be handled by the callers. (fn OPERATION &rest ARGS) (defalias 'tramp-file-name-for-operation #[385 "\301\267\202|\302@!\203\211@\207\207\211A@\207\303@!\203 \211@\207\302A@!\203,\211A@\207\207\302@!\2038\211@\207\303A@!\203D\211A@\207\207\302\3048!\203R\3048\207\207\305\306@!\203a@\202bp!\207\207\307@!\205\200r\310@!q\210)\207\311@!\207\312\313\"\207" [default-directory #s(hash-table size 74 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (access-file 6 byte-compiler-base-file-name 6 delete-directory 6 delete-file 6 diff-latest-backup-file 6 directory-file-name 6 directory-files 6 directory-files-and-attributes 6 dired-compress-file 6 dired-uncache 6 file-acl 6 file-accessible-directory-p 6 file-attributes 6 file-directory-p 6 file-executable-p 6 file-exists-p 6 file-local-copy 6 file-modes 6 file-name-as-directory 6 file-name-directory 6 file-name-nondirectory 6 file-name-sans-versions 6 file-notify-add-watch 6 file-ownership-preserved-p 6 file-readable-p 6 file-regular-p 6 file-remote-p 6 file-selinux-context 6 file-symlink-p 6 file-truename 6 file-writable-p 6 find-backup-file-name 6 get-file-buffer 6 insert-directory 6 insert-file-contents 6 load 6 make-directory 6 make-directory-internal 6 set-file-acl 6 set-file-modes 6 set-file-selinux-context 6 set-file-times 6 substitute-in-file-name 6 unhandled-file-name-directory 6 vc-registered 6 file-name-case-insensitive-p 6 file-system-info 6 tramp-set-file-uid-gid 6 make-symbolic-link 18 add-name-to-file 22 copy-directory 22 copy-file 22 file-equal-p 22 file-in-directory-p 22 file-name-all-completions 22 file-name-completion 22 file-newer-than-file-p 22 rename-file 22 expand-file-name 46 write-region 70 make-auto-save-file-name 84 set-visited-file-modtime 84 verify-visited-file-modtime 84 process-file 100 shell-command 100 start-file-process 100 make-nearby-temp-file 100 temporary-file-directory 100 exec-path 100 make-process 100 file-notify-rm-watch 102 file-notify-valid-p 102 tramp-get-remote-gid 119 tramp-get-remote-uid 119)) file-name-absolute-p tramp-tramp-file-p 2 buffer-file-name bufferp processp process-buffer tramp-make-tramp-file-name error "Unknown file I/O primitive: %s"] 5 (#$ . 97167)]) #@80 Return foreign file name handler if exists. (fn FILENAME &optional OPERATION) (defalias 'tramp-find-foreign-file-name-handler #[513 "\301!\205(\302\211\203&@\262A\262@!\203 \302\262A\262\202 \266\202\207" [tramp-foreign-file-name-handler-alist tramp-tramp-file-p nil] 7 (#$ . 99654)]) #@33 Global mutex for Tramp threads. (defvar tramp-mutex (byte-code "\300\301!\205 \301\302!\207" [functionp make-mutex "tramp"] 2) (#$ . 99962)) #@59 Return the mutex locking Tramp threads for VEC. (fn VEC) (defalias 'tramp-get-mutex #[257 "\302!\205 \303!\211\203,\304\305#\211=\203+\306\307!\205#\307\310!!\262\311\305#\210\207 \207" [tramp-cache-undefined tramp-mutex tramp-connectable-p tramp-get-connection-process tramp-get-connection-property "mutex" functionp make-mutex process-name tramp-set-connection-property] 7 (#$ . 100110)]) #@230 Invoke Tramp file name handler for OPERATION and ARGS. Fall back to normal file name handler if no Tramp file name handler exists. If Emacs is compiled --with-threads, the body is protected by a mutex. (fn OPERATION &rest ARGS) (defalias 'tramp-file-name-handler #[385 "\306\307#\206\f\310=\311!\203J\312 \313\314\"\216\315!\262\316!\211\242 >\2040\317\320\321D\"\210\211A@\242 >\204A\317\320\321D\"\210\3228\242 >\204R\317\320\321D\"\210\3238\242 >\204d\317\320\321D\"\210\3248\242 >\204v\317\320\321D\"\210\3258\242 >\204\210\317\320\321D\"\210\3268\242 >\204\234\317\320\321 D\"\210\3278\330\331!\203\251\331 \210\332\333!\203\334!\335!\210\313\336\"\216\330\337!\203\305\337 \210\n\340\f\"\341\342\343 \n@\"\204\335\fC\313\344\"\216\203\337K\342\211\242\345=\262\203\346\347\350N@\351\"\342\352\"\210*@\203,\353!\203,\354!\211\262\203,\330\355!\203,\355\330\356!\205*\356 \"\210\3002=\3572<\306#00\262\360\267\202\331\325\361BC\3621\371AX\205\363\323X\203\213B\204\213\306\363\364U\203q\365\202\206\366U\203{\365\202\206\322U\203\205\367\202\206\370P#\210A\324Y\205\363\364A\366U\203\311\3711\310r\372!\203\254\373!\202\260\374\375\"q\210\376P\262\377\201E C\"\211\262)0\210\202\311\210\372!\203\331\201F\201G\"\262)\242 >\205\363\306\201H\201I\201J\"P$0\266\202\373\266\201K\"\266\202\202\367\351C\366\201LBC\3621\301AX\205\273\323X\203SB\204S\306\363\364U\2039\365\202N\366U\203C\365\202N\322U\203M\367\202N\370P#\210A\324Y\205\273\364A\366U\203\221\3711\220r\372!\203t\373!\202x\374\375\"q\210\376P\262\377\201E C\"\211\262)0\210\202\221\210\372!\203\241\201F\201G\"\262)\242 >\205\273\306\201H\201I\201J\"P$0\266\202\303\266\201M\351\"\210\201K\")\266\202\202\367\266\202\202\367\201K\"\262\211;\203\366\201N!\202\367\211*\266\204)\262\266\210\202D\330\337!\203 \337 \210\n\340 \"\341\342\343\f\n@\"\204# C\313\201O\"\216\203)K\342\211\242\345=\262\203L\346\347\350N@\351\"\342\352\"\210*@\203t\353!\203t\354!\211\262\203t\330\355!\203t\355\330\356!\205r\356 \"\210\3002\205\3572\204\306#00\262\201P\267\202# \325\361BC\3621CAX\205=\323X\203\325B\204\325\306\363\364U\203\273\365\202\320\366U\203\305\365\202\320\322U\203\317\367\202\320\370P#\210A\324Y\205=\364A\366U\203\3711r\372!\203\366\373!\202\372\374\375\"q\210\376P\262\377\201E C\"\211\262)0\210\202\210\372!\203#\201F\201G\"\262)\242 >\205=\306\201H\201I\201J\"P$0\266\202E\266\201K\"\266\202\202A\351C \366\201LBC\3621 AX\205\323X\203\235B\204\235\306\363\364U\203\203\365\202\230\366U\203\215\365\202\230\322U\203\227\367\202\230\370P#\210A\324Y\205\364A\366U\203\333\3711\332r\372!\203\276\373!\202\302\374\375\"q\210\376P\262\377\201E C\"\211\262)0\210\202\333\210\372!\203\353\201F\201G\"\262)\242 >\205\306\201H\201I\201J\"P$0\266\202 \266\201M\351\"\210\201K\")\266\202\202A\266\202\202A\201K\"\262\211;\203@\201N!\202A\211*\266\214)\262\202x\201Q=\203n\201R@\342\351D\201S#)\266\203\204n\201N\202q\201T\201K\"!)\207" [non-essential cl-struct-tramp-file-name-tags tramp-current-connection signal-hook-function file-name-handler-alist default-directory apply tramp-file-name-for-operation file-remote-p tramp-tramp-file-p match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 functionp thread-yield fboundp with-mutex tramp-get-mutex mutex-lock #[0 "\301\300!\207" [V0 mutex-unlock] 2] check-idle-thread tramp-find-foreign-file-name-handler tramp-signal-hook-function nil tramp-file-name-equal-p #[0 "\302\300@ @\"?\205 \300\211\207" [V0 tramp-current-connection tramp-file-name-equal-p] 3] autoload eval temporary-file-directory standard-value t autoload-do-load tramp-connectable-p tramp-get-connection-process set-process-thread current-thread suppress #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (non-essential 325 suppress 520)) "Non-essential received in operation %s" (error) message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append tramp-mutex tramp-verbose tramp-inhibit-progress-reporter inhibit-message inhibit-changing-match-data buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-run-real-handler "Suppress received in operation %s" tramp-cleanup-connection tramp-drop-volume-letter #[0 "\302\300@ @\"?\205 \300\211\207" [V0 tramp-current-connection tramp-file-name-equal-p] 3] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (non-essential 911 suppress 1106)) expand-file-name "\\`[[:alpha:]]:/" string-match identity] 29 (#$ . 100522)]) #@171 Invoke Tramp file name completion handler for OPERATION and ARGS. Falls back to normal file name handler if no Tramp file name handler exists. (fn OPERATION &rest ARGS) (defalias 'tramp-completion-file-name-handler #[385 "\205\302 \"\211\203\303 \304\305\"\216\306A\")\207\307\"\207" [tramp-mode tramp-completion-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 (#$ . 105642)]) #@81 Load Tramp file name handler, and perform OPERATION. (fn OPERATION &rest ARGS) (defalias 'tramp-autoload-file-name-handler #[385 "\304 \210\203 \305\303!\203 \203\306\307\310\311#\210\306\312\310\311#\210)\313\"\207" [tramp-mode temporary-file-directory default-directory tramp-archive-autoload tramp-unload-file-name-handlers boundp load "tramp-archive" noerror nomessage "tramp" apply] 6 (#$ . 106133)]) #@76 Add Tramp file name handlers to `file-name-handler-alist' during autoload. (defalias 'tramp-register-autoload-file-name-handlers #[0 "\301\302\303B\"\210\304\303\305\306#\207" [tramp-autoload-file-name-regexp add-to-list file-name-handler-alist tramp-autoload-file-name-handler put safe-magic t] 4 (#$ . 106556)]) #@142 Change Tramp autoload objects to use absolute file names. This avoids problems during autoload, when `load-path' contains remote file names. (defalias 'tramp-use-absolute-autoload-file-names #[0 "\300\301\302\303!!!\304\305\306\307\310\311\312\313#\"\314\"\"\315\316\317#!\207" [expand-file-name file-name-directory locate-library "tramp" format "^%s$" regexp-opt mapcar file-name-sans-extension directory-files nil "\\`tramp.+\\.elc?\\'" paren mapatoms make-closure #[257 "\303!\205:\211K\211\242\304=\262\205:\301KA@\305\306\307#)\266\203\205:\31018\211K\211A\311KA@\300\"\240\2620\207\210\305\207" [V0 V1 inhibit-changing-match-data functionp autoload nil t string-match (error) expand-file-name] 8 "\n\n(fn ATOM)"]] 10 (#$ . 106878)]) (add-hook 'tramp--startup-hook #[0 "\300 \207" [tramp-use-absolute-autoload-file-names] 1]) #@60 Add Tramp file name handlers to `file-name-handler-alist'. (defalias 'tramp-register-file-name-handlers #[0 "\306 \210\307\305\310B\"\210\311\310\312\313#\210\314 \210\307\305 \315B\"\210\311\315\312\313#\210\311\315\316\317\320\n\"#\210\321\303!\203@ \203@\307\305\f\322B\"\210\311\322\312\313#\210\323\211\205^\211@\324 \"\211\203V\211\325 \"B\210A\266\202\202A\207" [tramp-file-name-regexp tramp-completion-file-name-regexp tramp-completion-file-name-handler-alist tramp-archive-enabled tramp-archive-file-name-regexp file-name-handler-alist tramp-unload-file-name-handlers add-to-list tramp-file-name-handler put safe-magic t tramp-register-crypt-file-name-handler tramp-completion-file-name-handler operations mapcar car boundp tramp-archive-file-name-handler (epa-file-handler jka-compr-handler) rassoc delete] 7 (#$ . 107732)]) (add-hook 'tramp--startup-hook #[0 "\300 \207" [tramp-register-file-name-handlers] 1]) #@251 Register (FUNC . HANDLER) in `tramp-foreign-file-name-handler-alist'. FUNC is the function, which determines whether HANDLER is to be called. Add operations defined in `HANDLER-alist' to `tramp-file-name-handler'. (fn FUNC HANDLER &optional APPEND) (defalias 'tramp-register-foreign-file-name-handler #[770 "\300\301B#\210\302\303\304\305\306\303\304N\307\310\311\312 !\313P!J\"\"!#\207" [add-to-list tramp-foreign-file-name-handler-alist put tramp-file-name-handler operations delete-dups append mapcar car intern symbol-name "-alist"] 14 (#$ . 108671)]) #@79 Check, whether OPERATION runs a file name handler. (fn OPERATION &rest ARGS) (defalias 'tramp-exists-file-name-handler #[385 "\3031\304\211\n\304\305\306#BC\307\"\232+\266\2020\207\210\310\207" [buffer-file-name default-directory file-name-handler-alist (error) "/" make-closure #[385 "\301\232\203\207\300\303\")\207" [V0 V1 file-name-handler-alist apply] 5 "Returns OPERATION if it is the one to be checked.\n\n(fn OPERATION &rest ARGS)"] apply nil] 10 (#$ . 109238)]) #@65 Unload Tramp file name handlers from `file-name-handler-alist'. (defalias 'tramp-unload-file-name-handlers #[0 "\211\205#\211@\211A9\203\301\302\303A!\"\203\304\"A\266\202\202\207" [file-name-handler-alist string-prefix-p "tramp-" symbol-name delq] 6 (#$ . 109734)]) (add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers) #@135 A predicate for Tramp interactive commands. They are completed by "M-x TAB" only if the current buffer is remote. (fn SYMBOL BUFFER) (defalias 'tramp-command-completion-p #[514 "r\211q\210\301!)\207" [default-directory tramp-tramp-file-p] 4 (#$ . 110084)]) #@197 Check, whether it is possible to connect the remote host w/o side-effects. This is true, if either the remote host is already connected, or if we are not in completion mode. (fn VEC-OR-FILENAME) (defalias 'tramp-connectable-p #[257 "\303\242>\203\f\202\304!\205\305!\211\203%\306\307\310!!!\206'\n?)\207" [cl-struct-tramp-file-name-tags tramp-verbose non-essential 0 tramp-tramp-file-p tramp-dissect-file-name process-live-p get-process tramp-buffer-name] 7 (#$ . 110350)]) #@84 Like `file-name-all-completions' for partial Tramp files. (fn FILENAME DIRECTORY) (defalias 'tramp-completion-handle-file-name-all-completions #[514 "\305\306\"!\307\211\211\310\311 \n\312\260\"\203&\313\314\"\262\315\316\307\211\314%\262\317!\211\203\277\211@\211\242 >\204=\320\321\322D\"\210\211A@\242 >\204N\320\321\322D\"\210\3238\242 >\204_\320\321\322D\"\210\3248\242 >\204q\320\321\322D\"\210\3258\326#\307C\204\266\204\207\203\255\327\330\331\"\332!\"\210\333\n\334\330\335\n\n\n$\336\307\242\"\"\"\262\n\266\202\270\333\n\337!\"\262\n\266A\266\202\202)\210\211\203\356\211@\211\203\347\310\"\210\315\fP\307\211$\262\211\305!G\307OB\262A\266\202\202\301\210\333\3401\341\342  D\"0\202\210\307\"\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp cl-struct-tramp-file-name-tags tramp-prefix-format tramp-drop-volume-letter expand-file-name nil string-match "\\(\\(" "\\)+\\)" match-string 1 replace-match "" tramp-completion-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 6 tramp-find-method mapc make-closure #[257 "\300\301\300\242@A@!\"\240\207" [V0 append] 6 "\n\n(fn X)"] tramp-get-completion-function append mapcar #[257 "\303\300\301\302@A@%\207" [V0 V1 V2 tramp-get-completion-user-host] 7 "\n\n(fn X)"] delq tramp-get-completion-methods (error) tramp-run-real-handler file-name-all-completions] 22 (#$ . 110846)]) #@99 Like `file-name-completion' for partial Tramp files. (fn FILENAME DIRECTORY &optional PREDICATE) (defalias 'tramp-completion-handle-file-name-completion #[770 "\301\302\303\304\305\"\"\205\306!\205\307\310##)\207" [non-essential t try-completion mapcar list file-name-all-completions tramp-connectable-p make-closure #[257 "\301\302@\300\"!\207" [V0 V1 expand-file-name] 5 "\n\n(fn X)"]] 10 (#$ . 112315)]) #@129 Return a list of `tramp-file-name' structures for NAME. They are collected by `tramp-completion-dissect-file-name1'. (fn NAME) (defalias 'tramp-completion-dissect-file-name #[257 "\306\307G\310U\203 \202\"\n\311 \312R\313\314\211\211\257\n\311 \315\f\311 \312\260\313\316\314\211\257\n\311 \315\f\311\312\260\313\314\316\314\257\n\311 \315\f\311\n\312\260 \313\314\316\314\257\n\311 \315\f\311 \315\311\312\260\f\313\316\317\314\257\n\311 \315\f\311 \315\311\312\260 \313\316\317\314\257\320\314\321\322\323\f\"      \257\"\"\207" [tramp-postfix-ipv6-format tramp-postfix-host-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp format "[^%s]*" 0 "\\(" "\\|\\(\\)\\)$" 1 nil "\\)" 2 3 delq mapcar make-closure #[257 "\301\300\"\207" [V0 tramp-completion-dissect-file-name1] 4 "\n\n(fn STRUCTURE)"] tramp-host-regexp tramp-prefix-ipv6-regexp tramp-postfix-user-regexp] 20 (#$ . 112747)]) #@195 Return a `tramp-file-name' structure for NAME matching STRUCTURE. The structure consists of remote method, remote user, remote host and localname (filename on remote host). (fn STRUCTURE NAME) (defalias 'tramp-completion-dissect-file-name1 #[514 "\300 \301\302\"\216\303@\"\205>\304A@\205\305A@\"\3068\205)\305\3068\"\307\3108\2059\305\3108\"\307\211\211\257)\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match tramp-file-name match-string 2 nil 3] 11 (#$ . 113721)]) #@72 Return all method completions for PARTIAL-METHOD. (fn PARTIAL-METHOD) (defalias 'tramp-get-completion-methods #[257 "\301\302\303\"\301\304\"\"\207" [tramp-methods mapcar make-closure #[257 "\211\205\302\303\300!P\304\305\306#)\266\203\205\307\304\211\211$\207" [V0 inhibit-changing-match-data "^" regexp-quote nil t string-match tramp-completion-make-tramp-file-name] 8 "\n\n(fn METHOD)"] car] 6 (#$ . 114268)]) #@177 Return the most expanded string for user and host name completion. PARTIAL-USER must match USER, PARTIAL-HOST must match HOST. (fn METHOD PARTIAL-USER PARTIAL-HOST USER HOST) (defalias 'tramp-get-completion-user-host #[1285 "\2039\2039\211\2030\301\302!P\303\304\305#)\266\203\2030\206&\230\2030\262\202\211\303\262\303\262\202\211\203^\303\262\203X\301\302!P\303\304\305#)\266\203\204\211\303\262\202\211\203\203\303\262\211\203}\301\302!P\303\304\305#)\266\203\204\211\303\262\202\211\303\262\303\262GG\\\306U?\205\232\307\303$\207" [inhibit-changing-match-data "^" regexp-quote nil t string-match 0 tramp-completion-make-tramp-file-name] 12 (#$ . 114701)]) #@213 Return a list of (user host) tuples allowed to access for METHOD. This function is added always in `tramp-get-completion-function' for all methods. Resulting data are derived from default settings. (fn METHOD) (defalias 'tramp-parse-default-user-host #[257 "\300\301\211#\302\301\211#DC\207" [tramp-find-user nil tramp-find-host] 6 (#$ . 115427)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable tramp-completion-use-auth-sources funcall function #[0 "\207" [auth-source-do-cache] 1] "Whether to use `auth-source-search' for completion of user and host names.\nThis could be disturbing, if it requires a password / passphrase,\nas for \"~/.authinfo.gpg\"." :version "27.1" :type boolean] 8) #@213 Return a list of (user host) tuples allowed to access for METHOD. This function is added always in `tramp-get-completion-function' for all methods. Resulting data are derived from default settings. (fn METHOD) (defalias 'tramp-parse-auth-sources #[257 "\205\302\303\304\305\306\307\310 &\"\207" [tramp-completion-use-auth-sources most-positive-fixnum mapcar #[257 "\300\301\"\300\302\"D\207" [plist-get :user :host] 5 "\n\n(fn X)"] auth-source-search :port :require (:port) :max] 10 (#$ . 116169)]) #@103 Return a (user host) tuple allowed to access. User is always nil. (fn REGEXP MATCH-LEVEL SKIP-CHARS) (defalias 'tramp-parse-group #[771 "\300\301\302 \303#\203\300\304!D\262\300w\305V\204\306y\210\207" [nil re-search-forward point-at-eol t match-string 0 1] 8 (#$ . 116684)]) #@100 Return a list of (user host) tuples allowed to access. User is always nil. (fn FILENAME FUNCTION) (defalias 'tramp-parse-file #[514 "\301\302\303N@\304\"\305!\2057\306\307\304\"r\211q\210\310\311\"\216\312!\210eb\210\313m\2040 B\262\202#\211\237\262*\262)\207" [default-directory eval temporary-file-directory standard-value t file-readable-p generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents-literally nil] 6 (#$ . 116976)]) #@103 Return a list of (user host) tuples allowed to access. Either user or host may be nil. (fn FILENAME) (defalias 'tramp-parse-rhosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-rhosts-group] 4 (#$ . 117503)]) #@79 Return a (user host) tuple allowed to access. Either user or host may be nil. (defalias 'tramp-parse-rhosts-group #[0 "\302\303\304 \305\260\306\307 \310#\203\311\312\313!\312\314!D!\262\314y\210\207" [tramp-host-regexp tramp-user-regexp nil "^\\(" "\\)\\([ ]+\\(" "\\)\\)?" re-search-forward point-at-eol t append match-string 3 1] 6 (#$ . 117727)]) #@91 Return a list of (user host) tuples allowed to access. User is always nil. (fn FILENAME) (defalias 'tramp-parse-shosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-shosts-group] 4 (#$ . 118092)]) #@67 Return a (user host) tuple allowed to access. User is always nil. (defalias 'tramp-parse-shosts-group #[0 "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "^\\(" "\\)" 1 ","] 4 (#$ . 118304)]) #@91 Return a list of (user host) tuples allowed to access. User is always nil. (fn FILENAME) (defalias 'tramp-parse-sconfig #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-sconfig-group] 4 (#$ . 118521)]) #@67 Return a (user host) tuple allowed to access. User is always nil. (defalias 'tramp-parse-sconfig-group #[0 "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "\\(?:^[ ]*Host\\)\\|\\(?:^.+\\)\\|\\(" "\\)" 1 " "] 4 (#$ . 118735)]) #@97 Return a list of (user host) tuples allowed to access. User is always nil. (fn DIRNAME REGEXP) (defalias 'tramp-parse-shostkeys-sknownhosts #[514 "\301\302\303N@\304\"\305!\205\306!\211\307\211:\203<@\262\310\311\"\2045\310\"\2035\307\312\313\"DB\262A\262\202\211\237\266\203)\207" [default-directory eval temporary-file-directory standard-value t file-directory-p directory-files nil string-match "^\\.\\.?$" match-string 1] 10 (#$ . 118988)]) #@90 Return a list of (user host) tuples allowed to access. User is always nil. (fn DIRNAME) (defalias 'tramp-parse-shostkeys #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^key_[[:digit:]]+_\\(" "\\)\\.pub$"] 6 (#$ . 119461)]) #@90 Return a list of (user host) tuples allowed to access. User is always nil. (fn DIRNAME) (defalias 'tramp-parse-sknownhosts #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^\\(" "\\)\\.ssh-\\(dss\\|rsa\\)\\.pub$"] 6 (#$ . 119728)]) #@91 Return a list of (user host) tuples allowed to access. User is always nil. (fn FILENAME) (defalias 'tramp-parse-hosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-hosts-group] 4 (#$ . 120002)]) #@67 Return a (user host) tuple allowed to access. User is always nil. (defalias 'tramp-parse-hosts-group #[0 "\302\303\304 \305\260\306\307#\207" [tramp-ipv6-regexp tramp-host-regexp tramp-parse-group "^\\(" "\\|" "\\)" 1 " "] 6 (#$ . 120212)]) #@99 Return a list of (user host) tuples allowed to access. Host is always "localhost". (fn FILENAME) (defalias 'tramp-parse-passwd #[257 "\301\302\303#\211=\203S\304\305!\203G\306\307\310\"r\211q\210\311\312\"\216\313\302\305\302\310\302\314&\315U\205Aeb\210\302m\204=\316 B\262\2020\211\237\262*\262\202K\317\320\"\262\321\302\303#\210\207" [tramp-cache-undefined tramp-get-connection-property nil "parse-passwd" executable-find "getent" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-process "passwd" 0 tramp-parse-etc-group-group tramp-parse-file tramp-parse-passwd-group tramp-set-connection-property] 10 (#$ . 120462)]) #@75 Return a (user host) tuple allowed to access. Host is always "localhost". (defalias 'tramp-parse-passwd-group #[0 "\301\302\303Q\304\305 \306#\203\307\310!\311D\262\310y\210\207" [tramp-user-regexp nil "^\\(" "\\):" re-search-forward point-at-eol t match-string 1 "localhost"] 6 (#$ . 121183)]) #@100 Return a list of (group host) tuples allowed to access. Host is always "localhost". (fn FILENAME) (defalias 'tramp-parse-etc-group #[257 "\301\302\303#\211=\203S\304\305!\203G\306\307\310\"r\211q\210\311\312\"\216\313\302\305\302\310\302\314&\315U\205Aeb\210\302m\204=\316 B\262\2020\211\237\262*\262\202K\317\316\"\262\320\302\303#\210\207" [tramp-cache-undefined tramp-get-connection-property nil "parse-group" executable-find "getent" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-process "group" 0 tramp-parse-etc-group-group tramp-parse-file tramp-set-connection-property] 10 (#$ . 121491)]) #@76 Return a (group host) tuple allowed to access. Host is always "localhost". (defalias 'tramp-parse-etc-group-group #[0 "\300\301`\302 {\303\"\304 \301\3058\306\307#\235\203\211@\310D\262\311y\210\207" [nil split-string point-at-eol ":" user-login-name 3 "," omit "localhost" 1] 7 (#$ . 122189)]) #@88 Return a list of (user host) tuples allowed to access. User may be nil. (fn FILENAME) (defalias 'tramp-parse-netrc #[257 "\300\301\302\"\210\303\304\301!\"\207" [autoload netrc-parse "netrc" mapcar #[257 "\300\301\"\205\300\302\"A\300\301\"AD\207" [assoc "machine" "login"] 5 "\n\n(fn ITEM)"]] 5 (#$ . 122495)]) #@102 Return a list of (user host) tuples allowed to access. User is always nil. (fn REGISTRY-OR-DIRNAME) (defalias 'tramp-parse-putty #[257 "\303=\203P\304\305\306 #\211 =\203O\307\310\311\"r\211q\210\312\313\"\216\314\305\315\305\311\305\316 &\317U\205Deb\210\305m\204@\320!B\262\2022\211\237\262*\262\262\321\305\306#\210\207\322\323\n\324Q\"\207" [system-type tramp-cache-undefined tramp-host-regexp windows-nt tramp-get-connection-property nil "parse-putty" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-call-process "reg" "query" 0 tramp-parse-putty-group tramp-set-connection-property tramp-parse-shostkeys-sknownhosts "^\\(" "\\)$"] 11 (#$ . 122821)]) #@82 Return a (user host) tuple allowed to access. User is always nil. (fn REGISTRY) (defalias 'tramp-parse-putty-group #[257 "\300\301!\302P\303\304 \305#\203\300\306\307!D\262\307y\210\207" [nil regexp-quote "\\\\\\(.+\\)" re-search-forward point-at-eol t match-string 1] 7 (#$ . 123571)]) #@71 Normal hook to be run at the end of `tramp-*-handle-file-local-copy'. (defvar tramp-handle-file-local-copy-hook nil (#$ . 123871)) #@68 Normal hook to be run at the end of `tramp-*-handle-write-region'. (defvar tramp-handle-write-region-hook nil (#$ . 124008)) #@59 Like `access-file' for Tramp files. (fn FILENAME STRING) (defalias 'tramp-handle-access-file #[514 "\301\302!!?\205%\303!\304\305#\306\307N\203\310#\207\310\311$\266\202\207" [tramp-file-missing file-readable-p file-truename tramp-dissect-file-name format "%s: %s" file-missing error-conditions tramp-error "No such file or directory: %s"] 9 (#$ . 124139)]) #@96 Like `add-name-to-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-handle-add-name-to-file #[770 "\301\302!\203 \202\f!\211\242>\204\303\304\305D\"\210\211A@\242>\204,\303\304\305D\"\210\3068\242>\204=\303\304\305D\"\210\3078\242>\204O\303\304\305D\"\210\3108\242>\204a\303\304\305D\"\210\3118\242>\204s\303\304\305D\"\210\3128\242>\204\207\303\304\305 D\"\210\3138\314  \"\204\234\315\316\317\320$\210\321\n!\203\307\203\267\247\203\302\322\323\324\"!\204\302\315\325\f#\210\202\307\326\n!\210\327\"\210\330  \331\332\333\334&\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name tramp-tramp-file-p signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-equal-remote tramp-error file-error "add-name-to-file: %s" "only implemented for same method, same user, same 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 copy-file ok-if-already-exists keep-time preserve-uid-gid preserve-permissions] 18 (#$ . 124517)]) #@106 Like `copy-directory' for Tramp files. (fn DIRECTORY NEWNAME &optional KEEP-DATE PARENTS COPY-CONTENTS) (defalias 'tramp-handle-copy-directory #[1282 "\301!\204\"\302!\303\304N\203\305#\266\202\"\305\306$\266\307\310\257\"\207" [tramp-file-missing file-exists-p tramp-dissect-file-name file-missing error-conditions tramp-error "No such file or directory: %s" tramp-run-real-handler copy-directory] 12 (#$ . 125667)]) #@61 Like `directory-file-name' for Tramp files. (fn DIRECTORY) (defalias 'tramp-handle-directory-file-name #[257 "\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\3128G\313U?\205\227\211GSH\314=\205\227\315\230?\266\210\203\245\211\313\316O\262\202\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 47 "/" -1] 12 (#$ . 126118)]) #@91 Like `directory-files' for Tramp files. (fn DIRECTORY &optional FULL MATCH NOSORT COUNT) (defalias 'tramp-handle-directory-files #[1281 "\302!\204\"\303!\304\305N\203\306#\266\202\"\306\307$\266\310!\205\221\311\312!!\262\313\314\"\237\315\211\203n\316\211A\262\242!\262\203Z\315\317\320#)\266\203\2038\203fP\202g\211B\262\2028\204x\321\322\"\262\323!\203\216\324V\203\216\325\211GZ\"\262\266\203\207" [tramp-file-missing inhibit-changing-match-data file-exists-p tramp-dissect-file-name file-missing error-conditions tramp-error "No such file or directory: %s" file-directory-p file-name-as-directory expand-file-name file-name-all-completions "" nil directory-file-name t string-match sort string< natnump 0 nbutlast] 15 (#$ . 126764)]) #@116 Like `directory-files-and-attributes' for Tramp files. (fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT COUNT) (defalias 'tramp-handle-directory-files-and-attributes #[1537 "\300\301\302$\303%\"\207" [mapcar make-closure #[257 "\211\303\301\203\n\202\304\300\"\302\"B\207" [V0 V1 V2 file-attributes expand-file-name] 6 "\n\n(fn X)"] tramp-compat-directory-files] 14 (#$ . 127570)]) #@49 Like `dired-uncache' for Tramp files. (fn DIR) (defalias 'tramp-handle-dired-uncache #[257 "\301\302!\203 \202\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204.\304\305\306D\"\210\3078\242>\204?\304\305\306D\"\210\3108\242>\204Q\304\305\306D\"\210\3118\242>\204c\304\305\306D\"\210\3128\242>\204u\304\305\306D\"\210\3138\242>\204\211\304\305\306 D\"\210\3148\315\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name file-directory-p file-name-directory signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-directory-properties] 12 (#$ . 127983)]) #@67 Like `expand-file-name' for Tramp files. (fn NAME &optional DIR) (defalias 'tramp-handle-expand-file-name #[513 "\211\206 \206 \303\262G\304U\203\305\262\306!\204\"\307!P\262\310!\204/\311\312\313D\"\207\314!\211\242 >\204@\315\316\317D\"\210\211A@\242 >\204Q\315\316\317D\"\210\3208\242 >\204b\315\316\317D\"\210\3218\242 >\204t\315\316\317D\"\210\3228\242 >\204\206\315\316\317D\"\210\3238\242 >\204\230\315\316\317D\"\210\3248\242 >\204\254\315\316\317 D\"\210\3258\311\306C\"\204\275\303P\262\326\313\327\330#)\266\203\203\320\303\262\331\332\333N@\327\"\334\335\311\312C\"!\")\207" [default-directory cl-struct-tramp-file-name-tags inhibit-changing-match-data "/" 0 "." file-name-absolute-p file-name-as-directory tramp-tramp-file-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 "^/\\.\\.?$" t string-match eval temporary-file-directory standard-value tramp-make-tramp-file-name tramp-drop-volume-letter] 17 (#$ . 128614)]) #@68 Like `file-accessible-directory-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-accessible-directory-p #[257 "\300!\205 \301!\207" [file-directory-p file-readable-p] 3 (#$ . 129692)]) #@57 Like `file-directory-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-directory-p #[257 "\300\301!!\211@\262\302=\207" [file-attributes file-truename t] 4 (#$ . 129901)]) #@65 Like `file-equalp-p' for Tramp files. (fn FILENAME1 FILENAME2) (defalias 'tramp-handle-file-equal-p #[514 "\300\301!\301!\"\205\302\303D\"\207" [tramp-equal-remote expand-file-name tramp-run-real-handler file-equal-p] 6 (#$ . 130095)]) #@54 Like `file-exists-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-exists-p #[257 "\300!\205 \301!??\207" [tramp-connectable-p file-attributes] 3 (#$ . 130344)]) #@70 Like `file-in-directory-p' for Tramp files. (fn FILENAME DIRECTORY) (defalias 'tramp-handle-file-in-directory-p #[514 "\300\301!\301!\"\205\302\303D\"\207" [tramp-equal-remote expand-file-name tramp-run-real-handler file-in-directory-p] 6 (#$ . 130530)]) #@56 Like `file-local-copy' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-local-copy #[257 "\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 !\204\244 \316\317N\203\234\320 #\266\202\244\320 \321$\266\322\323\324\n\325\326\327N@\330\"\"\331\330\"#\266\202\332\n\333\334$\210\207" [cl-struct-tramp-file-name-tags tramp-file-missing tramp-temp-name-prefix 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" nil make-temp-file expand-file-name eval temporary-file-directory standard-value t file-name-extension copy-file ok-if-already-exists keep-time] 17 (#$ . 130798)]) #@66 Like `file-modes' for Tramp files. (fn FILENAME &optional FLAG) (defalias 'tramp-handle-file-modes #[513 "\300!\211\205 \211\3018\262\211\205(\302=\204%\211\303H\304=\203%\305\306!!\207\307!\207" [file-attributes 8 nofollow 0 108 file-modes file-truename tramp-mode-string-to-int] 7 (#$ . 131764)]) #@59 Like `file-name-as-directory' for Tramp files. (fn FILE) (defalias 'tramp-handle-file-name-as-directory #[257 "\301\302\"\303\211\242>\204\304\305\306D\"\210\3078G\310U\203$\311!?\206:\312\313\242>\2045\304\305\306D\"\210\3078C\"\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 6 0 tramp-connectable-p tramp-run-real-handler file-name-as-directory] 10 (#$ . 132080)]) #@69 Like `file-name-case-insensitive-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-name-case-insensitive-p #[257 "\306!\262\307!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312 D\"\210\3208\321\322\"\206\370\323 \324\325#\205\370\326\327 #\211 =\203\365\3301\350\n\204\257 \203S\331\n!\324\211?\205\272\f\332!\211\211?\205\306\f\333\334\332!\")\266\202\203\344\211G\313U\203\336\335\202\342\211\313\324O\262\323!P)\266\203\324\211C\336\337!\324\340@\341#)\266\203\203\342!\204\331\343!!\262\202\361\336\337!\324\340@\341#)\266\203\204>\211\343!A\344\345!\2057\345\346!)\240\210\211\242\262\347\350\"\216\342\323!\337!\226P!*\266\203\202\344\316\351\352C\3531\367BX\205\361\314X\203\225C\204\225\354\355\356U\203{\357\202\220\360U\203\205\357\202\220\313U\203\217\361\202\220\362P#\210B\315Y\205\361\356B\360U\203\321\3631\320r\364!\203\266\365!\202\272\366\367\"q\210\370P\262\371\372 C\"\211\262)0\210\202\321\210\364!\203\335\373\374\"\262)\242>\205\361\354\375\376\377\"P$0\266\202\371\266\201DCC?\205\316B\314^X\205\201E\352\324\211#\211\205#\201F\314\201G\201H$\262\347\201I\f$\216C\2065\211C\331\f!\324\211?\205B\f\332!\211\211?\205N\f\333\334\332!\")\266\202\203l\211G\313U\203f\335\202j\211\313\324O\262\323!P)\266\203\324\211C\336\337!\324\340@\341#)\266\203\203\234\342!\204\234\331\343!!\262\202y\336\337!\324\340@\341#)\266\203\204\306\211\343!A\344\345!\205\277\345\346!)\240\210\211\242\262\347\201J\"\216\342\323!\337!\226P!*\266\203)\201K\240\210)\266\2020\202\352\210\324\262\201L \327#\210\211\262\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined noninteractive inhibit-message file-name-handler-alist case-fold-search expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-method-parameter tramp-case-insensitive file-remote-p nil connected tramp-get-connection-property "case-insensitive" (error) directory-file-name file-local-name string-prefix-p "/:" "/" "[[:lower:]]" tramp-file-local-name t string-match file-exists-p file-name-directory functionp make-nearby-temp-file "tramp." make-closure #[0 "\300\242\205 \301\300\242!\207" [V0 delete-file] 2] "%s..." #1="Checking case-insensitive" #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 vector tramp-debug-message format #8="(%d) # " inhibit-changing-match-data default-directory tramp-verbose tramp-inhibit-progress-reporter "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 \324Y\205\243\316\320U\203\203\3251\202r\326!\203h\327!\202l\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\203\210\326!\203\217\335\336\"\262)\242 >\205\243\314\337\340\341\"P$0\207\266\342\207" [V0 V1 V2 tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags cancel-timer 5 "%s...%s" #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] 10] #[0 "\300\242\205 \301\300\242!\207" [V0 delete-file] 2] "done" tramp-set-connection-property] 22 (#$ . 132558)]) #@91 Like `file-name-completion' for Tramp files. (fn FILENAME DIRECTORY &optional PREDICATE) (defalias 'tramp-handle-file-name-completion #[770 "\300C\300\301\"\262\211:\203$\302\303\302\304\"\"G\305U\203$\302\303\302\304\"\"\262\306\307\310$#\2069\306\242\"\207" [nil file-name-all-completions delete "./" "../" 1 try-completion make-closure #[257 "\301\206\305\306\300\"!\205- \205,\307 \310\"\311P\312\313\314#)\266\203\205,\302\302\242B\240?\207" [V0 V1 V2 completion-ignored-extensions inhibit-changing-match-data identity expand-file-name regexp-opt paren "$" nil t string-match] 8 "\n\n(fn X)"]] 13 (#$ . 136394)]) #@56 Like `file-name-directory' for Tramp files. (fn FILE) (defalias 'tramp-handle-file-name-directory #[257 "\301\302\"\303\304\305\242>\204\306\307\310D\"\210\3118C\"\206 \312\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name tramp-run-real-handler file-name-directory signal wrong-type-argument tramp-file-name 6 noloc] 10 (#$ . 137050)]) #@59 Like `file-name-nondirectory' for Tramp files. (fn FILE) (defalias 'tramp-handle-file-name-nondirectory #[257 "\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\314C\"\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-run-real-handler file-name-nondirectory] 12 (#$ . 137446)]) #@66 Like `file-newer-than-file-p' for Tramp files. (fn FILE1 FILE2) (defalias 'tramp-handle-file-newer-than-file-p #[514 "\300!\204\301\207\300!\204\302\207\303\304!\3058\262\304!\3058\262\"\207" [file-exists-p nil t time-less-p file-attributes 5] 7 (#$ . 138049)]) #@55 Like `file-regular-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-regular-p #[257 "\300!\205\301!\211\205\211\3028\262\303H\304=\262\207" [file-exists-p file-attributes 8 0 45] 5 (#$ . 138330)]) #@89 Like `file-remote-p' for Tramp files. (fn FILENAME &optional IDENTIFICATION CONNECTED) (defalias 'tramp-handle-file-remote-p #[769 "\302^\303!\205\345\304!\305!\306!\205\307\310\311#\304\203'\312!\202)!\211\242 >\2048\313\314\315D\"\210\211A@\242 >\204I\313\314\315D\"\210\3168\242 >\204Z\313\314\315D\"\210\3028\242 >\204l\313\314\315D\"\210\3178\242 >\204~\313\314\315D\"\210\3208\242 >\204\220\313\314\315D\"\210\3218\242 >\204\244\313\314\315 D\"\210\3228 \203\262\205\343\f\323\267\202\336\266\213\202\345\324!\266\213\202\345\325!\266\213\202\345\266\213\202\345\211\266\213\202\345\326\327\"\266\213)\207" [tramp-verbose cl-struct-tramp-file-name-tags 3 tramp-tramp-file-p tramp-dissect-file-name tramp-get-connection-process process-live-p tramp-get-connection-property "connected" nil expand-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (method 185 user 192 host 201 localname 210 hop 216)) tramp-file-name-user-domain tramp-file-name-host-port tramp-make-tramp-file-name noloc] 17 (#$ . 138557)]) #@61 Like `file-selinux-context' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-selinux-context #[257 "\300\207" [(nil nil nil nil)] 2 (#$ . 139744)]) #@55 Like `file-symlink-p' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-symlink-p #[257 "\300!\211@\262\211;\205 \211\207" [file-attributes] 3 (#$ . 139910)]) #@54 Like `file-truename' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-file-truename #[257 "\304!\203\n\305\202 \306\307\211?\205\310\311\312!\")\266\202\203$\313\202%\306\314!\307\211?\205/\312!\211\211?\205;\310\311\312!\")\266\202\203Y\211G\315U\203S\316\202W\211\315\307O\262\317!P)\266\203\320\321\307\211\322!\211\242\n>\204x\323\324\325D\"\210\211A@\242\n>\204\211\323\324\325D\"\210\3158\242\n>\204\232\323\324\325D\"\210\3268\242\n>\204\254\323\324\325D\"\210\3278\242\n>\204\276\323\324\325D\"\210\3308\242\n>\204\320\323\324\325D\"\210\3318\242\n>\204\344\323\324\325 D\"\210\3328\333\334!\203\335\n\336 $\211 =\203\337!\211\262 \203W\203T\262\322\314!!\211\242\n>\204)\323\324\325D\"\210\211A@\242\n>\204:\323\324\325D\"\210\3158\242\n>\204K\323\324\325D\"\210\3268\242\n>\204]\323\324\325D\"\210\3278\242\n>\204o\323\324\325D\"\210\3308\242\n>\204\201\323\324\325D\"\210\3318\242\n>\204\225\323\324\325 D\"\210\3328\333;\203\347\317!\203\332\340\211?\205\262\211?\205\273\310\311\312!\")\266\202\203\314\202\324\317!\311\312!Q)\266\202\202\350\341\314\342!\"!\202\350\343#\266\210\262Y\203\376\344 \345\346$\210\202\376\347\350!!\262\351 \336$\210\211\262\202#\337!\211\262\f\203  W\203 T\262\322\314!!\211\242\n>\204D\323\324\325D\"\210\211A@\242\n>\204U\323\324\325D\"\210\3158\242\n>\204f\323\324\325D\"\210\3268\242\n>\204x\323\324\325D\"\210\3278\242\n>\204\212\323\324\325D\"\210\3308\242\n>\204\234\323\324\325D\"\210\3318\242\n>\204\260\323\324\325 D\"\210\3328\333;\203\317!\203\365\340\211?\205\315\211?\205\326\310\311\312!\")\266\202\203\347\202\357\317!\311\312!Q)\266\202\202\341\314\342!\"!\202\343#\266\210\262  Y\203\344\n\345\346$\210\202\347\350!!\"\266\210)\266\205!!\207" [file-name-handler-alist tramp-crypt-enabled cl-struct-tramp-file-name-tags tramp-cache-undefined directory-name-p file-name-as-directory identity nil string-prefix-p "/:" file-local-name tramp-compat-file-name-quote expand-file-name 2 "/" file-remote-p 0 20 tramp-dissect-file-name 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" file-symlink-p top tramp-drop-volume-letter file-name-directory nohop tramp-error file-error "Maximum number (%d) of symlinks exceeded" tramp-file-local-name directory-file-name tramp-set-file-property] 37 (#$ . 140089)]) #@56 Like `file-writable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-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\275\315\316 $\211 =\203\274\317\n!\203\243\320 \321\"\202\262\322\323 !!\205\262\324\323 !!\262\325 \316$\210\207\317 !\203\312\320\321\"\207\322\323\n!!\205\331\324\323\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-writable-p" file-exists-p tramp-check-cached-permissions 119 file-directory-p file-name-directory file-writable-p tramp-set-file-property] 15 (#$ . 142711)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable tramp-allow-unsafe-temporary-files funcall function #[0 "\300\207" [nil] 1] "Whether root-owned auto-save or backup files can be written to \"/tmp\"." :version "28.1" :type boolean] 8) #@62 Like `find-backup-file-name' for Tramp files. (fn FILENAME) (defalias 'tramp-handle-find-backup-file-name #[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 \203\220\320\321\322\n\" \"\202\221\n\323\324\325\fC\"\211\262 \204\347\326@\f\"\203\347\327\f\330\"\3128\262\206\267 \331U\203\347\332\333\f!\334##\211#=\203\332\335\336!\262\337\333 !\334#\210\211\262\204\347\340 \341\342#\210)\207" [cl-struct-tramp-file-name-tags tramp-backup-directory-alist backup-directory-alist tramp-allow-unsafe-temporary-files temporary-file-directory tramp-unknown-id-integer tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 mapcar make-closure #[257 "\211@A;\203\301A!\203\302A!\204\303\300A\"\202 AB\207" [V0 file-name-absolute-p tramp-tramp-file-p tramp-make-tramp-file-name] 5 "\n\n(fn X)"] nil tramp-run-real-handler find-backup-file-name file-in-directory-p file-attributes integer 0 tramp-get-connection-property tramp-get-process "unsafe-temporary-file" yes-or-no-p "Backup file on local temporary directory, do you want to continue? " tramp-set-connection-property tramp-error file-error "Unsafe backup file name" tramp-cache-undefined] 17 (#$ . 143936)]) #@102 Like `insert-directory' for Tramp files. (fn FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P) (defalias 'tramp-handle-insert-directory #[1026 "\204\306\262\307!\203\211\204\310P\262\204\311\312\"\210\313\314!!\211\242>\2042\315\316\317D\"\210\211A@\242>\204C\315\316\317D\"\210\3208\242>\204T\315\316\317D\"\210\3218\242>\204f\315\316\317D\"\210\3228\242>\204x\315\316\317D\"\210\3238\242>\204\212\315\316\317D\"\210\3248\242>\204\236\315\316\317 D\"\210\3258 \204\252\n\203\326\211\327\330F\"\210\331 \326\332\333#)\266\203?\205\212eb\210\334`\335 \336\332$\211\262\205\211\337\335 \336\332$\206\353\335 |\210\340 \335 U\203\377`\326y\210`|\210\202\321\326y\210\202\321))\207\341\342\343\344\"C\3451\255 X\205\247\321X\203M?\204M\346\347\341U\2033\306\202H\350U\203=\306\202H\320U\203G\351\202H\352P#\210 \322Y\205\247\341\350U\203\207\3531\206r\354!\203l\355!\202p\356\357\"q\210\360P\262\361\362 C\"\211\262)0\210\202\207\210\354!\203\223\363\364\"\262)\242>\205\247\346\365\343\366\"P$0\266\202\257\266\367C??\205\310\341 \321^X\205\310\370\343\344\"\326\211#\211\205\322\371\321\372\373$\262\374\375\f%\216?\206\344\211?\326\211\327\330F\"\210\331\326\332\333#)\266\203?\205B\212eb\210\334`\335 \336\332$\211\262\205A\211\337\335 \336\332$\206'\335 |\210\340 \335 U\203;`\326y\210`|\210\202 \326y\210\202 ))\266\202)\376\240\210)\207" [cl-struct-tramp-file-name-tags noninteractive inhibit-message ls-lisp-use-insert-directory-program inhibit-changing-match-data tramp-verbose #3="" directory-name-p "F" access-file "Reading directory" tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 nil tramp-run-real-handler insert-directory "l" t string-match text-property-not-all point-at-eol dired-filename text-property-any point-at-bol 0 "%s..." format #1="Opening directory %s" #2=(error) apply message 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 "%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" tramp-inhibit-progress-reporter] 24 (#$ . 145408)]) #@93 Like `insert-file-contents' for Tramp files. (fn FILENAME &optional VISIT BEG END REPLACE) (defalias 'tramp-handle-insert-file-contents #[1281 "C\306 \210\211\307\242!\240\210\310\211C\310C\311\242!\211\242>\204#\312\313\314D\"\210\211A@\242>\2044\312\313\314D\"\210\3158\242>\204E\312\313\314D\"\210\3168\242>\204W\312\313\314D\"\210\3178\242>\204i\312\313\314D\"\210\3208\242>\204{\312\313\314D\"\210\3218\242>\204\217\312\313\314 D\"\210\3228\323\324    &\216\325\f\242!\204\312\f\242\326\327N\203\277\330 #\266\202M\330 \331$\266\202M\n\204\322 \203\3321\344\333!\203\372\310\334!)\203\372\335\336\257\"\211\262\f\202\337\204 \203n\337!\203n \204n\340 !\240\210\341\342!\203e\342\203>\203>\343\344\345!Z\242%\202c\203R\343\346\345!\242$\202c\205c\343\347\345!\242$\"\210\310\211@\262\310\262 A\336=\205x\350A \242;\203\216\350\351\n\f\242\352#!\202\247@;\203\242\353 \242@\354#\210@\202\247\350 \242!)\240\210\355\n\242\356\"\210\242\204\304\357\360\"\203\304 \242@\361\f\242 \242\"B\336\n\242%\211\262\f)0\210\202M\362\363\364\310\312\365@D\365ADEE\310\366$\210\312@A\"\266\202M\316\367\370\371\242\"C\3721\313CX\205\305\316X\203OD\204O\373\374\375U\2031\376\202J\377U\203;\376\202J\315U\203G\201E\202J\201FP#\210C\317Y\205\305\375C\377U\203\233\201G1\232r\201H!\203v\201I!\202~\201J\201K\"q\210\201LP\262\201M\201N C\"\211\262)0\210\202\233\210\201H!\203\255\201O\201P\"\262)\242>\205\305\373\201Q\343\201R\"P$0\266\202\315\266\201SCD?\205\354\316C\316^X\205\354\201T\370\371\242\"\310\211#\211\205\374\201U\316\201V\201W$\262\323\201X\f%\216D\206\211D\201Y1&\333\n!\203<\310\334!)\203<\335\336\257\"\211\262\202!\204F\203\260\337\n!\203\260 \204\260\n\340 !\240\210\341\342!\203\247\342\n\203\200\203\200\343\344\345 !Z\242%\202\245\203\224\343\346\345 !\242$\202\245\205\245\343\347\345 !\242$\"\210\310\211@\262\310\262 A\336=\205\272\350A \242;\203\320\350\351\f\242\352#!\202\351@;\203\344\353\242@\354#\210@\202\351\350\242!)\240\210\355\f\242\356\"\210\n\242\204\357\n\360\"\203 \242@\361\242 \242\"B\336\f\242%\211\262)0\210\202C\362\363\364\310\312\365@D\365ADEE\310\366$\210\312@A\"\266)\201Z\240\210)\266)\307\f\242! AB\207" [cl-struct-tramp-file-name-tags tramp-file-missing noninteractive inhibit-message file-name-handler-alist tramp-crypt-enabled barf-if-buffer-read-only expand-file-name nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 make-closure #[0 "\301\203\300\242\306\300\242!? \307 \210\310\311!\210\302\242;\203*\303\242\204%\204*\312\302\242!\210\303\242;\2058\312\313\304\303\242\314#!\207" [V0 V1 V2 V3 V4 buffer-file-name file-writable-p set-visited-file-modtime set-buffer-modified-p nil delete-file tramp-make-tramp-file-name nohop buffer-read-only tramp-temp-buffer-file-name] 5] file-exists-p file-missing error-conditions tramp-error "No such file or directory: %s" (error) tramp-local-host-p file-readable-p tramp-run-real-handler insert-file-contents tramp-sh-file-name-handler-p tramp-make-tramp-temp-file functionp tramp-send-command format "dd bs=1 skip=%d if=%s count=%d of=%s" tramp-shell-quote-argument "dd bs=1 skip=%d if=%s of=%s" "dd bs=1 count=%d if=%s of=%s" file-local-copy tramp-make-tramp-file-name nohop copy-file ok set-file-modes 384 tramp-get-method-parameter tramp-copy-keep-tmpfile tramp-find-file-name-coding-system-alist add-hook find-file-not-found-functions lambda quote t "%s..." format-message #1="Inserting `%s'" #2=(error) apply message 0 #3="" 1 tramp-temp-buffer-file-name inhibit-file-name-operation file-coding-system-alist tramp-verbose tramp-inhibit-progress-reporter #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 "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\252\fX\205\250\307X\203M \204M\314\315\316U\2033\317\202H\320U\203=\317\202H\321U\203G\322\202H\323P#\210\f\324Y\205\250\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#>\205\250\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 #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 cl-struct-tramp-file-name-tags] 10] (error) "done"] 29 (#$ . 148519)]) #@90 Like `load' for Tramp files. (fn FILE &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX) (defalias 'tramp-handle-load #[1281 "C\306\307\242!!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312 D\"\210\3208\n\204\262\321 \242\322P!\203\240\211\242\322P\240\210\202\262\321 \242\323P!\203\262\211\242\323P\240\210 \203\333\324 \242!\204\333\325 \242\326\327\330#)\266\203\204\333\331\332\333\f\242$\210\f\204\321 \242!\204 \242\334\335N\203\375\331\n#\266\202\331\n\336$\266\321 \242!\205G\f?\205 \f\206\f \204$\f\203>\337 \242!\340\341\"\216\342\327%\210)\210\202E\343\344\345\346 \242\"C\3471\347@X\205\341\314X\203\205A\204\205\350\351\343U\203k\352\202\200\353U\203u\352\202\200\313U\203\354\202\200\355P#\210@\315Y\205\341\343@\353U\203\301\3561\300r\357!\203\246\360!\202\252\361\362\"q\210\363P\262\364\365 C\"\211\262)0\210\202\301\210\357!\203\315\366\367\"\262)\242>\205\341\350\370\345\371\"P$0\266\202\351\266\372CA?\205\343@\314^X\205\373\345\346\f\242\"\326\211#\211\205\374\314\375\376$\262\340\377\f\f%\216A\206 \211A\337 \242!\340\201B\"\216\342\327%\210)\210)\201C\240\210)\266*\327\207" [cl-struct-tramp-file-name-tags inhibit-changing-match-data tramp-file-missing signal-hook-function inhibit-message noninteractive tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p ".elc" ".el" file-name-directory "\\.elc?\\'" nil t string-match tramp-error file-error "File `%s' does not include a `.el' or `.elc' suffix" file-missing error-conditions "No such file or directory: %s" file-local-copy make-closure #[0 "\301\300!\207" [V0 delete-file] 2] load 0 "%s..." format #1="Loading %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 "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\252\fX\205\250\314X\203M \204M\315\316\307U\2033\317\202H\320U\203=\317\202H\321U\203G\322\202H\323P#\210\f\324Y\205\250\307\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\">\205\250\315\337\311\340\"P$0\207\266\341\207" [V0 V1 V2 V3 tramp-verbose tramp-inhibit-progress-reporter 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 cl-struct-tramp-file-name-tags] 10] tramp-verbose tramp-inhibit-progress-reporter #[0 "\301\300!\207" [V0 delete-file] 2] "done"] 24 (#$ . 153568)]) #@63 Whether the method of VEC is capable of multi-hops. (fn VEC) (defalias 'tramp-multi-hop-p #[257 "\300!\205 \301\302\"?\207" [tramp-sh-file-name-handler-p tramp-get-method-parameter tramp-copy-program] 4 (#$ . 156753)]) #@67 Expands VEC according to `tramp-default-proxies-alist'. (fn VEC) (defalias 'tramp-compute-multi-hops #[257 "C\242 >\204\306\307\310D\"\210\3118\206\312\313\211\314\315\n\316#!\211\203\211@\317!\320! \fQ;\205>\321\322!\323Q;\205I\321\322!\323Q\324\325\326#E\f\327\330C\3311\360 X\205\352\332X\203\220@\204\220\333\334\335U\203v\312\202\213\336U\203\200\312\202\213\337U\203\212\340\202\213\341P#\210 \342Y\205\352\335\336U\203\312\3431\311r\344!\203\257\345!\202\263\346\347\"q\210\350P\262\351\352 C\"\211\262)0\210\202\312\210\344!\203\326\353\354\"\262)\242 >\205\352\333\355\356\357\"P$0\266\202\362\266\360\300\"\210\361!\262 \266A\266\202\202\"\210\203A\203\362\300\"\210\262\203G\211A\262\242\262\363\3378\326\"\262\363@\326\"\2064\312\317@!\206=\312\313\326B\364#)\266\203\203\363A@\326\"\206V\312\320@!\206_\312\313\326B\364#)\266\203\203\211\204x\313\262\202\365\366\367@\242 >\204\216\306\307\310 @D\"\210\337 @8\206\227\312\370\n@\242 >\204\252\306\307\310 @D\"\210\342 @8\206\263\312$\"\262\361!\211\242 >\204\310\306\307\310D\"\210\211A@\242 >\204\331\306\307\310D\"\210\3378\242 >\204\352\306\307\310D\"\210\3328\242 >\204\374\306\307\310D\"\210\3428\242 >\204\306\307\310D\"\210\3278\242 >\204 \306\307\310D\"\210\3718\242 >\2044\306\307\310 D\"\210\3118 B\262 \262\n\266\202A\203~\262\211A\262\242\211\262\203~\372!\204O\373\374\242 >\204v\306\307\310D\"\210A@#\210\202OC\206\204\312\262\211A\262\242\211\262\203\330\242 >\204\242\306\307\310D\"\210\3428\375\376\377\"\235\204\315\313\326B\364#)\266\203\204\315\373 \201D$\210\321\322!\323Q\266\202\202\207\210\207" [tramp-default-proxies-alist cl-struct-tramp-file-name-tags tramp-postfix-hop-regexp tramp-prefix-format tramp-postfix-host-format tramp-verbose signal wrong-type-argument tramp-file-name 7 "" nil reverse split-string omit tramp-file-name-host-port tramp-file-name-user-domain "^" regexp-quote "$" propertize tramp-ad-hoc t 5 "Add %S to `tramp-default-proxies-alist'" (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) # " add-to-list tramp-dissect-file-name customize-save-variable eval string-match format-spec format-spec-make 117 104 6 tramp-multi-hop-p tramp-user-error "Method `%s' is not supported for multi-hops." ("%h") tramp-get-method-parameter tramp-login-args tramp-inhibit-progress-reporter tramp-save-ad-hoc-proxies inhibit-changing-match-data tramp-local-host-regexp "Host name `%s' does not match `%s'"] 23 (#$ . 156982)]) #@317 Expand login arguments as given by PARAMETER in `tramp-methods'. PARAMETER is a symbol like `tramp-login-args', denoting a list of list of strings from `tramp-methods', containing %-sequences for substitution. SPEC-LIST is a list of char/value pairs used for `format-spec-make'. (fn VEC PARAMETER &rest SPEC-LIST) (defalias 'tramp-expand-args #[642 "\300\"\301\302\"\303\304\305\306\"\"!\207" [tramp-get-method-parameter apply format-spec-make tramp-compat-flatten-tree mapcar make-closure #[257 "\301\302\303\300\"\"\262\304\235?\205\211\207" [V0 mapcar make-closure #[257 "\301\300\"\207" [V0 format-spec] 4 "\n\n(fn Y)"] ""] 5 "\n\n(fn X)"]] 10 (#$ . 159794)]) #@69 Whether direct async `make-process' can be called. (fn &rest ARGS) (defalias 'tramp-direct-async-process-p #[128 "\301!\302\303\"\302\304\"\305\306\"\205?\307\310\311#\205?\312!\203)\313!G\314U\205?;\2035\315!?\205?\211;?\206?\315!?\207" [default-directory tramp-dissect-file-name plist-get :buffer :stderr tramp-get-method-parameter tramp-direct-async tramp-get-connection-property "direct-async-process" nil tramp-multi-hop-p tramp-compute-multi-hops 1 tramp-tramp-file-p] 8 (#$ . 160477)]) #@80 An alternative `make-process' implementation for Tramp files. (fn &rest ARGS) (defalias 'tramp-handle-make-process #[128 "\211\205\214\306\307!!\211\242 >\204\310\311\312D\"\210\211A@\242 >\204(\310\311\312D\"\210\3138\242 >\2049\310\311\312D\"\210\3148\242 >\204K\310\311\312D\"\210\3158\242 >\204]\310\311\312D\"\210\3168\242 >\204o\310\311\312D\"\210\3178\242 >\204\203\310\311\312 D\"\210\3208\321\322\323N@\324\"\325\n\326\"\325 \327\"\325\f\330\"\325 \331\"\325\332\"\325\333\"\325\334\"\325\335\"\325\336\" ;\204\314\310\311\337 D\"\210\203\346\340!\204\346;\204\346\310\311\337\nD\"\210:\204\364\310\311\341 D\"\210\2039\203\n>\204:\203@\n>\203A\n>\204\310\311\342D\"\210\2030\343>\2040\310\311\342D\"\210\203A\344!\204A\310\311\344D\"\210\203R\344!\204R\310\311\344D\"\210\211\203c\340!\204c\310\311\340D\"\210\203o\345!\202r\346 !\347\350\f\" \211\203\242\211@\351\352\324@\353#)\266\203\203\233\211\354\305!\235\204\233\211B\262A\266\202\202w\262\355\356\357 \360$\347\361\362\352\"\"\363\361 \364#\365\366\367BB\370B#\371!\372\373\"\205\377\374\375!\376A#\211A=\203\374\377\307B\321\322\323N@\324\"\"!\262\201E\375!\376#\210\211\262\205\344\201F!\205\201F!\352\211\365\201G\372!\201H\"!\201G\347\201I\201J$\201K\201L#\2069\201M\201N'\206D\201M\201O&\206O\201M\201P\201Q\206]\201M\201R\201S\"\"\201T\201M&\f\"!\"\262\201U\326\327\330\365 C #\331\332\333\334\335\336&\262\317\201V\201W!\364\363\201X#\266\202C\201Y1\205CX\205}\314X\203D\204\201Z\201[\201\\U\203\337\201M\202\374\201]U\203\355\201M\202\374\313U\203\371\201^\202\374\201_P#\210C\315Y\205}\201\\C\201]U\203O\201`1Nr\201a!\203,\201b!\2024\201c\201d\"q\210\201eP\262\365\201f C\"\211\262)0\210\202O\210\201a!\203a\201g\201h\"\262)\242 >\205}\201Z\201i\201j\201k\"P$0\266\266\214\202\211\266\266\214)\266\222\207" [default-directory cl-struct-tramp-file-name-tags coding-system-list tramp-temp-buffer-name tramp-remote-process-environment process-environment tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 eval temporary-file-directory standard-value t plist-get :name :buffer :command :coding :noquery :connection-type :filter :sentinel :stderr stringp bufferp consp symbolp (pipe pty) functionp get-buffer-create generate-new-buffer mapcar #[257 "\301\302\303\304#)\266\203\205\211\207" [inhibit-changing-match-data "=" nil t string-match] 8 "\n\n(fn ELT)"] "=" nil string-match default-toplevel-value setenv-internal "INSIDE_EMACS" tramp-inside-emacs keep tramp-shell-quote-argument delq mapconcat " " append "cd" ("&&" "(" "env") (")") tramp-sh-file-name-handler-p tramp-get-method-parameter tramp-login-program tramp-get-connection-property tramp-get-process "temp-file" make-temp-name inhibit-changing-match-data tramp-cache-undefined tramp-temp-name-prefix tramp-verbose tramp-inhibit-progress-reporter tramp-set-connection-property tramp-ssh-controlmaster-options tramp-compat-flatten-tree tramp-async-args #[257 "\300\301\"\207" [split-string " "] 4 "\n\n(fn X)"] tramp-expand-args tramp-login-args 104 "" 117 112 99 format-spec format-spec-make 116 108 make-process "%s" process-command identity (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) # "] 52 (#$ . 160994)]) #@183 Like `make-symbolic-link' for Tramp files. This is the fallback implementation for backends which do not support symbolic links. (fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-handle-make-symbolic-link #[770 "\300\301!!\203\302\303\301!!\304\305#\207\306\307E\"\207" [tramp-tramp-file-p expand-file-name tramp-error tramp-dissect-file-name file-error "make-symbolic-link not supported" tramp-run-real-handler make-symbolic-link] 8 (#$ . 164656)]) #@90 Like `shell-command' for Tramp files. (fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER) (defalias 'tramp-handle-shell-command #[769 "\306\307\310\311#)\266\203\312O\307\313!\203$p=\262\202b;\2038\314p!=\262\315!\202b\203C\310\262p\202b\315\203V\316\301!\203R \206a\317\202a\316\302!\203`\n\206a\320!\313!\203m\202v;\205v\315!\211\205\321 !\211\242\f>\204\213\322\323\324D\"\210\211A@\242\f>\204\234\322\323\324D\"\210\3258\242\f>\204\255\322\323\324D\"\210\3268\242\f>\204\277\322\323\324D\"\210\3278\242\f>\204\321\322\323\324D\"\210\3308\242\f>\204\343\322\323\324D\"\210\3318\242\f>\204\367\322\323\324 D\"\210\3328\333\334\n!\"\266\210\314!\335! \307\n\250\203}\203} \336\267\202}\337\340!\203*\341!\210\202}\342\343\"\210\202}\337\344!\203@\345!\262\202}\342\343\"\210\202}\345!\262\202}\337\346!\203grq\210\347 \210)\315!\262\202}\342\343\"\210\202}rq\210\347 \210)\315!\262\204\212rq\210)\203\225D\202\227\262rq\210\203\253\350 \210\351\307\310\"\210\352\353!\203\277\354\353!\203\305\353 !\210\202\305\307@\355 \210)\n\250\203d\356\316\357!\205\325/!\203\352\360\361\316\357!\205\343/\"AB\202\354AA\362\314!\f#\211\262\203 rq\210\363!\210)\364!\203Wrq\210\365BC\366=\204!\366 \210\367\370\"\210\371\372\"\210\203I\373\374\375\376\"\375\377\"B\262\375\201D  #\307$\210\201E\201F\"\210)\202b\203b\201G!\210)\207\201H\n\307\307$\203\203rq\210\363!\210)\201G!\210 \203\255\201I\310!\201J `p\223\210b\210\352\201K!\203\300\354\201K!\203\300\201K \210\207rq\210deV)\203\300\201L!\210\207" [inhibit-changing-match-data shell-command-buffer-name-async shell-command-buffer-name default-directory cl-struct-tramp-file-name-tags async-shell-command-buffer "[ ]*&[ ]*\\'" nil t string-match 0 bufferp buffer-name get-buffer-create boundp "*Async Shell Command*" "*Shell Command Output*" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-make-tramp-file-name tramp-make-tramp-temp-file get-buffer-process #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (confirm-kill-process 285 confirm-new-buffer 306 new-buffer 328 confirm-rename-buffer 336 rename-buffer 367)) yes-or-no-p "A command is running in the default buffer. Kill it? " kill-process tramp-user-error "Shell command in progress" "A command is running in the default buffer. Use a new buffer? " generate-new-buffer "A command is running in the default buffer. Rename it? " rename-uniquely barf-if-buffer-read-only push-mark fboundp shell-command-save-pos-or-erase functionp erase-buffer natnump async-shell-command-width format "COLUMNS=%d" start-file-process-shell-command insert-file-contents-literally process-live-p (":%s") shell-mode set-process-filter comint-output-filter set-process-sentinel shell-command-sentinel advice--add-function :after make-closure #[0 "\301\300!\207" [V0 process-sentinel] 2] #[257 "\301\300\"\207" [V0 set-process-sentinel] 4 "\n\n(fn GV--VAL)"] buffer-read-only tramp-remote-process-environment mode-line-process major-mode #[514 "r\300q\210\302\301\303\211\211\304%\210)\305\301!\207" [V0 V1 insert-file-contents-literally nil replace delete-file] 8 "\n\n(fn PROC STRING)"] display-buffer (nil (allow-no-window . t)) delete-file process-file-shell-command mark mark-marker shell-command-set-point-after-cmd display-message-or-buffer] 22 (#$ . 165139)]) #@139 Like `start-file-process' for Tramp files. BUFFER might be a list, in this case STDERR is separated. (fn NAME BUFFER PROGRAM &rest ARGS) (defalias 'tramp-handle-start-file-process #[899 "\300\301\302\303:\203@\202\304\205B\305 :\205* A@\306\307\310\311& \207" [tramp-file-name-handler make-process :name :buffer :command :stderr :noquery nil :file-handler t] 18 (#$ . 168686)]) #@122 Like `substitute-in-file-name' for Tramp files. "//" and "/~" substitute only in the local filename part. (fn FILENAME) (defalias 'tramp-handle-substitute-in-file-name #[257 "\211\303\211?\205\304\305\306!\")\266\202\203\207\307!\262\310!\211\242 >\204,\311\312\313D\"\210\211A@\242 >\204=\311\312\313D\"\210\3148\242 >\204N\311\312\313D\"\210\3158\242 >\204`\311\312\313D\"\210\3168\242 >\204r\311\312\313D\"\210\3178\242 >\204\204\311\312\313D\"\210\3208\242 >\204\230\311\312\313 D\"\210\3218\303;\203\307\322\323\"\203\266\324\325\326\327!#\262 \202\307\330 !\324\325\326\331\327C\"#P\262 );\203\330\332\230\203\330\326P\207\207" [file-name-handler-alist cl-struct-tramp-file-name-tags process-environment nil string-prefix-p "/:" file-local-name tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 string-match "//\\(/\\|~\\)" replace-regexp-in-string "\\`/+" "/" substitute-in-file-name file-remote-p tramp-run-real-handler "~"] 16 (#$ . 169095)]) #@52 An invalid time value, used as "Don't know" value. (defconst tramp-time-dont-know '(0 0 0 1000) (#$ . 170179)) #@55 An invalid time value, used as "Doesn't exist" value. (defconst tramp-time-doesnt-exist '(-1 65535) (#$ . 170296)) #@76 Like `set-visited-file-modtime' for Tramp files. (fn &optional TIME-LIST) (defalias 'tramp-handle-set-visited-file-modtime #[256 "\303 \204 \304\305\306 \"\210\211\204!\307\310\303 !\3118\262\206 \262)\312\n\"?\205.\313\314C\"\207" [remote-file-name-inhibit-cache tramp-time-doesnt-exist tramp-time-dont-know buffer-file-name error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" buffer-name t file-attributes 5 tramp-compat-time-equal-p tramp-run-real-handler set-visited-file-modtime] 4 (#$ . 170417)]) #@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-handle-verify-visited-file-modtime #[256 "r\211\206pq\210\303 \211\203\304 \305=\204\306\307\310#\204!\311\202S\311\312!\211\3138\262\304 \203D\314 \"\204D\315\316\"!\317W\202P\203L\311\202P\314\n\")\266\203\262)\207" [remote-file-name-inhibit-cache tramp-time-dont-know tramp-time-doesnt-exist buffer-file-name visited-file-modtime 0 file-remote-p nil connected t file-attributes 5 tramp-compat-time-equal-p abs tramp-time-diff 2] 9 (#$ . 170959)]) #@105 Like `write-region' for Tramp files. (fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW) (defalias 'tramp-handle-write-region #[1795 "\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\203\253\320 !\203\253\321=\204\243\322\323\324\"!\204\253\325\326#\210\f\327\330\305 \331\332\333N@\334\"\"\335\334\"#\266\202\336 \321=\205\314\337\"\340\341\"\3128\262\206\337\342\n\341\"\340\341\"\3138\262\206\361\343 \341\"\203\320!\203\344\345#\210\346\347\206\f\350\351\"\"\210\352\353&\210\3541.\355\356#0\210\202<\210\357!\210\325\f\360\361$\210\362\f\"\210\334=\204P;\203a\363\340!\3158\262\206_\364 !\210\365#\266\n\2046\n\334=\204\n\203\n;\2036\350\366C\36714 X\205.\313X\203\300\f\204\300\370\371\350U\203\246\372\202\273\373U\203\260\372\202\273\312U\203\272\374\202\273\375P#\210 \314Y\205.\350\373U\203\3761r\377!\203\341\201@!\202\351\201A\201B\"q\210\201CP\262\201D\201E C\"\211\262)0\210\202\210\377!\203\201F\201G\"\262)\242>\205.\370\201H\323\201I\"P$0\266\2026\266\201J\201K!\207" [cl-struct-tramp-file-name-tags tramp-temp-name-prefix noninteractive 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-exists-p excl y-or-n-p format "File %s exists; overwrite anyway? " tramp-error file-already-exists nil make-temp-file eval temporary-file-directory standard-value t file-name-extension tramp-default-file-modes nofollow file-attributes integer tramp-get-remote-uid tramp-get-remote-gid copy-file ok set-file-modes logior 0 256 write-region no-message (error) rename-file ok-if-already-exists delete-file file-error "Couldn't write region to `%s'" tramp-flush-file-properties set-visited-file-modtime current-time tramp-set-file-uid-gid "Wrote %s" (error) apply message "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message "(%d) # " run-hooks tramp-handle-write-region-hook] 26 (#$ . 171782)]) #@46 Marker in stat commands for file attributes. (defconst tramp-stat-marker "/////" (#$ . 174229)) #@53 Quoted marker in stat commands for file attributes. (defconst tramp-stat-quoted-marker "\\/\\/\\/\\/\\/" (#$ . 174331)) #@42 List of events "gio monitor" could send. (defconst tramp-gio-events '("attribute-changed" "changed" "changes-done-hint" "created" "deleted" "moved" "pre-unmount" "unmounted") (#$ . 174457)) #@77 Like `file-notify-add-watch' for Tramp files. (fn FILENAME FLAGS CALLBACK) (defalias 'tramp-handle-file-notify-add-watch #[771 "\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\314\315\316$\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 tramp-error file-notify-error "File notification not supported for `%s'"] 16 (#$ . 174653)]) #@57 Like `file-notify-rm-watch' for Tramp files. (fn PROC) (defalias 'tramp-handle-file-notify-rm-watch #[257 "\303!\204 \304\305\306$\210\307\310\"\204 \211\311\312C\3131\263X\205\255\314X\203S \204S\315\316\310U\2039\317\202N\320U\203C\317\202N\321U\203M\322\202N\323P#\210\324Y\205\255\310\320U\203\215\3251\214r\303!\203r\326!\202v\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\215\210\303!\203\231\334\335\"\262)\242\n>\205\255\315\336\337\340\"P$0\266\202\265\266\341!\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags processp tramp-error file-notify-error "Not a valid descriptor %S" tramp-accept-process-output 0 6 "Kill %S" (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " delete-process] 11 (#$ . 175336)]) #@56 Like `file-notify-valid-p' for Tramp files. (fn PROC) (defalias 'tramp-handle-file-notify-valid-p #[257 "\301!\205r\302!q\210\303\304!\305\306\"P!)\207" [default-directory process-live-p process-buffer file-exists-p file-remote-p process-get watch-name] 6 (#$ . 176307)]) #@47 Call `file-notify-rm-watch'. (fn PROC EVENT) (defalias 'tramp-file-notify-process-sentinel #[514 "\303!?\205\254\304\305D\3061\247X\205\241\307X\203G \204G\310\311\312U\203-\313\202B\314U\2037\313\202B\315U\203A\316\202B\317P#\210\320Y\205\241\312\314U\203\201\3211\200r\322!\203f\323!\202j\324\325\"q\210\326P\262\327\330 C\"\211\262)0\210\202\201\210\322!\203\215\331\332\"\262)\242\n>\205\241\310\333\334\335\"P$0\266\202\251\266\336!\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags process-live-p 5 "Sentinel called: `%S' `%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) # " file-notify-rm-watch] 12 (#$ . 176592)]) #@37 Send the login name. (fn PROC VEC) (defalias 'tramp-action-login #[514 "\211\242>\204\306\307\310D\"\210\3118\206A\312\313 #\211 =\203>\314 \315\316\"\216\317\320\321!!\210\322\323\324!!*\262\262\325\313#\210\211\262r\321!q\210\326\327\330 C\3311\347 X\205\341\332X\203\207\f\204\207\333\334\324U\203m\335\202\202\336U\203w\335\202\202\311U\203\201\337\202\202\340P#\210 \341Y\205\341\324\336U\203\301\3421\300r\343!\203\246\344!\202\252\321\345\"q\210\327P\262\346\330 C\"\211\262)0\210\202\301\210\343!\203\315\347\350\"\262)\242>\205\341\333\351\352\353\"P$0\266\202\351\266)\332\354C\3311\211 X\205\203\332X\203)\f\204)\333\334\324U\203\335\202$\336U\203\335\202$\311U\203#\337\202$\340P#\210 \341Y\205\203\324\336U\203c\3421br\343!\203H\344!\202L\321\345\"q\210\327P\262\346\330 C\"\211\262)0\210\202c\210\343!\203o\347\350\"\262)\242>\205\203\333\351\352\353\"P$0\266\202\213\266\355 P\"\266\317\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined enable-recursive-minibuffers tramp-verbose tramp-inhibit-progress-reporter tramp-local-end-of-line signal wrong-type-argument tramp-file-name 2 tramp-get-connection-property "login-as" current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] t pop-to-buffer tramp-get-connection-buffer read-string match-string 0 tramp-set-connection-property 6 "\n%s" buffer-string (error) 3 apply message "" 1 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " "Sending login name `%s'" tramp-send-string] 13 (#$ . 177474)]) #@47 Query the user for a password. (fn PROC VEC) (defalias 'tramp-action-password #[514 "r\306!q\210\307\211\310\311\312#\204\313!\210eb\210\314\n\"\210\211\315\316\317\320!C\3211\277 X\205\271\315X\203_\f\204_\322\323\324U\203E\325\202Z\320U\203O\325\202Z\326U\203Y\327\202Z\330P#\210 \331Y\205\271\324\320U\203\231\3321\230r\333!\203~\306!\202\202\334\335\"q\210\336P\262\337\340 C\"\211\262)0\210\202\231\210\333!\203\245\341\342\"\262)\242 >\205\271\322\343\344\345\"P$0\266\202\301\266\346\347!(P\"\210dd}\210+\307\207" [case-fold-search enable-recursive-minibuffers tramp-password-prompt-regexp tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags process-buffer t tramp-get-connection-property "first-password-request" nil tramp-clear-passwd tramp-check-for-regexp 3 "Sending %s" match-string 1 (error) apply message 0 "" 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " process-send-string tramp-read-passwd tramp-local-end-of-line] 12 (#$ . 179189)]) #@56 Signal success in finding shell prompt. (fn PROC VEC) (defalias 'tramp-action-succeed #[514 "\300\301\302\"\207" [throw tramp-action ok] 5 (#$ . 180351)]) #@42 Signal permission denied. (fn PROC VEC) (defalias 'tramp-action-permission-denied #[514 "\300!\210\301\302\303\"\207" [kill-process throw tramp-action permission-denied] 5 (#$ . 180513)]) #@158 Ask the user for confirmation using `yes-or-no-p'. Send "yes" to remote process on confirmation, abort otherwise. See also `tramp-action-yn'. (fn PROC VEC) (defalias 'tramp-action-yesno #[514 "\305 \306\307\"\216\310\311\312!!\210\313\314\315!!\204 \316!\210\317\320\321\"\210r\312!q\210\322\323\324 C\3251\306 X\205\300\326X\203f\n\204f\327\330\315U\203L\331\202a\332U\203V\331\202a\333U\203`\334\202a\335P#\210 \336Y\205\300\315\332U\203\240\3371\237r\340!\203\205\341!\202\211\312\342\"q\210\323P\262\343\324 C\"\211\262)0\210\202\240\210\340!\203\254\344\345\"\262)\242 >\205\300\327\346\347\350\"P$0\266\202\310\266)\351\352\fP\"\210*\210\310\207" [enable-recursive-minibuffers tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] t pop-to-buffer tramp-get-connection-buffer yes-or-no-p match-string 0 kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " tramp-send-string "yes"] 13 (#$ . 180710)]) #@156 Ask the user for confirmation using `y-or-n-p'. Send "y" to remote process on confirmation, abort otherwise. See also `tramp-action-yesno'. (fn PROC VEC) (defalias 'tramp-action-yn #[514 "\305 \306\307\"\216\310\311\312!!\210\313\314\315!!\204 \316!\210\317\320\321\"\210r\312!q\210\322\323\324 C\3251\306 X\205\300\326X\203f\n\204f\327\330\315U\203L\331\202a\332U\203V\331\202a\333U\203`\334\202a\335P#\210 \336Y\205\300\315\332U\203\240\3371\237r\340!\203\205\341!\202\211\312\342\"q\210\323P\262\343\324 C\"\211\262)0\210\202\240\210\340!\203\254\344\345\"\262)\242 >\205\300\327\346\347\350\"P$0\266\202\310\266)\351\352\fP\"\210*\210\310\207" [enable-recursive-minibuffers tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] t pop-to-buffer tramp-get-connection-buffer y-or-n-p match-string 0 kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " tramp-send-string "y"] 13 (#$ . 182001)]) #@129 Tell the remote host which terminal type to use. The terminal type can be configured with `tramp-terminal-type'. (fn PROC VEC) (defalias 'tramp-action-terminal #[514 "\211\305\306C\3071\237 X\205\231\310X\203?\n\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 >\205\231\311\334\335\336\"P$0\266\202\241\266r\325!q\210\211\337\327\331 C\3071G X\205A\310X\203\347\n\204\347\311\312\313U\203\315\314\202\342\315U\203\327\314\202\342\316U\203\341\317\202\342\320P#\210 \321Y\205A\313\315U\203!\3221 r\323!\203\324!\202\n\325\326\"q\210\327P\262\330\331 C\"\211\262)0\210\202!\210\323!\203-\332\333\"\262)\242 >\205A\311\334\335\336\"P$0\266\202I\266)\340\fP\"\210\341\207" [tramp-terminal-type tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-local-end-of-line 5 "Setting `%s' as terminal type." (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) # " 6 tramp-send-string t] 12 (#$ . 183282)]) #@60 Return RET in order to confirm the message. (fn PROC VEC) (defalias 'tramp-action-confirm-message #[514 "r\304!q\210\211\305\306\307 C\3101\246X\205\240\311X\203F \204F\312\313\314U\203,\315\202A\316U\2036\315\202A\317U\203@\320\202A\321P#\210\322Y\205\240\314\316U\203\200\3231r\324!\203e\325!\202i\304\326\"q\210\306P\262\327\307 C\"\211\262)0\210\202\200\210\324!\203\214\330\331\"\262)\242\n>\205\240\312\332\333\334\"P$0\266\202\250\266)\335 \"\210\336\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-local-end-of-line tramp-get-connection-buffer 6 "\n%s" buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " tramp-send-string t] 12 (#$ . 184645)]) #@55 Check, whether a process has finished. (fn PROC VEC) (defalias 'tramp-action-process-alive #[514 "\300!?\205\301\302\"\204\303\304\305\"\207" [process-live-p tramp-accept-process-output 0 throw tramp-action process-died] 5 (#$ . 185523)]) #@65 Check, whether an out-of-band copy has finished. (fn PROC VEC) (defalias 'tramp-action-out-of-band #[514 "\304\305\"\204\306!\204\272\307!\305U\203\272\211\310\311\312\3131\263X\205\255\310X\203S \204S\314\315\305U\2039\316\202N\317U\203C\316\202N\320U\203M\321\202N\322P#\210\323Y\205\255\305\317U\203\215\3241\214r\325!\203r\326!\202v\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\215\210\325!\203\231\334\335\"\262)\242\n>\205\255\314\336\337\340\"P$0\266\202\265\266\341\342\343\"\207\344!\345>\203\312\307!\305U\203\322\344!\346=\203\320r\326!q\210eb\210\347 \312\350#\203*\211\351\352\312\3131\201X\205{\310X\203! \204!\314\315\305U\203\316\202\317U\203\316\202\320U\203\321\202\322P#\210\323Y\205{\305\317U\203[\3241Zr\325!\203@\326!\202D\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202[\210\325!\203g\334\335\"\262)\242\n>\205{\314\336\337\340\"P$0\266\202\203\266\211\310\311\312\3131!X\205\310X\203\301 \204\301\314\315\305U\203\247\316\202\274\317U\203\261\316\202\274\320U\203\273\321\202\274\322P#\210\323Y\205\305\317U\203\373\3241\372r\325!\203\340\326!\202\344\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\373\210\325!\203\334\335\"\262)\242\n>\205\314\336\337\340\"P$0\266\202#\266\341\342\343\"\202\316\211\310\353\312\3131\310X\205\302\310X\203h \204h\314\315\305U\203N\316\202c\317U\203X\316\202c\320U\203b\321\202c\322P#\210\323Y\205\302\305\317U\203\242\3241\241r\325!\203\207\326!\202\213\327\330\"q\210\331P\262\332\333 C\"\211\262)0\210\202\242\210\325!\203\256\334\335\"\262)\242\n>\205\302\314\336\337\340\"P$0\266\202\312\266\341\342\354\")\207\312\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-operation-not-permitted-regexp tramp-accept-process-output 0 process-live-p process-exit-status 3 "Process has finished." nil (error) 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 format "(%d) # " throw tramp-action ok process-status (stop exit) signal re-search-forward t 5 "'set mode' error ignored." "Process has died." out-of-band-failed] 12 (#$ . 185775)]) #@134 Wait for output from the shell and perform one action. See `tramp-process-actions' for the format of ACTIONS. (fn PROC VEC ACTIONS) (defalias 'tramp-process-one-action #[771 "\304\305\211\211\211\211\204\212\306 \307\"\204\f\262\203\211A\262\242\262\310\311@J\"\262A@\262\312\313C\3141\321 X\205\313\315X\203q\n\204q\316\317\307U\203W\320\202l\321U\203a\320\202l\322U\203k\323\202l\324P#\210 \325Y\205\313\307\321U\203\253\3261\252r\327!\203\220\330!\202\224\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\253\210\327!\203\267\336\337\"\262)\242 >\205\313\316\340\310\341\"P$0\266\202\323\266\342 \"\203\312\343\344!C\3141} X\205w\315X\203\n\204\316\317\307U\203\320\202\321U\203 \320\202\322U\203\323\202\324P#\210 \325Y\205w\307\321U\203W\3261Vr\327!\203<\330!\202@\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202W\210\327!\203c\336\337\"\262)\242 >\205w\316\340\310\341\"P$0\266\202\266\211  \"\262\202)\207" [case-fold-search tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags t nil tramp-accept-process-output 0 format "\\(%s\\)\\'" 5 "Looking for regexp \"%s\" from remote shell" (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-check-for-regexp "Call `%s'" symbol-name] 19 (#$ . 188190)]) #@1191 Perform ACTIONS until success or TIMEOUT. PROC and VEC indicate the remote connection to be used. POS, if set, is the starting point of the region to be deleted in the connection buffer. ACTIONS is a list of (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. An ACTION function has two arguments (PROC VEC). If it returns nil, nothing has been done, and the next action shall be called. A non-nil return value indicates that the process output has been consumed, and new output shall be retrieved, before starting to process all ACTIONs, again. The same happens after calling the last ACTION. If an action determines, that all processing has been done (e.g., because the shell prompt has been detected), it shall throw a result. The symbol `ok' means that all ACTIONs have been performed successfully. Any other value means an error. (fn PROC VEC POS ACTIONS &optional TIMEOUT) (defalias 'tramp-process-actions #[1284 "\306\307\310\311 \312\"#\313#\210\214 \204\n\203\347\314\203Z\3152J\316\314\317#\211 B\320\321\"\216?\205F\3222A\323#0\262\202/*\2620\211\315=\203V\266\324\202o\210\202o\211\204o\3222j\323#0\262\202Zr\325!q\210~\210\326\327\330 C\3311\fX\205\332X\203\267 \204\267\333\334\335U\203\235\336\202\262\337U\203\247\336\202\262\340U\203\261\341\202\262\342P#\210\f\343Y\205\335\337U\203\361\3441\360r\345!\203\326\346!\202\332\325\347\"q\210\327P\262\350\330 C\"\211\262)0\210\202\361\210\345!\203\375\311\312\"\262)\242@>\205\333\351\352\353\"P$0\266\202\266)\211\354=\203?\35515\356A!\205/A 0\266\202\320\266\202\320\266\202\320\357!\210\360!\210\325!\361\362\267\202q\363\202r\364\365\325\n!\"\202r\366\367!\202r\364\370\325\n!\"\202r\371\314\372 \320\373\"\216\374!\203\205\206\234\345!\203\221\346!\206\234\242@>\205\234\325!\242@>\203\250\206\265\211\205\265r\211q\210\375B!)\320\376%\216\333\377%)\266\202)\266\247\205\262r\325!q\210\201DC`|*\202\262\332\201E\201FC\3311\213\fX\205\205\332X\203* \204*\333\334\335U\203\336\202%\337U\203\336\202%\340U\203$\341\202%\342P#\210\f\343Y\205\205\335\337U\203d\3441cr\345!\203I\346!\202M\325\347\"q\210\327P\262\350\330 C\"\211\262)0\210\202d\210\345!\203p\311\312\"\262)\242@>\205\205\333\351\352\353\"P$0\266\202\215\266\201GC ?\205\247\332\f\332^X\205\247\201H\201F\314\211#\211\205\267\201I\332\201J\201K$\262\320\201L$\216 \206\310\211\314\203\201M2\316\314\201N#\211 B\320\201O\"\216?\205\375\3222\370\323  #0\262\202\346*\2620\211\201M=\203\266\324\202)\210\202)\211\204)\3222$\323#0\262\202r\325!q\210~\210\326\327\330 C\3311\324\fX\205\316\332X\203s \204s\333\334\335U\203Y\336\202n\337U\203c\336\202n\340U\203m\341\202n\342P#\210\f\343Y\205\316\335\337U\203\255\3441\254r\345!\203\222\346!\202\226\325\347\"q\210\327P\262\350\330 C\"\211\262)0\210\202\255\210\345!\203\271\311\312\"\262)\242@>\205\316\333\351\352\353\"P$0\266\202\326\266)\211\354=\203\375\201P1\363\356A!\205\355A 0\266\202\223\266\202\223\266\202\223\357!\210\360!\210\325!\361\201Q\267\2024\363\2025\364\365\325\f!\"\2025\366\367!\2025\364\370\325\f!\"\2025\371\314\372 \320\373\"\216\374!\203H\206_\345!\203T\346!\206_\242@>\205_\325!\242@>\203k\206x\211\205xr\211q\210\375B!)\320\376%\216\333\377%)\266\202)\266\247\205\250r\325!q\210\201DC`|*)\201R\240\210)\266\202)\207" [tramp-cache-read-persistent-data noninteractive inhibit-message with-timeout-timers tramp-verbose tramp-inhibit-progress-reporter tramp-set-connection-property tramp-get-connection-property "password-vector" process-get vector "first-password-request" nil #1=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #1#] 3] make-closure #[0 "\301\300!\207" [V0 cancel-timer] 2] tramp-action tramp-process-one-action timeout tramp-get-connection-buffer 6 #8="\n%s" buffer-string #3=(error) 3 apply message 0 #4="" 1 2 #5="Warning: " #6="Tramp: " 4 #7=(error) processp process-buffer dont-create append tramp-debug-message format #9="(%d) # " ok (error) functionp tramp-clear-passwd delete-process file-error #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (permission-denied 339 out-of-band-failed 343 process-died 353 timeout 359)) "Permission denied" format-message "Copy failed, see buffer `%s' for details" substitute-command-keys "Tramp failed to connect. If this happens repeatedly, try\n `\\[tramp-cleanup-this-connection]'" "Timeout reached, see buffer `%s' for details" "Login failed" current-window-configuration #[0 "\301\300!\207" [V0 set-window-configuration] 2] bufferp tramp-dissect-file-name #[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] tramp-error cl-struct-tramp-file-name-tags tramp-password-save-function default-directory inhibit-read-only t "%s..." #2="Waiting for prompts from remote shell" "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\307X\203I\f\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\207\266\341\207" [V0 V1 V2 tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags cancel-timer 3 "%s...%s" #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] 10] #10=#:timeout #[0 "\300\301\211\"\207" [throw #10#] 3] #[0 "\301\300!\207" [V0 cancel-timer] 2] (error) #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (permission-denied 1046 out-of-band-failed 1050 process-died 1060 timeout 1066)) "done"] 22 (#$ . 189730)]) #@136 Lock PROC for other communication, and run BODY. Mostly useful to protect BODY from being interrupted by timers. (fn PROC &rest BODY) (defalias 'with-tramp-locked-connection '(macro . #[385 "\300\301\302BB\300\303\304\305\306BBF\307\310\311\312BBBB\313\314BBEF\207" [if tramp-get-connection-property ("locked" nil) (member 'remote-file-error debug-ignored-errors) (throw 'non-essential 'non-essential) tramp-error ('remote-file-error "Forbidden reentrant call of Tramp") unwind-protect progn tramp-set-connection-property ("locked" t) tramp-flush-connection-property ("locked")] 10 (#$ . 196543)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-locked-connection lisp-indent-function 1 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\")] 5) #@263 Like `accept-process-output' for Tramp processes. This is needed in order to hide `last-coding-system-used', which is set for process communication also. If the user quits via `C-g', it is propagated up to `tramp-file-name-handler'. (fn PROC &optional TIMEOUT) (defalias 'tramp-accept-process-output #[513 "r\306!q\210\307\310\211\311\312\310#\203,\313\n>\203#\314\315\211\"\210\202 \316\313\317#\210\202 \320\321\"\216\322\312\307#\210\3231L\310\324\310\307$\262)\3070\202R\210\307\325\326!\203\327\330\331\n!\332 \257\3331 X\205\374\334X\203\2412\204\241\335\336\337U\203\207\340\202\234\341U\203\221\340\202\234\342U\203\233\343\202\234\344P#\210 \345Y\205\374\337\341U\203\333\3461\332r\347!\203\300\306!\202\304\350\351\"q\210\352P\262\353\332 C\"\211\262)0\210\202\333\210\347!\203\347\354\355\"\262)\2423>\205\374\335\356\357\360\"P$0\266\202\n\266\202\n\361 \210)*\266\202)\207" [last-coding-system-used inhibit-read-only debug-ignored-errors inhibit-quit quit-flag tramp-verbose process-buffer t nil tramp-get-connection-property "locked" remote-file-error throw non-essential tramp-error "Forbidden reentrant call of Tramp" make-closure #[0 "\301\300\302\"\207" [V0 tramp-flush-connection-property "locked"] 3] tramp-set-connection-property (quit) accept-process-output eval (ignore nil) 10 "%s %s %s %s\n%s" process-status buffer-string (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append process-get vector tramp-debug-message format "(%d) # " keyboard-quit tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 15 (#$ . 197400)]) #@163 Search for REGEXP backwards, starting at point-max. If found, set point to the end of the occurrence found, and return point. Otherwise, return nil. (fn REGEXP) (defalias 'tramp-search-regexp #[257 "db\210\300e`\301Z]\302#\207" [re-search-backward 256 noerror] 6 (#$ . 199119)]) #@114 Check, whether REGEXP is contained in process buffer of PROC. Erase echoed commands if exists. (fn PROC REGEXP) (defalias 'tramp-check-for-regexp #[514 "r\306!q\210eb\210\307\310\311#\203\336\312`\313 _\\\314#\203\336\315\224\312`\307\316\317#\\\314#\203\335\320\310\"\210\313\321\311\3221\321\nX\205\313\323X\203q \204q\324\325\315U\203W\326\202l\327U\203a\326\202l\330U\203k\331\202l\332P#\210\n\333Y\205\313\315\327U\203\253\3341\252r\335!\203\220\306!\202\224\336\337\"q\210\340P\262\341\342 C\"\211\262)0\210\202\253\210\335!\203\267\343\344\"\262)\242\f>\205\313\324\345\346\347\"P$0\266\202\323\266\327y\210\211`|\210eb\210\210\307\310\311#\203\373\350 \315 dS^#\351ee \\d^\"\230?\205\376\352!)\207" [tramp-echoed-echo-mark-regexp tramp-echo-mark-marker-length tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-echo-mark-marker process-buffer tramp-get-connection-property "check-remote-echo" nil re-search-forward 5 t 0 "pipe-buf" 4096 tramp-flush-connection-property "echo-mark found" (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " substring-no-properties buffer-substring-no-properties tramp-search-regexp] 13 (#$ . 199407)]) #@239 Wait for a REGEXP to appear from process PROC within TIMEOUT seconds. Expects the output of PROC to be sent to the current buffer. Returns the string that matched, or nil. Waits indefinitely if TIMEOUT is nil. (fn PROC TIMEOUT REGEXP) (defalias 'tramp-wait-for-regexp #[771 "\305\"\203\231\3062\225\307\310\311#\211B\312\313\"\216?\205\221\314!\210\315!\204\210\310\316\317\310\320 \312\321\"\216\322!\203@\206V\323!\203L\324!\206V\242 >\205V\325!\242 >\203a\206m\211\205mr\211q\210\326\n!)\312\327%\216\330\331%)\266\202)\266\305\"\262\202*\2620\210\202\211\204\314!\210\315!\204\310\316\317\310\320 \312\321\"\216\322!\203\276\206\324\323!\203\312\324!\206\324\242 >\205\324\325!\242 >\203\337\206\353\211\205\353r\211q\210\326\n!)\312\327%\216\330\331%)\266\202)\266\305\"\262\202\231\3321\302r\324!q\210\333\334\335 C\3361\271 X\205\263\337X\203Y\f\204Y\330\340\341U\203?\342\202T\343U\203I\342\202T\344U\203S\345\202T\346P#\210 \347Y\205\263\341\343U\203\223\3501\222r\323!\203x\324!\202|\325\351\"q\210\334P\262\352\335 C\"\211\262)0\210\202\223\210\323!\203\237\353\354\"\262)\242 >\205\263\330\355\356\357\"P$0\266\204\202\274\266\310)0\210\202\303\210\211\204\334\203\325\331\316\360%\210\207\331\316\361$\210\207" [with-timeout-timers cl-struct-tramp-file-name-tags default-directory tramp-verbose tramp-inhibit-progress-reporter tramp-check-for-regexp #1=#:timeout run-with-timer nil #[0 "\300\301\211\"\207" [throw #1#] 3] make-closure #[0 "\301\300!\207" [V0 cancel-timer] 2] tramp-accept-process-output process-live-p file-error "Process has died" current-window-configuration #[0 "\301\300!\207" [V0 set-window-configuration] 2] bufferp processp process-buffer tramp-get-connection-buffer tramp-dissect-file-name #[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 tramp-error (error) 6 "\n%s" buffer-string (error) 3 message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) dont-create append process-get vector tramp-debug-message format "(%d) # " "[[Regexp `%s' not found in %d secs]]" "[[Regexp `%s' not found]]"] 19 (#$ . 200794)]) #@263 Send the STRING via connection VEC. The STRING is expected to use Unix line-endings, but the lines sent to the remote host use line-endings as defined in the variable `tramp-rsh-end-of-line'. The communication buffer is erased before sending. (fn VEC STRING) (defalias 'tramp-send-string #[514 "\306!\307\310\311#\204\312\313\314#\210\315\316\317 #\210\320\321C\3221\270X\205\262\323X\203X \204X\324\325\326U\203>\327\202S\330U\203H\327\202S\331U\203R\332\202S\333P#\210\334Y\205\262\326\330U\203\222\3351\221r\336!\203w\337!\202{\340\341\"q\210\342P\262\343\344 C\"\211\262)0\210\202\222\210\336!\203\236\345\346\"\262)\242\n>\205\262\324\347\350\351\"P$0\266\202\272\266r\340!q\210\352ed|\210)\353\354\355\356\"\f#\262\211\327\230\262\204\350\357\311O\f\230\204\350\fP\262\307\360\311#\203\361 >\203\375\362\363\211\"\202\375\312\361\364#\202\375\365\366\"\216\315\360\352#\210\3671\365\311<\211\203\354\211\326U\204\354\326GW\205\347\320\370\211\\^D\3221\317X\205\311\323X\203o \204o\324\325\326U\203U\327\202j\330U\203_\327\202j\331U\203i\332\202j\333P#\210\334Y\205\311\326\330U\203\251\3351\250r\336!\203\216\337!\202\222\340\341\"q\210\342P\262\343\344 C\"\211\262)0\210\202\251\210\336!\203\265\345\346\"\262)\242\n>\205\311\324\347\350\351\"P$0\266\202\321\266\371\211\\^O\"\210\\\262\202$\266\202\202\360\371\")0\202\374\210\352=\372\373!))\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags inhibit-read-only tramp-rsh-end-of-line debug-ignored-errors tramp-get-connection-process tramp-get-connection-property "chunksize" nil tramp-error file-error "Can't send string to remote host -- not logged in" tramp-set-connection-property "last-cmd-time" current-time 10 "%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) # " t mapconcat identity split-string "\n" -1 "locked" remote-file-error throw non-essential "Forbidden reentrant call of Tramp" make-closure #[0 "\301\300\302\"\207" [V0 tramp-flush-connection-property "locked"] 3] (quit) "Sending chunk from %s to %s" process-send-string eval (ignore nil) inhibit-quit quit-flag] 16 (#$ . 203340)]) #@61 Flush file caches and remove shell prompt. (fn PROC EVENT) (defalias 'tramp-process-sentinel #[514 "\303!?\205\340\304\305\"\306!\307\310\311#\203\304\312\313D\3141\271X\205\263\315X\203Y \204Y\316\317\320U\203?\321\202T\322U\203I\321\202T\323U\203S\324\202T\325P#\210\326Y\205\263\320\322U\203\223\3271\222r\330!\203x\306!\202|\331\332\"q\210\333P\262\334\335 C\"\211\262)0\210\202\223\210\330!\203\237\304\305\"\262)\242\n>\205\263\316\336\337\340\"P$0\266\202\273\266\341!\210\342\321\"\210\343!\205\336rq\210\211\205\335\344\345!!\205\335`d|)\266\203\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags process-live-p process-get vector process-buffer tramp-get-connection-property "prompt" nil 5 "Sentinel called: `%S' `%s'" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp tramp-get-connection-buffer dont-create "\n%s" append buffer-string tramp-debug-message format "(%d) # " tramp-flush-connection-properties tramp-flush-directory-properties buffer-live-p tramp-search-regexp regexp-quote] 15 (#$ . 205758)]) #@85 Return the virtual inode number. If it doesn't exist, generate a new one. (fn VEC) (defalias 'tramp-get-inode #[257 "\303\242>\204\304\305\306D\"\210\3078!\203Q\310\211\242>\204&\304\305\306D\"\210\3078\311 $\211 =\203P\nT\211\262\312\211\242>\204I\304\305\306D\"\210\3078\311$\210\207\nT\211\207" [cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-inodes file-name-absolute-p signal wrong-type-argument tramp-file-name 6 tramp-get-file-property "inode" tramp-set-file-property] 8 (#$ . 206907)]) #@86 Return the virtual device number. If it doesn't exist, generate a new one. (fn VEC) (defalias 'tramp-get-device #[257 "\302\303!\304#\211=\203\305 T\211B\262\306\303!\304#\210\207" [tramp-cache-undefined tramp-devices tramp-get-connection-property tramp-get-connection-process "device" -1 tramp-set-connection-property] 6 (#$ . 207443)]) #@534 Check, whether the remote parts of FILE1 and FILE2 are identical. The check depends on method, user and host name of the files. If one of the components is missing, the default values are used. The local file name parts of FILE1 and FILE2 are not taken into account. Example: (tramp-equal-remote "/ssh::/etc" "/-::/home") would yield t. On the other hand, the following check results in nil: (tramp-equal-remote "/sudo::/etc" "/su::/etc") If both files are local, the function returns t. (fn FILE1 FILE2) (defalias 'tramp-equal-remote #[514 "\300!\204 \300!?\206 \300!\205 \300!\205 \301!\301!\230\207" [tramp-tramp-file-p file-remote-p] 5 (#$ . 207798)]) #@87 Convert a ten-letter "drwxrwxrwx"-style MODE-STRING into mode bits. (fn MODE-STRING) (defalias 'tramp-mode-string-to-int #[257 "\301\211\302!\262\211\303H\304H\305H\306H\307H\310H\311H\312H\313H\314\315\n\316\"\2033\317\202D\315\n\320\"\203?\321\202D\322\323 \"\315\n\324\"\203P\325\202a\315\n\320\"\203\\\321\202a\322\326 \"\315\n\327\"\203m\330\202\226\315\n\331\"\203y\332\202\226\315\n\333\"\203\205\334\202\226\315\n\320\"\203\221\321\202\226\322\335 \"\315\n\316\"\203\242\336\202\263\315\n\320\"\203\256\321\202\263\322\337 \"\315\n\324\"\203\277\340\202\320\315\n\320\"\203\313\321\202\320\322\341 \"\315\n\327\"\203\334\312\202\315\n\331\"\203\350\342\202\315\n\333\"\203\364\343\202\315\n\320\"\203\321\202\322\344 \"\315\n\316\"\203\306\202\"\315\n\320\"\203\321\202\"\322\345 \"\315\n\324\"\203.\304\202?\315\n\320\"\203:\321\202?\322\346 \"\315\n\327\"\203K\303\202t\315\n\347\"\203W\350\202t\315\n\351\"\203c\352\202t\315\n\320\"\203o\321\202t\322\353 \"& )\207" [case-fold-search nil vconcat 1 2 3 4 5 6 7 8 9 logior char-equal 114 256 45 0 error "Second char `%c' must be one of `r-'" 119 128 "Third char `%c' must be one of `w-'" 120 64 83 2048 115 2112 "Fourth char `%c' must be one of `xsS-'" 32 "Fifth char `%c' must be one of `r-'" 16 "Sixth char `%c' must be one of `w-'" 1024 1032 "Seventh char `%c' must be one of `xsS-'" "Eighth char `%c' must be one of `r-'" "Ninth char `%c' must be one of `w-'" 84 512 116 513 "Tenth char `%c' must be one of `xtT-'"] 23 (#$ . 208498)]) #@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")) (#$ . 210106)) #@80 Turn an integer representing a file MODE into an ls(1)-like string. (fn MODE) (defalias 'tramp-file-mode-from-int #[257 "\301\302\303\304\"\305\"\"A\302\303\306\"\307\"\302\303\310\"\307\"\302\303\311\"\307\"\302\303\312\"\313\"\311V\302\303\312\"\314\"\311V\302\303\312\"\315\"\311V\316\317#\262\316\317#\262\316\320#\262R\207" [tramp-file-mode-type-map assoc logand ash -12 15 -6 7 -3 0 -9 4 2 1 tramp-file-mode-permissions "s" "t"] 12 (#$ . 210437)]) #@125 Convert a permission bitset into a string. This is used internally by `tramp-file-mode-from-int'. (fn PERM SUID SUID-TEXT) (defalias 'tramp-file-mode-permissions #[771 "\300\301\"\302V\300\303\"\302V\300\304\"\302V\203\305\202\306\203#\307\202$\306\2031\2031\206D\203;\226\206D\203C\310\202D\306Q\207" [logand 4 0 2 1 "r" "-" "w" "x"] 9 (#$ . 210928)]) #@393 Set the ownership for FILENAME. If UID and GID are provided, these values are used; otherwise uid and gid of the corresponding remote or local user is taken, depending whether FILENAME is remote or local. Both parameters must be non-negative integers. The setgid bit of the upper directory is respected. If FILENAME is remote, a file name handler is called. (fn FILENAME &optional UID GID) (defalias 'tramp-set-file-uid-gid #[769 "\301!\302!\211\203\303\304\"\305U\204\306!\3078\262\262\266\310\311\"\211\203.\211\311$\207\312>?\205d\313!\203?\206B\314\315!\313!\203L\206O\316\315!\317\320\321\320\211\211\322\323  #\324 !&\266\202\207" [system-type file-name-directory file-modes logand 1024 0 file-attributes 3 find-file-name-handler tramp-set-file-uid-gid (ms-dos windows-nt) natnump tramp-get-local-uid integer tramp-get-local-gid tramp-call-process nil "chown" format "%d:%d" tramp-unquote-shell-quote-argument] 16 (#$ . 211315)]) #@109 The uid of the local user, in ID-FORMAT. ID-FORMAT valid values are `string' and `integer'. (fn ID-FORMAT) (defalias 'tramp-get-local-uid #[257 "\301\302\303\304\"#\211=\203&\305=\203\306 \202\307 \262\310\302\303\304\"#\210\207" [tramp-cache-undefined tramp-get-connection-property nil format "uid-%s" integer user-uid user-login-name tramp-set-connection-property] 7 (#$ . 212291)]) #@109 The gid of the local user, in ID-FORMAT. ID-FORMAT valid values are `string' and `integer'. (fn ID-FORMAT) (defalias 'tramp-get-local-gid #[257 "\301\302\303\304\"#\211=\203F\305=\203\306 \202;\307\310!\2032\311=\2032\312\310!\205;\310\306 !\202;\313\314\"\3158\262\262\316\302\303\304\"#\210\207" [tramp-cache-undefined tramp-get-connection-property nil format "gid-%s" integer group-gid fboundp group-name string functionp file-attributes "~/" 3 tramp-set-connection-property] 7 (#$ . 212696)]) #@93 Determine locale, supporting UTF8 if possible. VEC is used for tracing. (fn &optional VEC) (defalias 'tramp-get-local-locale #[256 "\306\307\310#\211=\203\311\307\312\313\314\"r\211q\210\315\316\"\216 \317=\204]\320\307\310\307\314\307\321&\322U\203]\203]eb\210\323\324\325@!\"\326 \307\314\327#)\266\203\203V@\262\307\262\202.A\262\202.*\210\203\330\331\206k\332C\3331 X\205\334X\203\246\f\204\246\335\336\322U\203\214\337\202\241\340U\203\226\337\202\241\341U\203\240\342\202\241\343P#\210 \344Y\205\322\340U\203\340\3451\337r\346!\203\305\347!\202\311\350\351\"q\210\352P\262\353\326 C\"\211\262)0\210\202\340\210\346!\203\354\354\355\"\262)\242 >\205\335\356\323\357\"P$0\266\202\266\211\206 \332\266\202\262\360\307\310#\210\207" [tramp-cache-undefined system-type inhibit-changing-match-data tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags tramp-get-connection-property nil "locale" ("en_US.utf8" "C.utf8" "en_US.UTF-8") generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] windows-nt tramp-call-process "-a" 0 format "^%s ?$" regexp-quote buffer-string string-match 7 "locale %s" "C" (error) 3 apply message "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append process-get vector tramp-debug-message "(%d) # " tramp-set-connection-property] 14 (#$ . 213219)]) #@136 Check `file-attributes' caches for VEC. Return t if according to the cache access type ACCESS is known to be granted. (fn VEC ACCESS) (defalias 'tramp-check-cached-permissions #[514 "\303\304\267\202\305\202\306\202\307\202\303\310\211\203\333\211@\206\322\311\211\242>\2041\312\313\314\nD\"\210\3158\316P\303$\206F\317\320!\321!\"\322\321!\"\323\321!\"\324\230\203^ \202_\n\205\320\211@\262\325=\204v\211@\262?\205\320\3268\262\315\\H=\206\320\3268\262H=\203\254\3068\262\232\206\320\211\3068\262\232\206\320\3268\262\307\\H=\205\320\3078\262\232\206\320\211\3078\262\232\266\204\262A\266\202\202\207" [cl-struct-tramp-file-name-tags tramp-unknown-id-string tramp-unknown-id-integer nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (114 7 119 11 120 15)) 1 2 3 ("string" "integer") tramp-get-file-property signal wrong-type-argument tramp-file-name 6 "file-attributes-" file-attributes tramp-make-tramp-file-name intern tramp-get-remote-uid tramp-get-remote-gid "string" t 8] 14 (#$ . 214729)]) #@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-get-remote-uid #[514 "\303\304\305\"#\211=\203>\306\307!\310\"\211\205\211\310#\262\2063\311=\203, \2063\312=\2053\n\262\313\304\305\"#\210\207" [tramp-cache-undefined tramp-unknown-id-integer tramp-unknown-id-string tramp-get-connection-property format "uid-%s" find-file-name-handler tramp-make-tramp-file-name tramp-get-remote-uid integer string tramp-set-connection-property] 8 (#$ . 215860)]) #@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-get-remote-gid #[514 "\303\304\305\"#\211=\203>\306\307!\310\"\211\205\211\310#\262\2063\311=\203, \2063\312=\2053\n\262\313\304\305\"#\210\207" [tramp-cache-undefined tramp-unknown-id-integer tramp-unknown-id-string tramp-get-connection-property format "gid-%s" find-file-name-handler tramp-make-tramp-file-name tramp-get-remote-gid integer string tramp-set-connection-property] 8 (#$ . 216426)]) #@143 Return t if this points to the local host, nil otherwise. This handles also chrooted environments, which are not regarded as local. (fn VEC) (defalias 'tramp-local-host-p #[257 "\211\242>\204\304\305\306D\"\210\3078\242>\204\304\305\306D\"\210\3108 ;\205i;\205i \311\312\313#)\266\203\205i\211?\205i\314!\205i ?\205i\315\316\317\320\321N@\312\"\322#!\205i\323 \324U\206i\325\326\"\324U\207" [cl-struct-tramp-file-name-tags tramp-local-host-regexp inhibit-changing-match-data tramp-crypt-enabled signal wrong-type-argument tramp-file-name 4 5 nil t string-match tramp-sh-file-name-handler-p file-writable-p tramp-make-tramp-file-name eval temporary-file-directory standard-value nohop user-uid 0 tramp-get-remote-uid integer] 10 (#$ . 216992)]) #@86 Return directory for temporary files on the remote host identified by VEC. (fn VEC) (defalias 'tramp-get-remote-tmpdir #[257 "\301\302#\211=\203:\303\304\305\"\206\306\"\307!\203(\310!\203(\311!\204/\312\313\314$\210\211\262\262\315\302#\210\207" [tramp-cache-undefined tramp-get-connection-property "tmpdir" tramp-make-tramp-file-name tramp-get-method-parameter tramp-tmpdir "/tmp" file-directory-p file-writable-p tramp-file-local-name tramp-error file-error "Directory %s not accessible" tramp-set-connection-property] 8 (#$ . 217771)]) #@80 Generate a temporary file name on the remote host identified by VEC. (fn VEC) (defalias 'tramp-make-tramp-temp-name #[257 "\301\302\303!\"!\207" [tramp-temp-name-prefix make-temp-name expand-file-name tramp-get-remote-tmpdir] 6 (#$ . 218338)]) #@118 Create a temporary file on the remote host identified by VEC. Return the local name of the temporary file. (fn VEC) (defalias 'tramp-make-tramp-temp-file #[257 "\300\211\204\"\301!\262\302!\203\300\262\202\303!\210\304\305\"\210\202\306!\207" [nil tramp-make-tramp-temp-name file-exists-p set-file-times set-file-modes 448 tramp-file-local-name] 5 (#$ . 218592)]) #@51 Remove temporary files related to current buffer. (defalias 'tramp-delete-temp-file-function #[0 ";\205\3011\302!0\207\210\303\207" [tramp-temp-buffer-file-name (error) delete-file nil] 2 (#$ . 218977)]) (byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook kill-buffer-hook tramp-delete-temp-file-function tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook kill-buffer-hook tramp-delete-temp-file-function] 3]] 3) #@156 Like `make-auto-save-file-name' for Tramp files. Returns a file name in `tramp-auto-save-directory' for autosaving this file, if that variable is non-nil. (defalias 'tramp-handle-make-auto-save-file-name #[0 "\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\n;\203\212\320\n!\n\203\231\321\n!\204\231\322\n\323\"\210\n;\203\250\324\n!\203\250\325\202\251 \n?\205\257\f\n\204\270\202\371\320\326\327\300 \330\211?\205\304 \331!\211\211?\205\320 \332\333\331!\")\266\202\203\356\211G\312U\203\350\334\202\354\211\312\330O\262\335!P)\266\203\"\n\"\330\336\337\330\"\211\262-\204R\340.\"\203R\341\342\"\3128\262\206\"/\343U\203R\344\345!\3460#\2110=\203E\347\350!\262\351\345!\346#\210\211\262\204R\352\353\354#\210+\207" [buffer-file-name cl-struct-tramp-file-name-tags tramp-auto-save-directory system-type auto-save-file-name-transforms file-name-handler-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 expand-file-name file-exists-p make-directory t tramp-tramp-file-p not-windows tramp-subst-strs-in-string (("_" . "|") ("/" . "_a") (":" . "_b") ("|" . "__") ("[" . "_l") ("]" . "_r")) nil file-local-name string-prefix-p "/:" "/" file-remote-p tramp-run-real-handler make-auto-save-file-name file-in-directory-p file-attributes integer 0 tramp-get-connection-property tramp-get-process "unsafe-temporary-file" yes-or-no-p "Autosave file on local temporary directory, do you want to continue? " tramp-set-connection-property tramp-error file-error "Unsafe autosave file name" tramp-allow-unsafe-temporary-files temporary-file-directory tramp-unknown-id-integer tramp-cache-undefined] 23 (#$ . 219416)]) #@122 Replace all occurrences of the string FROM with TO in STRING. ALIST is of the form ((FROM . TO) ...). (fn ALIST STRING) (defalias 'tramp-subst-strs-in-string #[514 "\300 \301\302\"\216\2030@\211@A\303\304!\"\203'\305\306\211$\262\202A\262\266\202)\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match regexp-quote replace-match t] 11 (#$ . 221362)]) #@50 Like `temporary-file-directory' for Tramp files. (defalias 'tramp-handle-temporary-file-directory #[0 "\3012=\3021\303\304!!0\202\210\305D\211\205:\211@\211;\2033\306!\2033\307!\2033\310\301\311!\"\210A\266\202\202\2620\207" [default-directory result (error) tramp-get-remote-tmpdir tramp-dissect-file-name nil file-directory-p file-writable-p throw expand-file-name] 6 (#$ . 221788)]) #@86 Like `make-nearby-temp-file' for Tramp files. (fn PREFIX &optional DIR-FLAG SUFFIX) (defalias 'tramp-handle-make-nearby-temp-file #[769 "\301 \302#)\207" [temporary-file-directory tramp-compat-temporary-file-directory-function make-temp-file] 7 (#$ . 222198)]) #@266 Call `call-process' on the local host. It always returns a return code. The Lisp error raised when PROGRAM is nil is trapped also, returning 1. Furthermore, traces are written with verbosity of 6. (fn VEC PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) (defalias 'tramp-call-process #[1410 "\306\307\310N@\311\"\312\301!\311=\203p\202\206@\313\211\211\314\315 \316\317\320#\266\202\nF\3211\322 X\205\314\322X\203r\f\204r\323\324\325U\203X\326\202m\327U\203b\326\202m\330U\203l\331\202m\332P#\210 \333Y\205\314\325\327U\203\254\3341\253r\335!\203\221\336!\202\225\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202\254\210\335!\203\270\344\345\"\262)\242 >\205\314\323\346\347\350\"P$0\266\202\324\266\3511 \352\353\311\"r\211q\210\354\355\"\216\323\356 \206\361\311&\262;\203\262\327\262r\357!\203\202pq\210\343 \211\262+\2620\210\202)\360!\262\327\211\266\203G\325U\203\326\314\361D\3211\321 X\205\313\322X\203q\f\204q\323\324\325U\203W\326\202l\327U\203a\326\202l\330U\203k\331\202l\332P#\210 \333Y\205\313\325\327U\203\253\3341\252r\335!\203\220\336!\202\224\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202\253\210\335!\203\267\344\345\"\262)\242 >\205\313\323\346\347\350\"P$0\266\202{\266\202{\314\362E\3211y X\205s\322X\203\f\204\323\324\325U\203\377\326\202\327U\203 \326\202\330U\203\331\202\332P#\210 \333Y\205s\325\327U\203S\3341Rr\335!\2038\336!\202<\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202S\210\335!\203_\344\345\"\262)\242 >\205s\323\346\347\350\"P$0\266\202{\266*\207" [tramp-current-connection process-environment default-directory tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value t default-toplevel-value nil 6 "`%s %s' %s %s" " " mapconcat identity (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) # " (error) generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] call-process bufferp error-message-string "%s\n%s" "%s\n%s\n%s"] 23 (#$ . 222471)]) #@278 Call `call-process-region' on the local host. It always returns a return code. The Lisp error raised when PROGRAM is nil is trapped also, returning 1. Furthermore, traces are written with verbosity of 6. (fn VEC START END PROGRAM &optional DELETE BUFFER DISPLAY &rest ARGS) (defalias 'tramp-call-process-region #[1924 "\305\306\307N@\310\"\311\300!\310=\203p\202\312 \313\314 \315\316\317#\266\202 \257\3201\316\nX\205\310\321X\203n \204n\322\323\324U\203T\325\202i\326U\203^\325\202i\327U\203h\330\202i\331P#\210\n\332Y\205\310\324\326U\203\250\3331\247r\334!\203\215\335!\202\221\336\337\"q\210\340P\262\341\342 C\"\211\262)0\210\202\250\210\334!\203\264\343\344\"\262)\242\f>\205\310\322\345\346\347\"P$0\266\202\320\266\3501X\322\351\f\f\f\f\f\f&\262\211;\203\363\352\353C\"\210r\354!\203\376\202\377pq\210\211\324U\203\255 \313\355C\3201\247\nX\205\241\321X\203G \204G\322\323\324U\203-\325\202B\326U\2037\325\202B\327U\203A\330\202B\331P#\210\n\332Y\205\241\324\326U\203\201\3331\200r\334!\203f\335!\202j\336\337\"q\210\340P\262\341\342 C\"\211\262)0\210\202\201\210\334!\203\215\343\344\"\262)\242\f>\205\241\322\345\346\347\"P$0\266\204\202R\266\312\202R \313\356\342 D\3201O\nX\205I\321X\203\357 \204\357\322\323\324U\203\325\325\202\352\326U\203\337\325\202\352\327U\203\351\330\202\352\331P#\210\n\332Y\205I\324\326U\203)\3331(r\334!\203\335!\202\336\337\"q\210\340P\262\341\342 C\"\211\262)0\210\202)\210\334!\2035\343\344\"\262)\242\f>\205I\322\345\346\347\"P$0\266\204\202R\266\312)0\210\202\326\262\f\313\356\357!D\3201\376\nX\205\370\321X\203\236 \204\236\322\323\324U\203\204\325\202\231\326U\203\216\325\202\231\327U\203\230\330\202\231\331P#\210\n\332Y\205\370\324\326U\203\330\3331\327r\334!\203\275\335!\202\301\336\337\"q\210\340P\262\341\342 C\"\211\262)0\210\202\330\210\334!\203\344\343\344\"\262)\242\f>\205\370\322\345\346\347\"P$0\266\202\266\312\266*\207" [process-environment default-directory tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value t default-toplevel-value nil 6 "`%s %s' %s %s %s %s" " " mapconcat identity (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) # " (error) call-process-region signal file-error bufferp "%d" "%d\n%s" error-message-string] 23 (#$ . 224881)]) #@147 Call `process-lines' on the local host. If an error occurs, it returns nil. Traces are written with verbosity of 6. (fn VEC PROGRAM &rest ARGS) (defalias 'tramp-process-lines #[642 "\306\307\310N@\311\"\312\301!\206@\313\203\310\314\315\316\317\320#\266\202D\3211\303 X\205\275\322X\203c\f\204c\323\324\325U\203I\326\202^\327U\203S\326\202^\330U\203]\331\202^\332P#\210 \333Y\205\275\325\327U\203\235\3341\234r\335!\203\202\336!\202\206\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202\235\210\335!\203\251\344\345\"\262)\242 >\205\275\323\346\347\350\"P$0\266\202j\266\202j\314\351C\3211h X\205b\322X\203\f\204\323\324\325U\203\356\326\202\327U\203\370\326\202\330U\203\331\202\332P#\210 \333Y\205b\325\327U\203B\3341Ar\335!\203'\336!\202+\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202B\210\335!\203N\344\345\"\262)\242 >\205b\323\346\347\350\"P$0\266\202j\266\3521y\323\353#0\202\202\354@A#\262\262\314\351C\3211# X\205\322X\203\303\f\204\303\323\324\325U\203\251\326\202\276\327U\203\263\326\202\276\330U\203\275\331\202\276\332P#\210 \333Y\205\325\327U\203\375\3341\374r\335!\203\342\336!\202\346\337\340\"q\210\341P\262\342\343 C\"\211\262)0\210\202\375\210\335!\203 \344\345\"\262)\242 >\205\323\346\347\350\"P$0\266\202%\266*\207" [tramp-current-connection process-environment default-directory tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value t default-toplevel-value nil 6 "%s %s" " " mapconcat identity (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) # " "%s" (error) process-lines tramp-error] 17 (#$ . 227574)]) #@94 Return t if system process PROCESS-NAME is running for `user-login-name'. (fn PROCESS-NAME) (defalias 'tramp-process-running-p #[257 "\211;\205C\3002C\301 \211\205@\211@\302!\211\205\303\236A\211\2037\304\236A\305 \230\2037\306\"\2037\307\300\310\"\210\266A\266\202\202 \2620\207" [result list-system-processes process-attributes comm user user-login-name string-prefix-p throw t] 8 (#$ . 229534)]) #@166 Read a password from user (compat function). Consults the auth-source package. Invokes `password-read' if available, `read-passwd' else. (fn PROC &optional PROMPT) (defalias 'tramp-read-passwd #[513 "\306\307\310N@\311\"\311\312\313\314\315\316\"#\317\320#\2060r\321!q\210\322\n\"\210\323\324\325\326\327!!#)\330BCr\321!q\210\f)\331 \332\211C\333\334\"\216\335!\211\242 >\204Y\336\337\340D\"\210\211A@\242 >\204j\336\337\340D\"\210\3418\242 >\204{\336\337\340D\"\210\3428\242 >\204\215\336\337\340D\"\210\3438\242 >\204\237\336\337\340D\"\210\3448\242 >\204\261\336\337\340D\"\210\3458\242 >\204\305\336\337\340 D\"\210\3468\332:\206\326\313 \347\332#\262\3501M\313\351\332#\2034\352\353\327\205\356\354\203\375 ;\nQ\202\377 \355\203 <\nQ\202 \356\357\360\205\361B\362\311&\f@\262\n\363\n\364\":\363 \360\"\240\210\365 \242!\203F\211\242 \240\210\2024\2420\202Q\210\202T\206q\366 \"\240\210\333\367 #:\242\206q\370\f!\371 \351\332#\210\266\210-\207" [default-directory case-fold-search tramp-password-prompt-regexp auth-source-creation-prompts auth-sources cl-struct-tramp-file-name-tags eval temporary-file-directory standard-value t tramp-make-tramp-file-name tramp-get-connection-property "password-vector" process-get vector noloc nohop process-buffer tramp-check-for-regexp format "%s for %s " capitalize match-string 1 secret with-timeout-suspend nil make-closure #[0 "\301\300!\207" [V0 with-timeout-unsuspend] 2] tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 "login-as" (error) "first-password-request" auth-source-search :max :user :host :port :require :secret (:user) :create plist-get :save-function functionp password-read #[0 "\302\300\301\242\"\207" [V0 V1 password-cache-add] 3] read-passwd tramp-set-connection-property tramp-password-save-function tramp-prefix-domain-format tramp-prefix-port-format] 28 (#$ . 229959)]) (put 'tramp-read-passwd 'tramp-suppress-trace t) #@63 Clear password cache for connection related to VEC. (fn VEC) (defalias 'tramp-clear-passwd #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!\242>\204&\301\302\303D\"\210\3068\211\2033\307\310!!\210\311\312\313\205;\314\315\316 \257!\210\317\320\321\322#!\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 7 tramp-clear-passwd tramp-dissect-hop-name auth-source-forget :max 1 :user :host :port password-cache-remove tramp-make-tramp-file-name noloc nohop] 14 (#$ . 231998)]) (put 'tramp-clear-passwd 'tramp-suppress-trace t) #@141 Return the difference between the two times, in seconds. T1 and T2 are time values (as returned by `current-time' for example). (fn T1 T2) (defalias 'tramp-time-diff #[514 "\300\301\"!\207" [float-time time-subtract] 6 (#$ . 232644)]) #@219 Remove quotation prefix "/:" from string S, and quote it then for shell. Suppress `shell-file-name'. This is needed on w32 systems, which would use a wrong quoting for local file names. See `w32-shell-name'. (fn S) (defalias 'tramp-unquote-shell-quote-argument #[257 "\302\303\302\211?\205 \304!\211\211?\205 \305\306\304!\")\266\202\2035\211G\307U\203/\310\2023\211\307\302O\262\311!P)\266\203!)\207" [shell-file-name file-name-handler-alist nil shell-quote-argument file-local-name string-prefix-p "/:" 2 "/" file-remote-p] 11 (#$ . 232889)]) #@99 Similar to `shell-quote-argument', but groks newlines. Only works for Bourne-like shells. (fn S) (defalias 'tramp-shell-quote-argument #[257 "\302\303 \304\305\"\216\306!\307\310\311 \"!G\312Y\203(\313\312O\314\230\203(\315\316O\262\317\"\203=\320\310\321 \"\322\211$\262\202(\266\202)\262)\207" [system-type tramp-rsh-end-of-line not-windows match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-unquote-shell-quote-argument regexp-quote format "\\%s" 2 0 "\\~" 1 nil string-match replace-match "'%s'" t] 9 (#$ . 233460)]) #@202 Interrupt remote PROCESS. PROCESS can be a process, a buffer with an associated process, the name of a process or buffer, or nil to default to the current buffer. (fn &optional PROCESS CURRENT-GROUP) (defalias 'tramp-interrupt-process #[512 "\303!\203\n\2022\304!\203\305!\2022;\203'\306!\2062\305!\2022\2041\305p!\2022\307\303!\205\310\311\"\211\262\205\312!\204P\313\314\315$\207\316\317D\3201\360X\205\352\321X\203\220 \204\220\322\323\324U\203v\325\202\213\326U\203\200\325\202\213\327U\203\212\330\202\213\331P#\210\332Y\205\352\324\326U\203\312\3331\311r\303!\203\257\334!\202\263\335\336\"q\210\337P\262\340\341 C\"\211\262)0\210\202\312\210\303!\203\326\310\342\"\262)\242\n>\205\352\322\343\344\345\"P$0\266\202\362\266\346\347!\203 \347\310\342\"\344\350\211\351\310 \342\"!$\"\210\352\324\"\204 \312!?\207" [tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags processp bufferp get-buffer-process get-process nil process-get remote-pid process-live-p tramp-error error "Process %s is not active" 5 "Interrupt process %s with pid %s" (error) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string vector tramp-debug-message format "(%d) # " functionp tramp-send-command "(\\kill -2 -%d || \\kill -2 %d) 2>%s" tramp-get-remote-null-device tramp-accept-process-output] 14 (#$ . 234043)]) (byte-code "\300\301!\203\302\301\303\"\210\302\304\305\"\210\300\207" [boundp interrupt-process-functions add-hook tramp-interrupt-process tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook interrupt-process-functions tramp-interrupt-process] 3]] 3) #@109 Return null device on the remote host identified by VEC. If VEC is nil, return local null device. (fn VEC) (defalias 'tramp-get-remote-null-device #[257 "\211\204\207\303\304 #\211 =\203 \305!\306 )\262\307\304#\210\207" [null-device tramp-cache-undefined default-directory tramp-get-connection-property "null-device" tramp-make-tramp-file-name tramp-compat-null-device tramp-set-connection-property] 6 (#$ . 235802)]) #@127 Skeleton for `tramp-*-handle-delete-directory'. BODY is the backend specific code. (fn DIRECTORY RECURSIVE TRASH &rest BODY) (defalias 'tramp-skeleton-delete-directory '(macro . #[899 "\300\301D\302\303\304\305E\303\306\307\n\310 DED\311\312\fDFBBB\313BBBB\207" [with-parsed-tramp-file-name expand-file-name nil if and delete-by-moving-to-trash not or tramp-compat-directory-empty-p (tramp-error v 'file-error "Directory is not empty, not moving to trash") move-file-to-trash ((tramp-flush-directory-properties v localname))] 15 (#$ . 236239)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\304\301\307\306#\207" [function-put tramp-skeleton-delete-directory lisp-indent-function 3 put edebug-form-spec t tramp-suppress-trace] 5) #@42 Discard Tramp from loading remote files. (defalias 'tramp-unload-tramp #[0 "\3001\n\301\302\303\"0\207\210\304\207" [(error) unload-feature tramp force nil] 3 (#$ . 236990) nil]) (byte-code "\301\302!\210\303\300!\210\304\211\207" [tramp--startup-hook provide tramp run-hooks nil] 3)