Server IP : 111.118.215.189 / Your IP : 18.116.81.133 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/net/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:38 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/tramp.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312& \210\313\314\315\316\306\303\317\320&\210\313\321\322\323\306\303\317\324&\210\325\326!\2038 \313\327\304\330\306\303\317\331&\210\313\332\304\333\306\303\317\334&\210\313\335\336\337\306\303\317\340&\210\313\341\342\343\306\303\317\344&\210\313\345\346\347\311\350\306\303\317\351& \207" [require tramp-compat custom-declare-group tramp nil "Edit remote files with a combination of ssh, scp, etc." :group files comm :version "22.1" custom-declare-variable tramp-mode t "Whether Tramp is enabled.\nIf it is set to nil, all remote file names are used literally." :type boolean tramp-verbose 3 "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)." integer boundp backup-directory-alist tramp-backup-directory-alist "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 "Put auto-save files in this directory, if set.\nThe idea is to use a local directory so that auto-saving is faster." (choice (const nil) string) tramp-encoding-shell (if (memq system-type '(windows-nt)) (getenv "COMSPEC") "/bin/sh") "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 (if (string-match "cmd\\.exe" tramp-encoding-shell) "/c" "-c") "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 (unless (string-match "cmd\\.exe" tramp-encoding-shell) "-i") "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)] 10) #@4820 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-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 the list of arguments to pass to the above mentioned program. Please note that this is a list of list of arguments, that is, normally you don't want to put "-a -b" or "-f foo" here. Instead, you want a list ("-a" "-b"), or ("-f" "foo"). There are some patterns: "%h" in this list is replaced by the host name, "%u" is replaced by the user name, "%p" is replaced by the port number, and "%%" can be used to obtain a literal percent character. If a list containing "%h", "%u" or "%p" is unchanged during expansion (i.e. no host or no user specified), this list is not used as argument. By this, arguments like ("-l" "%u") are optional. "%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. * `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-copy-program' This specifies the name of the program to use for remotely copying the file; this might be the absolute filename of rcp or the name of a workalike program. * `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-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 is needed in case of gateway connections. Additionally, it is used as indication which method is prepared for passing gateways. * `tramp-gw-args' As the attribute name says, additional arguments are specified here when a method is applied via a gateway. * `tramp-tmpdir' A directory on the remote host for temporary files. If not specified, "/tmp" is taken as default. 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 rcp-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. Methods which are fit for gateways must have `tramp-default-port' at least. Notes: When using `su' or `sudo' 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' or `sudo' 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 (#$ . 3866)) #@167 Call ssh to detect whether it supports the ControlMaster argument. This function may return nil when the argument is supported, but shouldn't return t when it isn't. (defalias 'tramp-detect-ssh-controlmaster #[nil "\300\301\302\217\207" [nil (byte-code "\301\302!rq\210\303\216\304\305\306\307\306\310\311&\210eb\210\312\313\306\307#+\207" [#1=#:temp-buffer generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) call-process "ssh" nil t "-o" "ControlMaster" search-forward-regexp "Missing ControlMaster argument"] 7) ((error))] 3 (#$ . 8731)]) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\311\315\304\305\306\316&\210\300\317\311\320\304\305\306\321&\210\300\322\323\324\304\305\306\307&\210\300\325\311\326\304\305\306\327&\210\300\330\311\331\304\305\332\333\306\334& \210\300\335\336\337\332\333\304\305\306\340& \207" [custom-declare-variable tramp-default-method (cond ((and (eq system-type 'windows-nt) (executable-find "pscp")) (if (or (fboundp 'password-read) (fboundp 'auth-source-user-or-password) (fboundp 'auth-source-search) (tramp-compat-process-running-p "Pageant")) "pscp" "plink")) ((executable-find "scp") (cond ((tramp-detect-ssh-controlmaster) "scpc") ((or (fboundp 'password-read) (fboundp 'auth-source-user-or-password) (fboundp 'auth-source-search) (getenv "SSH_AUTH_SOCK") (getenv "SSH_AGENT_PID")) "scp") (t "ssh"))) (t "ftp")) "Default method to use for transferring files.\nSee `tramp-methods' for possibilities.\nAlso see `tramp-default-method-alist'." :group tramp :type string tramp-default-method-alist nil "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)))) tramp-default-user "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." (choice (const nil) string) tramp-default-user-alist "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 USER 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 (system-name) "Default host to use for transferring files.\nUseful for su and sudo methods mostly." tramp-default-proxies-alist "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. PROXY must be a Tramp filename without a localname\npart. Method and user name on PROXY are optional, which is\ninterpreted with the default values. PROXY can contain the\npatterns %h and %u, which are replaced by the strings matching\nHOST or USER, respectively.\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 "Whether to save ad-hoc proxies persistently." :version "24.3" boolean tramp-restricted-shell-hosts-alist (when (memq system-type '(windows-nt)) (list (concat "\\`" (regexp-quote (system-name)) "\\'"))) "List of hosts, which run a restricted shell.\nThis is a list of regular expressions, which denote hosts running\na registered shell like \"rbash\". Those hosts can be used as\nproxies only, see `tramp-default-proxies-alist'. If the local\nhost runs a registered shell, it shall be added to this list, too." (repeat (regexp :tag "Host regexp"))] 10) #@46 Host names which are regarded as local host. (defconst tramp-local-host-regexp (byte-code "\300\301\302\303\304 \305\306\257\307\"\310Q\207" ["\\`" regexp-opt "localhost" "localhost6" system-name "127.0.0.1" "::1" t "\\'"] 7) (#$ . 13657)) #@959 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-netrc' for "~/.netrc" like files. * `tramp-parse-putty' for PuTTY registered sessions. FUNCTION can also be a customer defined function. For more details see the info pages. (defvar tramp-completion-function-alist nil (#$ . 13905)) #@44 String marker to surround echoed commands. (defconst tramp-echo-mark-marker "_echo" (#$ . 14927)) #@44 String length of `tramp-echo-mark-marker'. (defconst tramp-echo-mark-marker-length (length tramp-echo-mark-marker) (#$ . 15031)) #@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) (#$ . 15167)) #@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) (#$ . 15752)) (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\313\314\306\307\310\311&\210\300\315\316\317\306\307\310\320&\210\300\321\322\323\306\307\310\320&\210\300\324\325\326\306\307\310\320&\210\300\327\330\331\306\307\310\320&\210\300\332\333\334\306\307\310\320&\210\300\335\336\337\306\307\310\320&\210\300\340\341\342\306\307\310\320&\210\300\343\344\345\306\307\310\320&\210\300\346\347\350\306\307\310\320&\210\300\351\352\353\306\307\310\320&\207" [custom-declare-variable tramp-local-end-of-line (if (memq system-type '(windows-nt)) " \n" "\n") "String used for end of line in local processes." :version "24.1" :group tramp :type string tramp-rsh-end-of-line "\n" "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 ".*ogin\\( .*\\)?: *" "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 (concat (if (featurep 'xemacs) #1="" "\\(?:^\\| \\)") "[^]#$%>\n]*#?[]#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*") "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 "^.*\\([pP]assword\\|[pP]assphrase\\).*: ? *" "Regexp matching password-like prompts.\nThe regexp should match at end of buffer.\n\nThe `sudo' program appears to insert a `^@' character into the prompt." tramp-wrong-passwd-regexp (concat "^.*" (regexp-opt '("Permission denied" "Login incorrect" "Login Incorrect" "Connection refused" "Connection closed" "Timeout, server not responding." "Sorry, try again." "Name or service not known" "Host key verification failed." "No supported authentication methods left to try!") t) ".*" "\\|" "^.*\\(" "Received signal [0-9]+" "\\).*") "Regexp matching a `login failed' message.\nThe regexp should match at end of buffer." tramp-yesno-prompt-regexp (concat (regexp-opt '("Are you sure you want to continue connecting (yes/no)?") t) "\\s-*") "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 (concat (regexp-opt '("Store key in cache? (y/n)" "Update cached key? (y/n, Return cancels connection)") t) "\\s-*") "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-prompt-regexp (concat "\\(" "TERM = (.*)" "\\|" "Terminal type\\? \\[.*\\]" "\\)\\s-*") "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-operation-not-permitted-regexp (concat "\\(" "preserving times.*" "\\|" "set mode" "\\)" ":\\s-*" (regexp-opt '("Operation not permitted") t)) "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 (concat "\\(.+: " (regexp-opt '("Permission denied" "not a regular file" "is a directory" "No such file or directory") t) "\\)\\s-*") "Regular expression matching copy problems in (s)cp operations." tramp-process-alive-regexp #1# "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."] 10) #@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." (#$ . 20235)) #@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*" (#$ . 20614)) #@82 File name of a persistent local temporary file. Useful for "rsync" like methods. (defvar tramp-temp-buffer-file-name nil (#$ . 20784)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311\312\313\314&\207" [make-variable-buffer-local tramp-temp-buffer-file-name put permanent-local t custom-declare-variable tramp-syntax (if (featurep 'xemacs) 'sep 'ftp) "Tramp filename syntax to be used.\n\nIt can have the following values:\n\n 'ftp -- Ange-FTP respective EFS like syntax (GNU Emacs default)\n 'sep -- Syntax as defined for XEmacs (not available yet for GNU Emacs)\n 'url -- URL-like syntax." :group tramp :type (choice (const :tag "Ange-FTP" ftp) (const :tag "URL" url))] 8) #@95 String matching the very beginning of Tramp file names. Used in `tramp-make-tramp-file-name'. (defconst tramp-prefix-format (byte-code "\301\232\203 \302\207\303\232\203 \304\207\305\232\203 \302\207\306\307!\207" [tramp-syntax ftp "/" sep "/[" url error "Wrong `tramp-syntax' defined"] 2) (#$ . 21487)) #@123 Regexp matching the very beginning of Tramp file names. Should always start with "^". Derived from `tramp-prefix-format'. (defconst tramp-prefix-regexp (byte-code "\301\302!P\207" [tramp-prefix-format "^" regexp-quote] 3) (#$ . 21804)) #@38 Regexp matching methods identifiers. (defconst tramp-method-regexp "[a-zA-Z_0-9-]+" (#$ . 22047)) #@104 String matching delimiter between method and user or host names. Used in `tramp-make-tramp-file-name'. (defconst tramp-postfix-method-format (byte-code "\301\232\203 \302\207\303\232\203 \304\207\305\232\203 \306\207\307\310!\207" [tramp-syntax ftp ":" sep "/" url "://" error "Wrong `tramp-syntax' defined"] 2) (#$ . 22152)) #@110 Regexp matching delimiter between method and user or host names. Derived from `tramp-postfix-method-format'. (defconst tramp-postfix-method-regexp (regexp-quote tramp-postfix-method-format) (#$ . 22491)) #@29 Regexp matching user names. (defconst tramp-user-regexp "[^/|: ]+" (#$ . 22701)) #@58 String matching delimiter between user and domain names. (defconst tramp-prefix-domain-format "%" (#$ . 22789)) #@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) (#$ . 22908)) #@31 Regexp matching domain names. (defconst tramp-domain-regexp "[-a-zA-Z0-9_.]+" (#$ . 23107)) #@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#) (#$ . 23205)) #@94 String matching delimiter between user and host names. Used in `tramp-make-tramp-file-name'. (defconst tramp-postfix-user-format "@" (#$ . 23411)) #@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) (#$ . 23564)) #@29 Regexp matching host names. (defconst tramp-host-regexp "[a-zA-Z0-9_.-]+" (#$ . 23758)) #@89 String matching left hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'. (defconst tramp-prefix-ipv6-format (byte-code "\301\232\203 \302\207\303\232\203 \304\207\305\232\203 \302\207\306\307!\207" [tramp-syntax ftp "[" sep "" url error "Wrong `tramp-syntax' defined"] 2) (#$ . 23852)) #@92 Regexp matching left hand side of IPv6 addresses. Derived from `tramp-prefix-ipv6-format'. (defconst tramp-prefix-ipv6-regexp (regexp-quote tramp-prefix-ipv6-format) (#$ . 24165)) #@33 Regexp matching IPv6 addresses. (defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" (#$ . 24351)) #@90 String matching right hand side of IPv6 addresses. Used in `tramp-make-tramp-file-name'. (defconst tramp-postfix-ipv6-format (byte-code "\301\232\203 \302\207\303\232\203 \304\207\305\232\203 \302\207\306\307!\207" [tramp-syntax ftp "]" sep "" url error "Wrong `tramp-syntax' defined"] 2) (#$ . 24478)) #@94 Regexp matching right hand side of IPv6 addresses. Derived from `tramp-postfix-ipv6-format'. (defconst tramp-postfix-ipv6-regexp (regexp-quote tramp-postfix-ipv6-format) (#$ . 24793)) #@64 String matching delimiter between host names and port numbers. (defconst tramp-prefix-port-format (byte-code "\301\232\203 \302\207\303\232\203 \302\207\304\232\203 \305\207\306\307!\207" [tramp-syntax ftp "#" sep url ":" error "Wrong `tramp-syntax' defined"] 2) (#$ . 24983)) #@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) (#$ . 25273)) #@31 Regexp matching port numbers. (defconst tramp-port-regexp "[0-9]+" (#$ . 25472)) #@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#) (#$ . 25559)) #@57 String matching delimiter after ad-hoc hop definitions. (defconst tramp-postfix-hop-format "|" (#$ . 25759)) #@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) (#$ . 25874)) #@100 String matching delimiter between host names and localnames. Used in `tramp-make-tramp-file-name'. (defconst tramp-postfix-host-format (byte-code "\301\232\203 \302\207\303\232\203 \304\207\305\232\203 \306\207\307\310!\207" [tramp-syntax ftp ":" sep "]" url "" error "Wrong `tramp-syntax' defined"] 2) (#$ . 26067)) #@104 Regexp matching delimiter between host names and localnames. Derived from `tramp-postfix-host-format'. (defconst tramp-postfix-host-regexp (regexp-quote tramp-postfix-host-format) (#$ . 26397)) #@29 Regexp matching localnames. (defconst tramp-localname-regexp ".*$" (#$ . 26597)) #@75 Regular expression matching a Tramp file name between prefix and postfix. (defconst tramp-remote-file-name-spec-regexp (byte-code "\306\307\310 \311\306\307\n\310\311\307\306\f\312 \f\310\306 \311\211\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] 25) (#$ . 26684)) #@821 List of six elements (REGEXP METHOD USER HOST FILE HOP), detailing the Tramp file name structure. 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'. (defconst tramp-file-name-structure (byte-code "\305\306 \n\307\310 \305\f\311\260\f\312\313\314\315\316\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] 12) (#$ . 27185)) #@240 Value for `tramp-file-name-regexp' for unified remoting. Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and Tramp. See `tramp-file-name-structure' for more explanations. On W32 systems, the volume letter must be ignored. (defconst tramp-file-name-regexp-unified (byte-code "\301>\203 \302\207\303\207" [system-type (cygwin windows-nt) "\\`/\\([^[/|:]\\{2,\\}\\|[^/|]\\{2,\\}]\\):" "\\`/\\([^[/|:]+\\|[^/|]+]\\):"] 2) (#$ . 28322)) #@172 Value for `tramp-file-name-regexp' for separate remoting. XEmacs uses a separate filename syntax for Tramp and EFS. See `tramp-file-name-structure' for more explanations. (defconst tramp-file-name-regexp-separate "\\`/\\[.*\\]" (#$ . 28780)) #@114 Value for `tramp-file-name-regexp' for URL-like remoting. See `tramp-file-name-structure' for more explanations. (defconst tramp-file-name-regexp-url "\\`/[^/|:]+://" (#$ . 29029)) #@736 Regular expression matching file names handled by Tramp. This regexp should match Tramp file names but no other file names. When tramp.el is loaded, this regular expression is prepended to `file-name-handler-alist', and that is searched sequentially. Thus, if the Tramp entry appears rather early in the `file-name-handler-alist' and is a bit too general, then some files might be considered Tramp files which are not really Tramp files. 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'. (defconst tramp-file-name-regexp (byte-code "\304\232\203 \207\305\232\203 \n\207\306\232\203 \207\307\310!\207" [tramp-syntax tramp-file-name-regexp-unified tramp-file-name-regexp-separate tramp-file-name-regexp-url ftp sep url error "Wrong `tramp-syntax' defined"] 2) (#$ . 29217)) #@241 Value for `tramp-completion-file-name-regexp' for unified remoting. GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP. See `tramp-file-name-structure' for more explanations. On W32 systems, the volume letter must be ignored. (defconst tramp-completion-file-name-regexp-unified (byte-code "\301>\203 \302\207\303\207" [system-type (cygwin windows-nt) "\\`/[^/]\\{2,\\}\\'" "\\`/[^/]*\\'"] 2) (#$ . 30251)) #@183 Value for `tramp-completion-file-name-regexp' for separate remoting. XEmacs uses a separate filename syntax for Tramp and EFS. See `tramp-file-name-structure' for more explanations. (defconst tramp-completion-file-name-regexp-separate "\\`/\\([[][^]]*\\)?\\'" (#$ . 30680)) #@125 Value for `tramp-completion-file-name-regexp' for URL-like remoting. See `tramp-file-name-structure' for more explanations. (defconst tramp-completion-file-name-regexp-url "\\`/[^/:]+\\(:\\(/\\(/[^/]*\\)?\\)?\\)?\\'" (#$ . 30961)) #@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'. (defconst tramp-completion-file-name-regexp (byte-code "\304\232\203 \207\305\232\203 \n\207\306\232\203 \207\307\310!\207" [tramp-syntax tramp-completion-file-name-regexp-unified tramp-completion-file-name-regexp-separate tramp-completion-file-name-regexp-url ftp sep url error "Wrong `tramp-syntax' defined"] 2) (#$ . 31199)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\315\316\304\305\306\317&\207" [custom-declare-variable tramp-chunksize (when (and (not (featurep 'xemacs)) (memq system-type '(hpux))) 500) "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 (memq (process-status proc) '(run open))\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 (memq (process-status proc) '(run open))\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\nC-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 \"M-x tramp-bug\" if your system needs\nthis variable to be set as well." :group tramp :type (choice (const nil) integer) tramp-process-connection-type t "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-completion-reread-directory-timeout 10 "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) integer)] 8) #@44 Connection method for this *tramp* buffer. (defvar tramp-current-method nil (#$ . 35771)) #@44 Remote login name for this *tramp* buffer. (defvar tramp-current-user nil (#$ . 35867)) #@38 Remote host for this *tramp* buffer. (defvar tramp-current-host nil (#$ . 35961)) #@212 Alist of completion handler functions. Used for file names matching `tramp-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)) (#$ . 36050)) #@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 (#$ . 36486)) #@93 Return the method parameter PARAM. If the `tramp-methods' entry does not exist, return nil. (defalias 'tramp-get-method-parameter #[(method param) "\305\305 \n\"\"\211\205 \211A@))\207" [param method tramp-methods entry x assoc] 6 (#$ . 36728)]) #@39 Check, whether VEC is a Tramp object. (defalias 'tramp-file-name-p #[(vec) "\301!\205\n G\302U\207" [vec vectorp 5] 2 (#$ . 36985)]) #@33 Return method component of VEC. (defalias 'tramp-file-name-method #[(vec) "\301!\205 \302H\207" [vec tramp-file-name-p 0] 2 (#$ . 37126)]) #@31 Return user component of VEC. (defalias 'tramp-file-name-user #[(vec) "\301!\205 \302H\207" [vec tramp-file-name-p 1] 2 (#$ . 37274)]) #@31 Return host component of VEC. (defalias 'tramp-file-name-host #[(vec) "\301!\205 \302H\207" [vec tramp-file-name-p 2] 2 (#$ . 37418)]) #@36 Return localname component of VEC. (defalias 'tramp-file-name-localname #[(vec) "\301!\205 \302H\207" [vec tramp-file-name-p 3] 2 (#$ . 37562)]) #@30 Return hop component of VEC. (defalias 'tramp-file-name-hop #[(vec) "\301!\205 \302H\207" [vec tramp-file-name-p 4] 2 (#$ . 37716)]) #@45 Return the user name of VEC without domain. (defalias 'tramp-file-name-real-user #[(vec) "\304 \305\216\306 !\211;\203 \307\n\"\203 \310\311\n\"\202 \n+\207" [save-match-data-internal vec user tramp-user-with-domain-regexp match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) tramp-file-name-user string-match match-string 1] 4 (#$ . 37858)]) #@32 Return the domain name of VEC. (defalias 'tramp-file-name-domain #[(vec) "\304 \305\216\306 !\211;\205 \307\n\"\205 \310\311\n\"+\207" [save-match-data-internal vec user tramp-user-with-domain-regexp match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) tramp-file-name-user string-match match-string 2] 4 (#$ . 38257)]) #@43 Return the host name of VEC without port. (defalias 'tramp-file-name-real-host #[(vec) "\304 \305\216\306 !\211;\203 \307\n\"\203 \310\311\n\"\202 \n+\207" [save-match-data-internal vec host tramp-host-with-port-regexp match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) tramp-file-name-host string-match match-string 1] 4 (#$ . 38632)]) #@32 Return the port number of VEC. (defalias 'tramp-file-name-port #[(vec) "\305 \306\216\307 !\310 !\n;\203\"