Your IP : 216.73.216.48


Current Path : /usr/X11R6/share/emacs/24.5/lisp/net/
Upload File :
Current File : //usr/X11R6/share/emacs/24.5/lisp/net/tramp-cache.elc

;ELC
;;; Compiled
;;; in Emacs version 24.5.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\"\207" [require tramp autoload time-stamp-string "time-stamp"] 3)
#@41 Hash table for remote files properties.
(defvar tramp-cache-data (make-hash-table :test 'equal) (#$ . 514))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\313\314\304\305\310\315&\207" [custom-declare-variable tramp-connection-properties nil "List of static connection properties.\nEvery entry has the form (REGEXP PROPERTY VALUE).  The regexp\nmatches remote file names.  It can be nil.  PROPERTY is a string,\nand VALUE the corresponding value.  They are used, if there is no\nmatching entry for PROPERTY in `tramp-cache-data'." :group tramp :version "24.4" :type (repeat (list (choice :tag "File Name regexp" regexp (const nil)) (choice :tag "        Property" string) (choice :tag "           Value" sexp))) tramp-persistency-file-name (cond ((and (fboundp 'locate-user-emacs-file)) (expand-file-name (tramp-compat-funcall 'locate-user-emacs-file "tramp"))) ((and (boundp 'user-emacs-directory) (stringp (symbol-value 'user-emacs-directory)) (file-directory-p (symbol-value 'user-emacs-directory))) (expand-file-name "tramp" (symbol-value 'user-emacs-directory))) ((and (not (featurep 'xemacs)) (file-directory-p "~/.emacs.d/")) "~/.emacs.d/tramp") ((and (boundp 'user-init-directory) (stringp (symbol-value 'user-init-directory)) (file-directory-p (symbol-value 'user-init-directory))) (expand-file-name "tramp" (symbol-value 'user-init-directory))) ((and (featurep 'xemacs) (file-directory-p "~/.xemacs/")) "~/.xemacs/tramp") (t "~/.tramp")) "File which keeps connection history for Tramp connections." file] 10)
#@50 Whether persistent cache data have been changed.
(defvar tramp-cache-data-changed nil (#$ . 2060))
#@144 Returns the hash table for KEY.
If it doesn't exist yet, it is created and initialized with
matching entries of `tramp-connection-properties'.
(defalias 'tramp-get-hash-table #[(key) "\306	\"\206L\307\310\311\312\"	#\313!\203J\314\211\203I
@\315\f@\206(\316\317\320H\321H\322H\314$\"\203B\323\fA@\322\f8#\210
A\211\204*\n)\207" [key tramp-cache-data hash tramp-connection-properties elt --dolist-tail-- gethash puthash make-hash-table :test equal vectorp nil string-match "" tramp-make-tramp-file-name 0 1 2 tramp-set-connection-property] 8 (#$ . 2166)])
#@85 Get the PROPERTY of FILE from the cache context of KEY.
Returns DEFAULT if not set.
(defalias 'tramp-get-file-property #[(key file property default) "\306!\211\307\310\311	C\"I\210\312!\313\n!\205\314\n\"\211:\203H
\203B
\250\2035\315\316 \f@\"
X\204B
:\203H\317
\f@\"\203H\fA\202K\320\321	\fE\322\323\324\217\210,\325Y\203\206\326\327P! \330 !\203{ J\206|\331! !TL\210*\f*\207" [key file hash property value remote-file-name-inhibit-cache copy-sequence 3 tramp-run-real-handler directory-file-name tramp-get-hash-table hash-table-p gethash tramp-time-diff current-time time-less-p 8 "%s %s %s" nil (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) 10 intern "tramp-cache-get-count-" boundp 0 default arguments fmt-string level vec-or-proc tramp-verbose var val] 7 (#$ . 2747)])
#@80 Set the PROPERTY of FILE to VALUE, in the cache context of KEY.
Returns VALUE.
(defalias 'tramp-set-file-property #[(key file property value) "\306!\211\307\310\311	C\"I\210\312!\313\314 \fB\n#\210\315\316	\fE\317\320\321\217\210,\322Y\203T\323\324P!\325!\203IJ\206J\326TL\210*\f)\207" [key file hash property value arguments copy-sequence 3 tramp-run-real-handler directory-file-name tramp-get-hash-table puthash current-time 8 "%s %s %s" nil (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) 10 intern "tramp-cache-set-count-" boundp 0 fmt-string level vec-or-proc tramp-verbose var val] 7 (#$ . 4129)])
#@60 Remove all properties of FILE in the cache context of KEY.
(defalias 'tramp-flush-file-property #[(key file) "\306	\307\310$\211;\203	\n\230\204\311\n\"\210)\312!\211\313\314\315	C\"I\210\316\317	C\310\320\321\217\210,\322\"\207" [key file truename arguments fmt-string level tramp-get-file-property "file-truename" nil tramp-flush-file-property copy-sequence 3 tramp-run-real-handler directory-file-name 8 "%s" (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) remhash vec-or-proc tramp-cache-data] 6 (#$ . 5329)])
#@120 Remove all properties of DIRECTORY in the cache context of KEY.
Remove also properties of all files in subdirectories.
(defalias 'tramp-flush-directory-property #[(key directory) "\306\307C\"\310	\311\312$\211;\203\n\230\204\313	\n\"\210	\314\315C\312\316\317\217\210,\320\321\"*\207" [directory key truename arguments fmt-string level tramp-run-real-handler directory-file-name tramp-get-file-property "file-truename" nil tramp-flush-directory-property 8 "%s" (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) maphash #[(key _value) "\303!;\205\304	\303!\"\205\305\n\"\207" [key directory tramp-cache-data tramp-file-name-localname string-match remhash] 4] vec-or-proc tramp-cache-data] 6 (#$ . 6426)])
#@101 Flush all Tramp cache properties from `buffer-file-name'.
This is suppressed for temporary buffers.
(defalias 'tramp-flush-file-function #[nil "\306 \307\216\310 ?\206\311\312\310 \"?\205[\313 ;\203\313 \202 	\314\315!\205Z\316!\317\f!\320\f!\321\f!\322\f!\323\f!
\210\210\210\210\210\324\f\".**\207" [save-match-data-internal default-directory tramp-verbose bfn v method match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) buffer-name string-match "^\\( \\|\\*\\)" buffer-file-name 0 tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-flush-file-property user host localname hop] 3 (#$ . 7717)])
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\306\"\207" [add-hook before-revert-hook tramp-flush-file-function eshell-pre-command-hook kill-buffer-hook tramp-cache-unload-hook #[nil "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\207" [remove-hook before-revert-hook tramp-flush-file-function eshell-pre-command-hook kill-buffer-hook] 3]] 3)
#@172 Get the named PROPERTY for the connection.
KEY identifies the connection, it is either a process or a vector.
If the value is not set for the connection, returns DEFAULT.
(defalias 'tramp-get-connection-property #[(key property default) "\306!\203\307!\211\310\311I\210\312!\313	!\203!\314\n	#\202\"\315\316\n\fD\311\317\320\217\210,\f*\207" [key hash property default value arguments vectorp copy-sequence 3 nil tramp-get-hash-table hash-table-p gethash 7 "%s %s" (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) fmt-string level vec-or-proc] 6 (#$ . 8884)])
#@166 Set the named PROPERTY of a connection to VALUE.
KEY identifies the connection, it is either a process or a vector.
PROPERTY is set persistent when KEY is a vector.
(defalias 'tramp-set-connection-property #[(key property value) "\306!\203\307!\211\310\311I\210\312!\313\n	#\210\314\315\316\nD\311\317\320\217\210,)\207" [key hash property value tramp-cache-data-changed arguments vectorp copy-sequence 3 nil tramp-get-hash-table puthash t 7 "%s %s" (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) fmt-string level vec-or-proc] 6 (#$ . 10028)])
#@125 Check whether named PROPERTY of a connection is defined.
KEY identifies the connection, it is either a process or a vector.
(defalias 'tramp-connection-property-p #[(key property) "\302	\303#\303=?\207" [key property tramp-get-connection-property undef] 4 (#$ . 11157)])
#@109 Remove all properties identified by KEY.
KEY identifies the connection, it is either a process or a vector.
(defalias 'tramp-flush-connection-property #[(key) "\306!\203\307!\211\310\311I\210\312\313\314	\"\311\315!\203%\316\317\"\210\n*D\311\320\321\217\210,\322\323	\"\207" [key tramp-cache-data properties hash arguments fmt-string vectorp copy-sequence 3 nil 7 "%s %s" gethash hash-table-p maphash #[(x _y) "	\235\203	\207\302	C\"\211\207" [x properties append] 3] (byte-code "	X\203h\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP
#\210	\321Y\203g\322!\203S\313\323\324\325#)\326!\203g\311\327\330\331\"\fP
$\210*\325\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6) ((error)) t remhash level vec-or-proc tramp-cache-data-changed] 8 (#$ . 11436)])
#@25 Print hash table TABLE.
(defalias 'tramp-cache-print #[(table) "\302!\205\303\304\305\"\210	)\207" [table result hash-table-p nil maphash #[(key value) "\306\307!\203e\310!\203;G\311	\nW\203:	H;\2033	\312\307!\204,\306\307!\2051\307	H!I\210	T\211\202*;\203P\312\307!\204L\306\307!\205O\307!;\203e\312\307!\204a\306\307!\205d\307!\313\314\315!\203u\316\211!!\202x\316!\317!\203\204\320!\202\225\321!\203\222\316\211!!\202\225\316!#
\203\242
\322\fQ\202\243\f\211)\207" [key i --dotimes-limit-- value tmp result functionp substring-no-properties vectorp 0 subrp format "(%s %s)" processp prin1-to-string hash-table-p tramp-cache-print bufferp " "] 7]] 3 (#$ . 12615)])
#@75 Return a list of all known connection vectors according to `tramp-cache'.
(defalias 'tramp-list-connections #[nil "\302\303\304	\"\210)\207" [result tramp-cache-data nil maphash #[(key _value) "\302!\205\303H?\205	\235\203	\207	B\211\207" [key result vectorp 3] 2]] 3 (#$ . 13339)])
#@81 Write persistent connection properties into file `tramp-persistency-file-name'.
(defalias 'tramp-dump-connection-properties #[nil "\300\301\302\217\207" [nil (byte-code "\306!\205c\307\310!!?\205c	\205c\n;\205c\311!\312\211\313\314
\"\210\315\316! r q\210\317\216\320\312\321\322\217\323\324\325\326\327!!!\330\216!!\331\332\333\334\335
!\"!!\210)r!q\210\336 +\261\210\337ed\n#.\207" [tramp-cache-data tramp-cache-data-changed tramp-persistency-file-name print-level print-length cache hash-table-p zerop hash-table-count copy-hash-table nil maphash #[(key value) "\303!\203\"\304!\204\"\305\306	\"\204\"\307\310	\"\210\307\311	\"\210\307\312	\"\207\307\n\"\207" [key value cache vectorp tramp-file-name-localname gethash "login-as" remhash "process-name" "process-buffer" "first-password-request"] 3] generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) ";; -*- emacs-lisp -*-" (byte-code "\301\302\303\304!#\207" [tramp-persistency-file-name format " <%s %s>\n" time-stamp-string "%02y/%02m/%02d %02H:%02M:%02S"] 4) ((error "\n")) ";; Tramp connection history.  Don't change this file.\n" ";; You can delete it, forcing Tramp to reapply the checks.\n\n" get-buffer-create generate-new-buffer-name " *string-output*" ((kill-buffer standard-output)) pp read format "(%s)" tramp-cache-print buffer-string write-region #1# standard-output] 10) ((error))] 3 (#$ . 13641)])
(byte-code "\204	\301\302\303\"\210\301\304\305\"\207" [noninteractive add-hook kill-emacs-hook tramp-dump-connection-properties tramp-cache-unload-hook #[nil "\300\301\302\"\207" [remove-hook kill-emacs-hook tramp-dump-connection-properties] 3]] 3)
#@202 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 connection history.
(defalias 'tramp-parse-connection-properties #[(method) "\302\303\304	\"\210)\207" [res tramp-cache-data nil maphash #[(key _value) "\303!\205 	\304!\230\205 \305!?\205 \306!\307!D\nB\211\207" [key method res vectorp tramp-file-name-method tramp-file-name-localname tramp-file-name-user tramp-file-name-host] 3]] 3 (#$ . 15365)])
(byte-code ";\203(\302\303	!!\203(\304\305!\203\305J\204#\304\306!\203(\306J\203(\307\310\311\217\210\312\313\314\"\210\315\316!\207" [tramp-persistency-file-name tramp-cache-data zerop hash-table-count boundp init-file-user site-run-file err (byte-code "\306\307!rq\210\310\216\311	!\210\312p!\313\314\211\211\211A\242\211\203M\f\211A\242\f\211A\242\211\203\315\n@\"\204-\316\n\211A\242\n@#\210\202--\314+\314\207" [#1=#:temp-buffer tramp-persistency-file-name item key element tramp-verbose generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents read 0 nil tramp-connection-property-p tramp-set-connection-property list tramp-cache-data-changed] 5) ((file-error (clrhash tramp-cache-data)) (error (byte-code "\303\304\305	!#\210\306\n!\207" [tramp-persistency-file-name err tramp-cache-data message "Tramp persistency file '%s' is corrupted: %s" error-message-string clrhash] 5))) add-hook tramp-unload-hook #[nil "\300\301\302\"\207" [unload-feature tramp-cache force] 3] provide tramp-cache] 3)