HOME


sh-3ll 1.0
DIR:/usr/share/emacs/26.1/lisp/net/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/net/tramp-cache.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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) (#$ . 512))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\307&\210\300\315\302\303\316DD\317\306\307\312\320\314\307&	\207" [custom-declare-variable tramp-connection-properties funcall function #[0 "\300\207" [nil] 1] "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'.  For more\ndetails see the info pages." :group tramp :version "24.4" :type (repeat (list (choice :tag "File Name regexp" regexp (const nil)) (choice :tag "        Property" string) (choice :tag "           Value" sexp))) :require tramp-persistency-file-name #[0 "\300\301\302!!\207" [expand-file-name locate-user-emacs-file "tramp"] 3] "File which keeps connection history for Tramp connections." file] 12)
#@50 Whether persistent cache data have been changed.
(defvar tramp-cache-data-changed nil (#$ . 1549))
#@154 Returns the hash table for KEY.
If it doesn't exist yet, it is created and initialized with
matching entries of `tramp-connection-properties'.

(fn KEY)
(defalias 'tramp-get-hash-table #[257 "\303\"\206\245\304\305\306\307\"#\242	>\203\242\n\211\203\241\211@\310@\206$\311\312\242	>\2045\313\314\315	D\"\210A@\242	>\204I\313\314\315\nD\"\210\3168\242	>\204]\313\314\315D\"\210\317	8	\242	>\204q\313\314\315\fD\"\210\320\n8\n\242	>\204\205\313\314\315
D\"\210\3218\322&\"\203\232\323A@\3168#\210A\266\202\202\210\211\262\207" [tramp-cache-data cl-struct-tramp-file-name-tags tramp-connection-properties gethash puthash make-hash-table :test equal string-match "" tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 nil tramp-set-connection-property] 15 (#$ . 1655)])
#@117 Get the PROPERTY of FILE from the cache context of KEY.
Returns DEFAULT if not set.

(fn KEY FILE PROPERTY DEFAULT)
(defalias 'tramp-get-file-property #[1028 "\304!\211\305\306\304!\"\262\203!\211G\307U\203\310\202\211\307\311O\262\312!P\266\202\262\313!\262\242>\204>\314\315\316D\"\210\317\233\211\320\321C\"\240\266\242>\204Z\314\315\316D\"\210\322\233\211\311\240\266\323!\324!\205o\325\"\211:\203\234	\203\225	\250\203\210\326\327 @\"	X\204\225	:\203\234\330	@\"\203\234\211A\262\202\237\262\331\332E\3331>\nX\205:\334 \335\336\337\340\341!\342\"\343$\216\203\360\343X\203\360\344\345\336U\203\326\346\202\353\347U\203\340\346\202\353\307U\203\352\350\202\353\351P#\210\n\352Y\2057\353!\203\336\354\355\311#\262)\347U\203\"\336r\356!q\210\357P\262\360\361 C\"\262*\242>\2057\344\362\363\364\"P$)\2620\202B\210\202C\210\266\n\365Y\203q\366\367P!\370\371!\203Z\211\206k\372\373\335\336\374\340\341!\375\"\307$\"\210\336TL\266\207" [cl-struct-tramp-file-name-tags remote-file-name-inhibit-cache tramp-verbose tramp-message-show-message file-local-name string-prefix-p "/:" 2 "/" nil file-remote-p copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 tramp-run-real-handler directory-file-name 7 tramp-get-hash-table hash-table-p gethash tramp-time-diff current-time time-less-p 8 "%s %s %s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " 10 intern "tramp-cache-get-count-" boundp var add-hook tramp-cache-unload-hook "\301\300!\207" [makunbound]] 17 (#$ . 2500)])
#@110 Set the PROPERTY of FILE to VALUE, in the cache context of KEY.
Returns VALUE.

(fn KEY FILE PROPERTY VALUE)
(defalias 'tramp-set-file-property #[1028 "\303!\211\304\305\303!\"\262\203!\211G\306U\203\307\202\211\306\310O\262\311!P\266\202\262\312!\262\242>\204>\313\314\315D\"\210\316\233\211\317\320C\"\240\266\242>\204Z\313\314\315D\"\210\321\233\211\310\240\266\322!\323\324 B#\210\325\326E\3271	X\205\n\330 \331\332\333\334\335!\336\"\337$\216\n\203\300\337X\203\300\340\341\332U\203\246\342\202\273\343U\203\260\342\202\273\306U\203\272\344\202\273\345P#\210	\346Y\205\347!\203\326\332\350\351\310#\262)\343U\203\362\332r\352!q\210\353P\262\354\355 C\"\262*\242>\205\340\356\357\360\"P$)\2620\202\210\202\210\266	\361Y\203A\362\363P!\364\365!\203*\211\206;\366\367\331\332\370\334\335!\371\"\306$\"\210\332TL\266\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message file-local-name string-prefix-p "/:" 2 "/" nil file-remote-p copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 tramp-run-real-handler directory-file-name 7 tramp-get-hash-table puthash current-time 8 "%s %s %s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " 10 intern "tramp-cache-set-count-" boundp var add-hook tramp-cache-unload-hook "\301\300!\207" [makunbound]] 16 (#$ . 4335)])
#@75 Remove all properties of FILE in the cache context of KEY.

(fn KEY FILE)
(defalias 'tramp-flush-file-property #[514 "\304\305C\"\306\307\310$\311!\211\312\313\311!\"\262\203,\211G\314U\203&\315\202*\211\314\310O\262\316!P\266\202\262\317!\262\242>\204I\320\321\322D\"\210\323\233\211\240\266\242>\204`\320\321\322D\"\210\324\233\211\310\240\266\325\326C\3271	X\205\377\330 \331\332\333\334\335!\336\"\337$\216\n\203\265\337X\203\265\340\341\332U\203\233\342\202\260\343U\203\245\342\202\260\314U\203\257\344\202\260\345P#\210	\346Y\205\374\347!\203\313\332\350\351\310#\262)\343U\203\347\332r\352!q\210\353P\262\354\355 C\"\262*\242>\205\374\340\356\357\360\"P$)\2620\202\210\202\210\266\361\"\210\211;\205!\305!\230?\205!\362\"\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message tramp-cache-data tramp-run-real-handler directory-file-name tramp-get-file-property "file-truename" nil file-local-name string-prefix-p "/:" 2 "/" file-remote-p copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 7 8 "%s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " remhash tramp-flush-file-property] 15 (#$ . 5978)])
#@140 Remove all properties of DIRECTORY in the cache context of KEY.
Remove also properties of all files in subdirectories.

(fn KEY DIRECTORY)
(defalias 'tramp-flush-directory-property #[514 "\211\304!\211\305\306\304!\"\262\203!\211G\307U\203\310\202\211\307\311O\262\312!P\266\202\262\313\314C\"\315\316\311$\317\320C\3211\320X\205\314\322 \323\324\325\326\327!\330\"\331$\216	\203\202\331X\203\202\332\333\324U\203h\334\202}\335U\203r\334\202}\307U\203|\336\202}\337P#\210\340Y\205\311\341!\203\230\324\342\343\311#\262)\335U\203\264\324r\344!q\210\345P\262\346\347 C\"\262*\242\n>\205\311\332\350\351\352\"P$)\2620\202\324\210\202\325\210\266\353\323\354\355\326\327!\356\"\317\357%\"\210\211;\205\372\314!\230?\205\372\360\"\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-cache-data file-local-name string-prefix-p "/:" 2 "/" nil file-remote-p tramp-run-real-handler directory-file-name tramp-get-file-property "file-truename" 8 "%s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " maphash 514 "\242	>\205:\242	>\204\303\304\305D\"\210\3068;\205:\307\310\300!\242	>\204/\303\304\305D\"\210\3068\"\205:\311\n\"\207" [cl-struct-tramp-file-name-tags tramp-cache-data signal wrong-type-argument tramp-file-name 6 string-match regexp-quote remhash] "\n\n(fn KEY VALUE)" tramp-flush-directory-property] 15 (#$ . 7456)])
#@101 Flush all Tramp cache properties from `buffer-file-name'.
This is suppressed for temporary buffers.
(defalias 'tramp-flush-file-function #[0 "\303 \304\305\306\307\310!\311\"\312$\216\313 ?\206\314\315\313 \"?\205\274\316 ;\203(\316 \202)\305\317!\205\271\320!\211\242\n>\204B\321\322\323D\"\210\211A@\242\n>\204S\321\322\323D\"\210\3248\242\n>\204d\321\322\323D\"\210\3128\242\n>\204v\321\322\323D\"\210\3258\242\n>\204\210\321\322\323D\"\210\3268\242\n>\204\232\321\322\323D\"\210\3278\242\n>\204\256\321\322\323	D\"\210\3308\331\"\266\210)\262)\207" [default-directory tramp-verbose cl-struct-tramp-file-name-tags match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 buffer-name string-match "^\\( \\|\\*\\)" buffer-file-name tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 tramp-flush-file-property] 13 (#$ . 9140)])
(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 #[0 "\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)
#@312 Get the named PROPERTY for the connection.
KEY identifies the connection, it is either a process or a
`tramp-file-name' structure.  A special case is nil, which is
used to cache connection properties of the local machine.  If the
value is not set for the connection, returns DEFAULT.

(fn KEY PROPERTY DEFAULT)
(defalias 'tramp-get-connection-property #[771 "\242>\2038\303!\262\242>\204\304\305\306D\"\210\307\233\211\310\240\266\242>\2040\304\305\306D\"\210\311\233\211\310\240\266\312!\313!\203K\314!\204K\202Z\315!\203Y\316#\202Z\311\317D\3201\367	X\205\363\321 \322\323\324\325\326!\327\"\330$\216\n\203\251\330X\203\251\331\332\323U\203\217\333\202\244\334U\203\231\333\202\244\335U\203\243\336\202\244\337P#\210	\340Y\205\360\313!\203\277\323\341\342\310#\262)\334U\203\333\323r\343!q\210\344P\262\345\346 C\"\262*\242>\205\360\331\347\350\351\"P$)\2620\202\373\210\202\374\210\266\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 nil 7 tramp-get-hash-table processp process-live-p hash-table-p gethash "%s %s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # "] 16 (#$ . 10477)])
#@324 Set the named PROPERTY of a connection to VALUE.
KEY identifies the connection, it is either a process or a
`tramp-file-name' structure.  A special case is nil, which is
used to cache connection properties of the local machine.
PROPERTY is set persistent when KEY is a `tramp-file-name' structure.

(fn KEY PROPERTY VALUE)
(defalias 'tramp-set-connection-property #[771 "\242>\2038\304!\262\242>\204\305\306\307D\"\210\310\233\211\311\240\266\242>\2040\305\306\307D\"\210\312\233\211\311\240\266\313!\314#\210\315\312\316D\3171\337\nX\205\333\320 \321\322\323\324\325!\326\"\327$\216\203\221\327X\203\221\330\331\322U\203w\332\202\214\333U\203\201\332\202\214\334U\203\213\335\202\214\336P#\210\n\337Y\205\330\340!\203\247\322\341\342\311#\262)\333U\203\303\322r\343!q\210\344P\262\345\346 C\"\262*\242>\205\330\330\347\350\351\"P$)\2620\202\343\210\202\344\210\266\207" [cl-struct-tramp-file-name-tags tramp-cache-data-changed tramp-verbose tramp-message-show-message copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 nil 7 tramp-get-hash-table puthash t "%s %s" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # "] 15 (#$ . 11976)])
#@256 Check whether named PROPERTY of a connection is defined.
KEY identifies the connection, it is either a process or a
`tramp-file-name' structure.  A special case is nil, which is
used to cache connection properties of the local machine.

(fn KEY PROPERTY)
(defalias 'tramp-connection-property-p #[514 "\300\301#\301=?\207" [tramp-get-connection-property undef] 6 (#$ . 13443)])
#@231 Remove all properties identified by KEY.
KEY identifies the connection, it is either a process or a
`tramp-file-name' structure.  A special case is nil, which is
used to cache connection properties of the local machine.

(fn KEY)
(defalias 'tramp-flush-connection-property #[257 "\211\242>\2038\305!\262\211\242>\204\306\307\310D\"\210\311\233\211\312\240\266\211\242>\2040\306\307\310D\"\210\313\233\211\312\240\266\211\313\314\315	\"\312C\316!\203Y\317\320\321\322\323\324!\325\"\311\326%\"\210\211\242\266\202D\3271\364\nX\205\360\330 \320\331\332\323\324!\333\"\334$\216\203\246\334X\203\246\335\336\331U\203\214\337\202\241\340U\203\226\337\202\241\341U\203\240\342\202\241\343P#\210\n\344Y\205\355\345!\203\274\331\346\347\312#\262)\340U\203\330\331r\350!q\210\351P\262\352\353 C\"\262*\242>\205\355\335\354\355\356\"P$)\2620\202\370\210\202\371\210\266\357\360	\"\207" [cl-struct-tramp-file-name-tags tramp-cache-data tramp-verbose tramp-message-show-message tramp-cache-data-changed copy-tramp-file-name signal wrong-type-argument tramp-file-name 6 nil 7 "%s %s" gethash hash-table-p maphash make-byte-code 514 "\300\242\235\203\n\300\242\207\300\301\300\242C\"\240\207" vconcat vector [append] "\n\n(fn X Y)" (error) match-data 0 "\301\300\302\"\207" [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " t remhash] 14 (#$ . 13829)])
#@37 Print hash table TABLE.

(fn TABLE)
(defalias 'tramp-cache-print #[257 "\300!\205\301C\302\303\304\305\306\307!\310\"\311\312%\"\210\211\242\262\207" [hash-table-p nil maphash make-byte-code 514 "\242	>\203DG\302\211W\203B\211\234;\203:<\203-\211\233\303\234!\240\210\2028\303	\234!I\210\266\210\211T\262\202\n\266;\203N\303!\262\211;\203X\303!\262\304\305\306!\203h\307\211!!\202k\307!\310!\203w\311!\202\210\312!\203\205\307\211!!\202\210\307!#\300\211\242\203\227\300\242\313Q\202\230\240\207" vconcat vector [cl-struct-tramp-file-name-tags 0 substring-no-properties format "(%s %s)" processp prin1-to-string hash-table-p tramp-cache-print bufferp " "] 12 "\n\n(fn KEY VALUE)"] 9 (#$ . 15413)])
#@72 Return all known `tramp-file-name' structs according to `tramp-cache'.
(defalias 'tramp-list-connections #[0 "\302C\302\303\304\305\306\307\310!\311\"\312\313%	\"\210\211\242)\207" [tramp-verbose tramp-cache-data nil maphash make-byte-code 514 "\242	>\2053\242	>\204\302\303\304D\"\210\3058?\2053\306\307\"\2053\300\242\235\203-\300\242\207\300\300\242B\240\207" vconcat vector [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6 tramp-connection-property-p "process-buffer"] 6 "\n\n(fn KEY VALUE)"] 8 (#$ . 16175)])
#@81 Write persistent connection properties into file `tramp-persistency-file-name'.
(defalias 'tramp-dump-connection-properties #[0 "\3061\223\307!\205\221\310!\311U?\205\221	\205\221\n;\205\221\312!\313\211\314\315\316\317\320\321!\322\"\323\324%\"\210\n\325\326\327!!\315\311\330\320\321!\331\"\332$\216r\211q\210\333\3341Z\335\336\337\340!\n#0\202\\\210\341\342\343\325\326\344!!\345\216
\346\347\335\350\351!\"!!\210)r
q\210\352 +\261)rq\210\353\313\211\313\311%\210*\266\202*\2620\207\210\313\207" [tramp-cache-data tramp-cache-data-changed tramp-persistency-file-name print-level print-length standard-output (error) hash-table-p hash-table-count 0 copy-hash-table nil maphash make-byte-code 514 "\242	>\203<\211\203<\242	>\204\302\303\304D\"\210\3058\204<\306\307\"\204<\306\310\"\204<\311\312\"\210\311\313\"\210\311\314\"\207\311\300\"\207" vconcat vector [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6 gethash "login-as" "started" remhash "process-name" "process-buffer" "first-password-request"] 6 "\n\n(fn KEY VALUE)" get-buffer-create generate-new-buffer-name " *temp file*" "\301\300!\205	\302\300!\207" [buffer-name kill-buffer] 2 ";; -*- emacs-lisp -*-" (error) format " <%s %s>\n" time-stamp-string "%02y/%02m/%02d %02H:%02M:%02S" "\n" ";; Tramp connection history.  Don't change this file.\n" ";; You can delete it, forcing Tramp to reapply the checks.\n\n" " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] pp read "(%s)" tramp-cache-print buffer-string write-region] 13 (#$ . 16739)])
(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 #[0 "\300\301\302\"\207" [remove-hook kill-emacs-hook tramp-dump-connection-properties] 3]] 3)
#@215 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.

(fn METHOD)
(defalias 'tramp-parse-connection-properties #[257 "\301C\302\303\304\305\306\307\"\310\"\311\312%\"\210\211\242\207" [tramp-cache-data nil maphash make-byte-code 514 "\242\n>\205[\300\242\n>\204\303\304\305D\"\210A@\230\205[\242\n>\204+\303\304\305D\"\210\3068?\205[\301\242\n>\204A\303\304\305D\"\210\3078\242\n>\204S\303\304\305D\"\210\3108D\301\242B\240\207" vconcat vector [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6 2 4] 8 "\n\n(fn KEY VALUE)"] 10 (#$ . 18588)])
#@50 Whether to read persistent data at startup time.
(defvar tramp-cache-read-persistent-data (byte-code "\206	\207" [init-file-user site-run-file] 1) (#$ . 19337))
(byte-code ";\203\234\306	!\307U\203\234\n\203\234\3101\216\3111\205\312\313!r\211q\210\314\307\315\316\317!\320\"\321$\216\322!\210\323p!\307\324\211\211\211A\262\242\211\262\203w\211A\262\242\262\242\f>\2039\211A\262\242\211\262\2039\325@\"\204T\326\211A\262\242@#\210\202T)\266\324\211*\26200\202\2330\327	!\262\202\233\330\331\332!#\210\327	!\262\210\333\334\335\"\210\336\337!\207" [tramp-persistency-file-name tramp-cache-data tramp-cache-read-persistent-data tramp-verbose cl-struct-tramp-file-name-tags tramp-cache-data-changed hash-table-count 0 (error) (file-error) generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents read nil tramp-connection-property-p tramp-set-connection-property clrhash message "Tramp persistency file `%s' is corrupted: %s" error-message-string add-hook tramp-unload-hook #[0 "\300\301\302\"\207" [unload-feature tramp-cache force] 3] provide tramp-cache] 10)