;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require tramp tramp-fuse] 2) #@32 Tramp method for sshfs mounts. (defconst tramp-sshfs-method "sshfs" (#$ . 157)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\314\315\316\"\207" [custom-declare-variable tramp-sshfs-program funcall function #[0 "\300\207" [#1="sshfs"] 1 #1#] "The sshfs mount command." :group tramp :version "28.1" :type string add-hook tramp--startup-hook #[0 "\303\304\305\306\307\310\311 D\312BBBBBB\"\210\303\313\314\315\"\316B\"\210\317\n\"\207" [tramp-sshfs-method tramp-default-remote-shell tramp-completion-function-alist-ssh add-to-list tramp-methods (tramp-mount-args (("-C") ("-p" "%p") ("-o" "idmap=user,reconnect"))) (tramp-login-program "ssh") (tramp-login-args (("-q") ("-l" "%u") ("-p" "%p") ("-e" "none") ("%h") ("%l"))) (tramp-direct-async t) tramp-remote-shell ((tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))) tramp-connection-properties format "/%s:" ("direct-async-process" t) tramp-set-completion-function] 9]] 10) #@131 Alist of handler functions for Tramp SSHFS method. Operations not mentioned here will be handled by the default Emacs primitives. (defconst tramp-sshfs-file-name-handler-alist '((access-file . tramp-handle-access-file) (add-name-to-file . tramp-handle-add-name-to-file) (copy-directory . tramp-handle-copy-directory) (copy-file . tramp-sshfs-handle-copy-file) (delete-directory . tramp-fuse-handle-delete-directory) (delete-file . tramp-fuse-handle-delete-file) (directory-file-name . tramp-handle-directory-file-name) (directory-files . tramp-fuse-handle-directory-files) (directory-files-and-attributes . tramp-handle-directory-files-and-attributes) (dired-compress-file . ignore) (dired-uncache . tramp-handle-dired-uncache) (exec-path . tramp-sshfs-handle-exec-path) (expand-file-name . tramp-handle-expand-file-name) (file-accessible-directory-p . tramp-handle-file-accessible-directory-p) (file-acl . ignore) (file-attributes . tramp-fuse-handle-file-attributes) (file-directory-p . tramp-handle-file-directory-p) (file-equal-p . tramp-handle-file-equal-p) (file-executable-p . tramp-fuse-handle-file-executable-p) (file-exists-p . tramp-handle-file-exists-p) (file-in-directory-p . tramp-handle-file-in-directory-p) (file-local-copy . tramp-handle-file-local-copy) (file-modes . tramp-handle-file-modes) (file-name-all-completions . tramp-fuse-handle-file-name-all-completions) (file-name-as-directory . tramp-handle-file-name-as-directory) (file-name-case-insensitive-p . tramp-handle-file-name-case-insensitive-p) (file-name-completion . tramp-handle-file-name-completion) (file-name-directory . tramp-handle-file-name-directory) (file-name-nondirectory . tramp-handle-file-name-nondirectory) (file-newer-than-file-p . tramp-handle-file-newer-than-file-p) (file-notify-add-watch . ignore) (file-notify-rm-watch . ignore) (file-notify-valid-p . ignore) (file-ownership-preserved-p . ignore) (file-readable-p . tramp-fuse-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-remote-p . tramp-handle-file-remote-p) (file-selinux-context . tramp-handle-file-selinux-context) (file-symlink-p . tramp-handle-file-symlink-p) (file-system-info . tramp-sshfs-handle-file-system-info) (file-truename . tramp-handle-file-truename) (file-writable-p . tramp-handle-file-writable-p) (find-backup-file-name . tramp-handle-find-backup-file-name) (insert-directory . tramp-handle-insert-directory) (insert-file-contents . tramp-sshfs-handle-insert-file-contents) (load . tramp-handle-load) (make-auto-save-file-name . tramp-handle-make-auto-save-file-name) (make-directory . tramp-fuse-handle-make-directory) (make-directory-internal . ignore) (make-nearby-temp-file . tramp-handle-make-nearby-temp-file) (make-process . tramp-handle-make-process) (make-symbolic-link . tramp-handle-make-symbolic-link) (process-file . tramp-sshfs-handle-process-file) (rename-file . tramp-sshfs-handle-rename-file) (set-file-acl . ignore) (set-file-modes . tramp-sshfs-handle-set-file-modes) (set-file-selinux-context . ignore) (set-file-times . ignore) (set-visited-file-modtime . tramp-handle-set-visited-file-modtime) (shell-command . tramp-handle-shell-command) (start-file-process . tramp-handle-start-file-process) (substitute-in-file-name . tramp-handle-substitute-in-file-name) (temporary-file-directory . tramp-handle-temporary-file-directory) (tramp-get-remote-gid . ignore) (tramp-get-remote-uid . ignore) (tramp-set-file-uid-gid . ignore) (unhandled-file-name-directory . ignore) (vc-registered . ignore) (verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime) (write-region . tramp-sshfs-handle-write-region)) (#$ . 1130)) #@52 Check if it's a FILENAME for sshfs. (fn FILENAME) (defalias 'tramp-sshfs-file-name-p #[257 "\302!\205\303!\211\242>\204\304\305\306D\"\210\211A@\262 \230\207" [cl-struct-tramp-file-name-tags tramp-sshfs-method tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name] 6 (#$ . 4789)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-sshfs-file-name-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@172 Invoke the sshfs handler for OPERATION and ARGS. First arg specifies the OPERATION, second arg is a list of arguments to pass to the OPERATION. (fn OPERATION &rest ARGS) (defalias 'tramp-sshfs-file-name-handler #[385 "\301\"\211\203\302 \303\304\"\216\305A\")\207\306\"\207" [tramp-sshfs-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 (#$ . 5268)]) (add-hook 'tramp--startup-hook #[0 "\300\301\302\"\207" [tramp-register-foreign-file-name-handler tramp-sshfs-file-name-p tramp-sshfs-file-name-handler] 3]) #@145 Like `copy-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-sshfs-handle-copy-file #[1538 "\302!\262\302!\262\303!\203\304\305$\207\306\307!\205<\310!\211\242>\2045\311\312\313D\"\210\211A@\262 \230\262\203H\314!\202J\307!\205j\310!\211\242>\204c\311\312\313D\"\210\211A@\262 \230\262\203v\314!\202x&\210\307!\205\242\310!\211\242>\204\233\311\312\313D\"\210\211A@\262 \230\262\205/\310!\211\242>\204\270\311\312\313D\"\210\211A@\242>\204\311\311\312\313D\"\210\3158\242>\204\332\311\312\313D\"\210\3168\242>\204\354\311\312\313D\"\210\3178\242>\204\376\311\312\313D\"\210\3208\242>\204\311\312\313D\"\210\3218\242>\204$\311\312\313 D\"\210\3228\323\"\266\210\207" [cl-struct-tramp-file-name-tags tramp-sshfs-method expand-file-name file-directory-p copy-directory t copy-file tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name tramp-fuse-local-file-name 2 3 4 5 6 7 tramp-flush-file-properties] 17 (#$ . 5888)]) #@35 Like `exec-path' for Tramp files. (defalias 'tramp-sshfs-handle-exec-path #[0 "\303\304!\211\242 >\204\305\306\307D\"\210\211A@\242 >\204#\305\306\307D\"\210\3108\242 >\2044\305\306\307D\"\210\3118\242 >\204F\305\306\307D\"\210\3128\242 >\204X\305\306\307D\"\210\3138\242 >\204j\305\306\307D\"\210\3148\242 >\204~\305\306\307 D\"\210\3158\316\317 !\320\n#\211\n=\203\276\321\322\323\"r\211q\210\324\325\"\216\326\327\330\323\330\331%\210\332eb\210`\333 {\334\335#*\262\262\336\317\n!\320#\210\211\262\266\210\337\340!!C\"\207" [default-directory cl-struct-tramp-file-name-tags tramp-cache-undefined append tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-connection-property tramp-get-process "remote-path" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] process-file "getconf" nil "PATH" split-string point-at-eol ":" omit tramp-set-connection-property tramp-file-local-name expand-file-name] 17 (#$ . 7052)]) #@57 Like `file-system-info' for Tramp files. (fn FILENAME) (defalias 'tramp-sshfs-handle-file-system-info #[257 "\300\301!\205 \301\302!!\207" [functionp file-system-info tramp-fuse-local-file-name] 4 (#$ . 8116)]) #@93 Like `insert-file-contents' for Tramp files. (fn FILENAME &optional VISIT BEG END REPLACE) (defalias 'tramp-sshfs-handle-insert-file-contents #[1281 "\301\302!%\203\303!AB\207" [buffer-file-name insert-file-contents tramp-fuse-local-file-name expand-file-name] 11 (#$ . 8336)]) #@100 Like `process-file' for Tramp files. (fn PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) (defalias 'tramp-sshfs-handle-process-file #[1153 "\247\203\302U\203\303\304!\210\305!\211\242 >\204 \306\307\310D\"\210\211A@\242 >\2041\306\307\310D\"\210\3118\242 >\204B\306\307\310D\"\210\3128\242 >\204T\306\307\310D\"\210\3138\242 >\204f\306\307\310D\"\210\3148\242 >\204x\306\307\310D\"\210\3158\242 >\204\214\306\307\310 D\"\210\3168\317\320\321\322B\323##\324\325\n\"\216\326\327\n\330\f\331\"\332\333\334\242 >\204\307\306\307\310D\"\210\3138\206\317\335\336\242 >\204\340\306\307\310D\"\210\3118\206\350\335\337\242 >\204\371\306\307\310D\"\210\3148\206\335\340&\n&)\207" [default-directory cl-struct-tramp-file-name-tags 0 error "Implementation does not handle immediate return" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 format "cd %s && exec %s" mapconcat tramp-shell-quote-argument " " make-closure #[0 " ?\205 \302\300\303\"\207" [V0 process-file-side-effects tramp-flush-directory-properties #1=""] 3] apply tramp-call-process tramp-get-method-parameter tramp-login-program tramp-expand-args tramp-login-args 104 #1# 117 112 108] 33 (#$ . 8636)]) #@91 Like `rename-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sshfs-handle-rename-file #[770 "\302!\262\302!\262\303\304!\205*\305!\211\242>\204#\306\307\310D\"\210\211A@\262 \230\262\2035\311!\2026\304!\205U\305!\211\242>\204N\306\307\310D\"\210\211A@\262 \230\262\203`\311!\202a#\210\304!\205\203\305!\211\242>\204|\306\307\310D\"\210\211A@\262 \230\262\203\305!\211\242>\204\231\306\307\310D\"\210\211A@\242>\204\252\306\307\310D\"\210\3128\242>\204\273\306\307\310D\"\210\3138\242>\204\315\306\307\310D\"\210\3148\242>\204\337\306\307\310D\"\210\3158\242>\204\361\306\307\310D\"\210\3168\242>\204\306\307\310 D\"\210\3178\320\"\266 \304!\205/\305!\211\242>\204(\306\307\310D\"\210\211A@\262 \230\262\205\274\305!\211\242>\204E\306\307\310D\"\210\211A@\242>\204V\306\307\310D\"\210\3128\242>\204g\306\307\310D\"\210\3138\242>\204y\306\307\310D\"\210\3148\242>\204\213\306\307\310D\"\210\3158\242>\204\235\306\307\310D\"\210\3168\242>\204\261\306\307\310 D\"\210\3178\320\"\266\210\207" [cl-struct-tramp-file-name-tags tramp-sshfs-method expand-file-name rename-file tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name tramp-fuse-local-file-name 2 3 4 5 6 7 tramp-flush-file-properties] 14 (#$ . 9924)]) #@75 Like `set-file-modes' for Tramp files. (fn FILENAME MODE &optional FLAG) (defalias 'tramp-sshfs-handle-set-file-modes #[770 "\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=\205\214\314 !?\205\240\315\"\210\316\317\f!  #\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 nofollow file-symlink-p tramp-flush-file-properties tramp-compat-set-file-modes tramp-fuse-local-file-name] 15 (#$ . 11354)]) #@105 Like `write-region' for Tramp files. (fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW) (defalias 'tramp-sshfs-handle-write-region #[1795 "\304!\262\305!\211\242>\204\306\307\310D\"\210\211A@\242>\204'\306\307\310D\"\210\3118\242>\2048\306\307\310D\"\210\3128\242>\204J\306\307\310D\"\210\3138\242>\204\\\306\307\310D\"\210\3148\242>\204n\306\307\310D\"\210\3158\242>\204\202\306\307\310 D\"\210\3168\203\253\317 !\203\253\320=\204\243\321\322\323\"!\204\253\324\325#\210\326\327!\330&\210\331\"\210 \204{\n\332=\204\330\n\203\330\n;\203{\333\334C\3351y\nX\205s\312X\203 \204\336\337\333U\203\377\340\202\341U\203 \340\202\311U\203\342\202\343P#\210\n\313Y\205s\333\341U\203S\3441Rr\345!\2038\346!\202<\347\350\"q\210\351P\262\352\353 C\"\211\262)0\210\202S\210\345!\203_\354\355\"\262)\242>\205s\336\356\322\357\"P$0\266\202{\266\360\361!\207" [cl-struct-tramp-file-name-tags 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 write-region tramp-fuse-local-file-name nomessage tramp-flush-file-properties t 0 "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] 25 (#$ . 12083)]) #@173 Maybe open a connection VEC. Does not do anything if a connection is already open, but re-opens the connection if a previous connection has died for some reason. (fn VEC) (defalias 'tramp-sshfs-maybe-open-connection #[257 "\303!\204 \304\305\211\"\210\306\307!!\204\241\310\311\312!\313\307!\314\315\316\317\320\315\321\315&\f\322\323#\210\324\325\"\210\326!\210\327\330!!\204D\331\330!\332\"\210\333!\204\230\334\335\315\"r\211q\210\336\337\"\216\340\341\325\315\325\342\n!\330 !\343\f\344\345\242 >\204{\346\347\350D\"\210\3518\206\203\352$& \353U*\262\204\230\354\355\356\342!$\210\357\360!\361\315#\266\362\363\n#\211\n=\203\267\364\365!\262\357\363#\210\210\362\366\n#\211\n=\203\316\367\365!\262\357\366#\210\210\362\370\n#\211\n=\203\345\364\371!\262\357\370#\210\210\362\372\n#\211\n=\203\374\367\371!\262\357\372#\210\207" [tramp-sshfs-program cl-struct-tramp-file-name-tags tramp-cache-undefined tramp-connectable-p throw non-essential get-buffer-process tramp-get-connection-buffer make-network-process :name tramp-get-connection-name :buffer :server t :host local :service :noquery process-put vector set-process-query-on-exit-flag nil tramp-set-connection-local-variables file-directory-p tramp-fuse-mount-point make-directory parents tramp-fuse-mounted-p generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] apply tramp-call-process tramp-fuse-mount-spec tramp-expand-args tramp-mount-args 112 signal wrong-type-argument tramp-file-name 5 "" 0 tramp-error file-error "Error mounting %s" tramp-set-connection-property tramp-get-connection-process "connected" tramp-get-connection-property "uid-integer" tramp-get-local-uid integer "gid-integer" tramp-get-local-gid "uid-string" string "gid-string"] 20 (#$ . 13731)]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook tramp-unload-hook #[0 "\300\301\302\"\207" [unload-feature tramp-sshfs force] 3] provide tramp-sshfs] 3)