;ELC ;;; Compiled ;;; in Emacs version 27.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'tramp) #@66 When this method name is used, call sudoedit for editing a file. (defconst tramp-sudoedit-method "sudoedit" (#$ . 425)) (add-hook 'tramp--startup-hook #[0 "\302\303\304B\"\210\302\305\306\"\210\307 \"\207" [tramp-sudoedit-method tramp-completion-function-alist-su add-to-list tramp-methods ((tramp-sudo-login (("sudo") ("-u" "%u") ("-S") ("-H") ("-p" "Password:") ("--")))) tramp-default-user-alist ("\\`sudoedit\\'" nil "root") tramp-set-completion-function] 4]) #@114 List of pattern/action pairs. This list is used for sudo calls. See `tramp-actions-before-shell' for more info. (defconst tramp-sudoedit-sudo-actions '((tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) (tramp-process-alive-regexp tramp-sudoedit-action-sudo)) (#$ . 898)) #@55 Alist of handler functions for Tramp SUDOEDIT method. (defconst tramp-sudoedit-file-name-handler-alist '((access-file . tramp-handle-access-file) (add-name-to-file . tramp-sudoedit-handle-add-name-to-file) (byte-compiler-base-file-name . ignore) (copy-directory . tramp-handle-copy-directory) (copy-file . tramp-sudoedit-handle-copy-file) (delete-directory . tramp-sudoedit-handle-delete-directory) (delete-file . tramp-sudoedit-handle-delete-file) (diff-latest-backup-file . ignore) (directory-files . tramp-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 . ignore) (expand-file-name . tramp-sudoedit-handle-expand-file-name) (file-accessible-directory-p . tramp-handle-file-accessible-directory-p) (file-acl . tramp-sudoedit-handle-file-acl) (file-attributes . tramp-sudoedit-handle-file-attributes) (file-directory-p . tramp-handle-file-directory-p) (file-equal-p . tramp-handle-file-equal-p) (file-executable-p . tramp-sudoedit-handle-file-executable-p) (file-exists-p . tramp-sudoedit-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-sudoedit-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-sudoedit-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-remote-p . tramp-handle-file-remote-p) (file-selinux-context . tramp-sudoedit-handle-file-selinux-context) (file-symlink-p . tramp-handle-file-symlink-p) (file-system-info . tramp-sudoedit-handle-file-system-info) (file-truename . tramp-sudoedit-handle-file-truename) (file-writable-p . tramp-sudoedit-handle-file-writable-p) (find-backup-file-name . tramp-handle-find-backup-file-name) (insert-directory . tramp-handle-insert-directory) (insert-file-contents . tramp-handle-insert-file-contents) (load . tramp-handle-load) (make-auto-save-file-name . tramp-handle-make-auto-save-file-name) (make-directory . tramp-sudoedit-handle-make-directory) (make-directory-internal . ignore) (make-nearby-temp-file . tramp-handle-make-nearby-temp-file) (make-process . ignore) (make-symbolic-link . tramp-sudoedit-handle-make-symbolic-link) (process-file . ignore) (rename-file . tramp-sudoedit-handle-rename-file) (set-file-acl . tramp-sudoedit-handle-set-file-acl) (set-file-modes . tramp-sudoedit-handle-set-file-modes) (set-file-selinux-context . tramp-sudoedit-handle-set-file-selinux-context) (set-file-times . tramp-sudoedit-handle-set-file-times) (set-visited-file-modtime . tramp-handle-set-visited-file-modtime) (shell-command . ignore) (start-file-process . ignore) (substitute-in-file-name . tramp-handle-substitute-in-file-name) (temporary-file-directory . tramp-handle-temporary-file-directory) (tramp-set-file-uid-gid . tramp-sudoedit-handle-set-file-uid-gid) (unhandled-file-name-directory . ignore) (vc-registered . ignore) (verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime) (write-region . tramp-sudoedit-handle-write-region)) (#$ . 1238)) #@55 Check if it's a FILENAME for SUDOEDIT. (fn FILENAME) (defalias 'tramp-sudoedit-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-sudoedit-method tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name] 6 (#$ . 4916)]) (put 'tramp-sudoedit-file-name-p 'byte-optimizer 'byte-compile-inline-expand) #@175 Invoke the SUDOEDIT 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-sudoedit-file-name-handler #[385 "\301\"\211\203!\302 \303\304\305\306\307!\310\"\311$\216\312A\")\262\202%\313\"\207" [tramp-sudoedit-file-name-handler-alist assoc match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply tramp-run-real-handler] 10 (#$ . 5333)]) (add-hook 'tramp--startup-hook #[0 "\300\301\302\"\207" [tramp-register-foreign-file-name-handler tramp-sudoedit-file-name-p tramp-sudoedit-file-name-handler] 3]) #@96 Like `add-name-to-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sudoedit-handle-add-name-to-file #[770 "\306\"\204i\307\310!\203\202!\211\242>\204\"\311\312\313D\"\210\211A@\242>\2043\311\312\313D\"\210\3148\242>\204D\311\312\313D\"\210\3158\242>\204V\311\312\313D\"\210\3168\242>\204h\311\312\313D\"\210\3178\242>\204z\311\312\313D\"\210\3208\242>\204\216\311\312\313 D\"\210\3218\322\323\324C\325\211 \326Y\203\223\211\203c\211\326\327\330\331!\332\216\f\333 \210)r\fq\210\334 +C\3351Y X\205U\n\203\370\315X\203\370\336\337\340U\203\336\341\202\363\342U\203\350\341\202\363\314U\203\362\343\202\363\344P#\210 \316Y\205U\340\342U\2035\34510r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\2024\210\2025\210\346!\203A\353\354\"\262)\242>\205U\336\355\356\357\"P$0\202]\210\202^\210\266\202\223 r\360\361!q\210p\362 \210\325\211@A\363\211B\363CD\364 \210\365\366!\210+\211\333 \210\367!\210)\266\210\211\204\237C\262\370\262\203X\342\370\371\211\372N\336\373  #E!C\3741Q X\205M\n\203\360\315X\203\360\336\337\340U\203\326\341\202\353\342U\203\340\341\202\353\314U\203\352\343\202\353\344P#\210 \316Y\205M\340\342U\203-\3751(r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202,\210\202-\210\346!\2039\353\354\"\262)\242>\205M\336\355\356\357\"P$0\202U\210\202V\210\266\311\376\336\373#!C\"\210*\266\f\307!\211\242>\204z\311\312\313D\"\210\211A@\242>\204\213\311\312\313D\"\210\3148\242>\204\234\311\312\313D\"\210\3158\242>\204\256\311\312\313D\"\210\3168\242>\204\300\311\312\313D\"\210\3178\242>\204\322\311\312\313D\"\210\3208\242>\204\346\311\312\313 D\"\210\3218\307\n!\211\242>\204\374\311\312\313D\"\210\211A@\242>\204 \311\312\313D\"\210\3148\242>\204\311\312\313D\"\210\3158\242>\2040\311\312\313D\"\210\3168\242>\204B\311\312\313D\"\210\3178\242>\204T\311\312\313D\"\210\3208\242>\204h\311\312\313 D\"\210\3218\377!\203x\203\213\247\203q\201F\356\201G\"!\204q\201H\325\211\211 \326Y\203\224\211\203d\211\326\327\330\331!\201I\216\f\333 \210)r\fq\210\334 +C\201J1Z X\205V\n\203\367\315X\203\367\336\337\340U\203\335\341\202\362\342U\203\347\341\202\362\314U\203\361\343\202\362\344P#\210 \316Y\205V\340\342U\2036\201K11r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\2025\210\2026\210\346!\203B\353\354\"\262)\242>\205V\336\355\356\357\"P$0\202^\210\202_\210\266\202\224 r\360\361!q\210p\362 \210\325\211@A\363\211B\363CD\364 \210\365\366!\210+\211\333 \210\367!\210)\266\210\211\204\240C\262\370\262\203]\342\370\371\211\372N\336\373  #E!C\201L1V X\205R\n\203\363\315X\203\363\336\337\340U\203\331\341\202\356\342U\203\343\341\202\356\314U\203\355\343\202\356\344P#\210 \316Y\205R\340\342U\2032\201M1-r\346!\203\347!\202\350\351\"q\210\327P\262\352\334 C\"\211\262)0\2021\210\2022\210\346!\203>\353\354\"\262)\242>\205R\336\355\356\357\"P$0\202Z\210\202[\210\266\311\376\336\373#!C\"\210*\266\202x\201N!\210\201O\"\210\201P\201Q\f\325\211?\205\222EE\201R!\211\211?\205\242EE\201S\201T\201R!\")\266\202\203\313\211G\314U\203\303\201U\202\311\201V\314\"\262\201W!P)\266\203\325\211?\205\336EE\201R!\211\211?\205\356EE\201S\201T\201R!\")\266\202\203\211G\314U\203\201U\202\201V\314\"\262\201W!P)\266\203$?\205 \322\201X\201Y C\325\211 \326Y\2032\211\203\211\326\327\330\331!\201Z\216\f\333 \210)r\fq\210\334 +C\201[1\370 X\205\364\n\203\225\315X\203\225\336\337\340U\203{\341\202\220\342U\203\205\341\202\220\314U\203\217\343\202\220\344P#\210 \316Y\205\364\340\342U\203\324\201\\1\317r\346!\203\266\347!\202\272\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202\323\210\202\324\210\346!\203\340\353\354\"\262)\242>\205\364\336\355\356\357\"P$0\202\374\210\202\375\210\266\2022 r\360\361!q\210p\362 \210\325\211@A\363\211B\363CD\364 \210\365\366!\210+\211\333 \210\367!\210)\266\210\211\204>C\262\370\262\203\373\342\370\371\211\372N\336\373  #E!C\201]1\364 X\205\360\n\203\221\315X\203\221\336\337\340U\203w\341\202\214\342U\203\201\341\202\214\314U\203\213\343\202\214\344P#\210 \316Y\205\360\340\342U\203\320\201^1\313r\346!\203\262\347!\202\266\350\351\"q\210\327P\262\352\334 C\"\211\262)0\202\317\210\202\320\210\346!\203\334\353\354\"\262)\242>\205\360\336\355\356\357\"P$0\202\370\210\202\371\210\266\311\376\336\373#!C\"*\266\204\266\210\207" [cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output default-directory tramp-equal-remote tramp-dissect-file-name tramp-tramp-file-p signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-error "add-name-to-file: %s" "only implemented for same method, same user, same host" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (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 t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message (error) (error) substring-no-properties file-exists-p buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist yes-or-no-p "File %s already exists; make it a link anyway? " file-already-exists #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error) delete-file tramp-flush-file-properties tramp-sudoedit-send-command "ln" file-local-name string-prefix-p "/:" "/" substring file-remote-p "error with add-name-to-file, see buffer `%s' for details" buffer-name #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error)] 35 (#$ . 6008)]) #@873 Copy or rename a remote file. OP must be `copy' or `rename' and indicates the operation to perform. FILENAME specifies the file to copy or rename, NEWNAME is the name of the new file (for copy) or the new name of the file (for rename). OK-IF-ALREADY-EXISTS means don't barf if NEWNAME exists already. KEEP-DATE means to make sure that NEWNAME has the same timestamp as FILENAME. PRESERVE-UID-GID, when non-nil, instructs to keep the uid and gid if both files are on the same host. PRESERVE-EXTENDED-ATTRIBUTES activates selinux and acl commands. This function is invoked by `tramp-sudoedit-handle-copy-file' and `tramp-sudoedit-handle-rename-file'. It is an error if OP is neither of `copy' and `rename'. FILENAME and NEWNAME must be absolute file names. (fn OP FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-sudoedit-do-copy-or-rename-file #[1795 "C\306>\204\307\310 \"\210\211\311\242!\240\210\312\242!\2036\313\242\314$\210\315=\205\242 \316\242\317\"\202\242 \211\242\320!\205V\321!\211\242>\204O\322\323\324D\"\210\211A@\262 \230\262\320!\205x\321!\211\242>\204q\322\323\324D\"\210\211A@\262 \230\262\325\242!\3268\262\327\242!\205\222\330\331\242C\"\f\332=\203\242\203\242\333\202\276\f\334\267\202\261\335\202\276\336\202\276\f\332=\205\276\205\276\333 \332=\203\311\337\202\312\340\321\203\326\242\202\330 !\211\242>\204\347\322\323\324D\"\210\211A@\242>\204\370\322\323\324D\"\210\3418\242>\204 \322\323\324D\"\210\3428\242>\204\322\323\324D\"\210\3438\242>\204-\322\323\324D\"\210\3268\242>\204?\322\323\324D\"\210\3448\242>\204S\322\323\324 D\"\210\3458\346\242!\204n\n\347 \350\242E\351\211 \352Y\203\200\211\203?\211\352\353\354\355!@\356\216@@\357 \210)r@q\210\360 +C\36115 X\2051\f\203\316\342X\203\316\330\362\363U\203\264\364\202\311\365U\203\276\364\202\311\341U\203\310\366\202\311\367P#\210 \343Y\2051\363\365U\203 \3701r\371!\203\355\372!\202\361\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202\n\210\202 \210\371!\203\376\377\"\262)\242>\2051\330\201H\201I\201J\"P$0\2029\210\202:\210\266\202\200Ar\201K\201L!q\210p\201M \210A\351\211BC\314\211D\314EF\201N \210\201O\201P!\210+\211@\357 \210\201Q!\210)\266\210\211\204\216C\262\201R\262\203Y\365\201R\201S\211\201TN\330\201U  #E!C\201V1R X\205N\f\203\351\342X\203\351\330\362\363U\203\317\364\202\344\365U\203\331\364\202\344\341U\203\343\366\202\344\367P#\210 \343Y\205N\363\365U\203(\201W1#r\371!\203\n\372!\202\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202'\210\202(\210\371!\2034\376\377\"\262)\242>\205N\330\201H\201I\201J\"P$0\202V\210\202W\210\266\322\201X\330\201U#!C\"\210*\266\204\214\346!\203\214\201Y\351\211\211 \352Y\203\236\211\203]\211\352\353\354\355!@\201Z\216@@\357 \210)r@q\210\360 +C\201[1S X\205O\f\203\352\342X\203\352\330\362\363U\203\320\364\202\345\365U\203\332\364\202\345\341U\203\344\366\202\345\367P#\210 \343Y\205O\363\365U\203)\201\\1$r\371!\203 \372!\202\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202(\210\202)\210\371!\2035\376\377\"\262)\242>\205O\330\201H\201I\201J\"P$0\202W\210\202X\210\266\202\236Ar\201K\201L!q\210p\201M \210A\351\211BC\314\211D\314EF\201N \210\201O\201P!\210+\211@\357 \210\201Q!\210)\266\210\211\204\254C\262\201R\262\203w\365\201R\201S\211\201TN\330\201U  #E!C\201]1p X\205l\f\203\342X\203\330\362\363U\203\355\364\202\365U\203\367\364\202\341U\203\366\202\367P#\210 \343Y\205l\363\365U\203F\201^1Ar\371!\203(\372!\202,\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202E\210\202F\210\371!\203R\376\377\"\262)\242>\205l\330\201H\201I\201J\"P$0\202t\210\202u\210\266\322\201X\330\201U#!C\"\210*\266\312!\203\261\201_!\204\261\201`\201aC\351\211 \352Y\203\303\211\203\202\211\352\353\354\355!@\201b\216@@\357 \210)r@q\210\360 +C\201c1x X\205t\f\203\342X\203\330\362\363U\203\365\364\202\n\365U\203\377\364\202\n\341U\203 \366\202\n\367P#\210 \343Y\205t\363\365U\203N\201d1Ir\371!\2030\372!\2024\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202M\210\202N\210\371!\203Z\376\377\"\262)\242>\205t\330\201H\201I\201J\"P$0\202|\210\202}\210\266\202\303Ar\201K\201L!q\210p\201M \210A\351\211BC\314\211D\314EF\201N \210\201O\201P!\210+\211@\357 \210\201Q!\210)\266\210\211\204\321C\262\201R\262\203\234\365\201R\201S\211\201TN\330\201U  #E!C\201e1\225 X\205\221\f\203,\342X\203,\330\362\363U\203\364\202'\365U\203\364\202'\341U\203&\366\202'\367P#\210 \343Y\205\221\363\365U\203k\201f1fr\371!\203M\372!\202Q\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202j\210\202k\210\371!\203w\376\377\"\262)\242>\205\221\330\201H\201I\201J\"P$0\202\231\210\202\232\210\266\322\201X\330\201U#!C\"\210*\266\201g\242!\203\300\203\316\201g!\203% \204%\242\351\211G\201h\201iJ\201j\201k\201lN@!\"\201m\314\"\201n#)\266\204\332=\203 \201o\242\314#\210\202\201p\242\314#\210\201p#\266\202 \f\363\201q\201I\201r \242$C\201s1\337 X\205\333\f\203v\342X\203v\330\362\363U\203\\\364\202q\365U\203f\364\202q\341U\203p\366\202q\367P#\210 \343Y\205\333\363\365U\203\265\201t1\260r\371!\203\227\372!\202\233\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202\264\210\202\265\210\371!\203\301\376\377\"\262)\242>\205\333\330\201H\201I\201J\"P$0\202\343\210\202\344\210\266\201uC\f\205 \363 \342^X\205 \201v\201I\201r\f\242$\351\211#\211\205 \201w\342\201x\201y$\262\201z\363\201{\201|\377\n\n&\201}\"\352$\216\201~\n \201\242!\351\211?\205R GG\201\200!\211\211?\205b GG\201\201\201\202\201\200!\")\266\202\203\213 \211G\341U\203\203 \201\203\202\211 \201\204\341\"\262\201g!P)\266\203\201!\351\211?\205\243 GG\201\200!\211\211?\205\263 GG\201\201\201\202\201\200!\")\266\202\203\334 \211G\341U\203\324 \201\203\202\332 \201\204\341\"\262\201g!P)\266\203$\204\f \201`\201\205 \242E\351\211 \352Y\203 \211\203\325\n\211\352\353\354\355!@\201\206\216@@\357 \210)r@q\210\360 +C\201\2071\313\n X\205\307\n\f\203b\n\342X\203b\n\330\362\363U\203H\n\364\202]\n\365U\203R\n\364\202]\n\341U\203\\\n\366\202]\n\367P#\210 \343Y\205\307\n\363\365U\203\241\n\201\2101\234\nr\371!\203\203\n\372!\202\207\n\373\374\"q\210\353P\262\375\360 C\"\211\262)0\202\240\n\210\202\241\n\210\371!\203\255\n\376\377\"\262)\242>\205\307\n\330\201H\201I\201J\"P$0\202\317\n\210\202\320\n\210\266\202 Ar\201K\201L!q\210p\201M \210A\351\211BC\314\211D\314EF\201N \210\201O\201P!\210+\211@\357 \210\201Q!\210)\266\210\211\204$ C\262\201R\262\203\357 \365\201R\201S\211\201TN\330\201U  #E!C\201\2111\350  X\205\344 \f\203 \342X\203 \330\362\363U\203e \364\202z \365U\203o \364\202z \341U\203y \366\202z \367P#\210 \343Y\205\344 \363\365U\203\276 \201\2121\271 r\371!\203\240 \372!\202\244 \373\374\"q\210\353P\262\375\360 C\"\211\262)0\202\275 \210\202\276 \210\371!\203\312 \376\377\"\262)\242>\205\344 \330\201H\201I\201J\"P$0\202\354 \210\202\355 \210\266\322\201X\330\201U#!C\"\210*\266\201\213\240\210)\266\201g!\2043\f\201\214\201g\242!P\201\215\201\216!\201\217\201\216!#\210\203X\f\201\2201S\f\201\221\"\210\201\222 \"0\202W\f\210\202X\f\210\n\203v\f\201\2231q\f\330\201\224 D\"0\202u\f\210\202v\f\210\203 \315=\203 \321\242!\211\242>\204\225\f\322\323\324D\"\210\211A@\242>\204\246\f\322\323\324D\"\210\3418\242>\204\267\f\322\323\324D\"\210\3428\242>\204\311\f\322\323\324D\"\210\3438\242>\204\333\f\322\323\324D\"\210\3268\242>\204\355\f\322\323\324D\"\210\3448\242>\204 \322\323\324 D\"\210\3458\201\225\"\266  \205\236 \321!\211\242>\204% \322\323\324D\"\210\211A@\242>\2046 \322\323\324D\"\210\3418\242>\204G \322\323\324D\"\210\3428\242>\204Y \322\323\324D\"\210\3438\242>\204k \322\323\324D\"\210\3268\242>\204} \322\323\324D\"\210\3448\242>\204\221 \322\323\324 D\"\210\3458\201\225\"\266\210\266\210\266\207\207" [cl-struct-tramp-file-name-tags tramp-sudoedit-method tramp-file-missing signal-hook-function tramp-message-show-message tramp-verbose (copy rename) error "Unknown operation `%s', must be `copy' or `rename'" file-truename file-directory-p copy-directory t rename delete-directory recursive tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name file-attributes 5 tramp-default-file-modes apply file-extended-attributes copy ("cp" "-f" "-p") #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (copy 169 rename 173)) ("cp" "-f") ("mv" "-f") "Copying" "Renaming" 2 3 4 6 7 file-exists-p "%s file" "No such file or directory" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) message 0 #2="" 1 #3="Warning: " #4="Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector standard-output default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist tramp-debug-message format #5="(%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 (error) (error) substring-no-properties file-already-exists #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error) tramp-compat-directory-name-p file-error "File is a directory %s" #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error) file-remote-p expand-file-name tramp-temp-name-prefix eval temporary-file-directory standard-value file-name-extension make-temp-file copy-file rename-file "%s..." #1="%s %s to %s" (error) (error) "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-byte-code "\305\203\306\305!\210\303\307\310\311\312\302\300\242\301$\304\242D\3131\265\"X\205\261#\203Q\314X\203Q\315\316\307U\2037\317\202L\320U\203A\317\202L\321U\203K\322\202L\323P#\210\"\324Y\205\261\307\"\320U\203\220\3251\213r\326!\203r\327!\202v\330\331\"q\210\332P\262\333\334 C\"\211\262)0\202\217\210\202\220\210\326!\203\234\335\336\"\262)\242$>\205\261\315\337\311\340\"P$0\202\267\210\341\207" vconcat [cancel-timer 0 "%s...%s" format #1# (error) 3 apply message #2# 1 2 #3# #4# 4 (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message #5# nil tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags] tramp-sudoedit-send-command tramp-compat-file-local-name file-local-name string-prefix-p "/:" "/" substring "Error %s `%s' `%s'" #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error) "done" tramp-set-file-uid-gid tramp-get-local-uid integer tramp-get-local-gid (error) set-file-times set-file-modes (error) set-file-extended-attributes tramp-flush-file-properties] 41 (#$ . 12392)]) #@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-sudoedit-handle-copy-file #[1538 "\300!\262\300!\262\301!\204\301!\203)\302\303&\207\304\305\257\"\207" [expand-file-name tramp-tramp-file-p tramp-sudoedit-do-copy-or-rename-file copy tramp-run-real-handler copy-file] 14 (#$ . 24140)]) #@84 Like `delete-directory' for Tramp files. (fn DIRECTORY &optional RECURSIVE TRASH) (defalias 'tramp-sudoedit-handle-delete-directory #[769 "\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\"\210\322\n\203\230\323\202\242 \203\241\324\202\242\325\326\211?\205\252 \327!\211\211?\205\266 \330\331\327!\")\266\202\203\324\211G\313U\203\316\332\202\322\333\313\"\262\334!P)\266\203#?\205\316\335\336 C\326\211\f\337Y\203\347\211\203\263\211\337\340\341\342!\343\216 \344 \210)r q\210\345 +C\3461\251\fX\205\245 \203H\314X\203H\347\350\351U\203.\352\202C\353U\2038\352\202C\313U\203B\354\202C\355P#\210\f\315Y\205\245\351\353U\203\205\3561\200r\357!\203g\360!\202k\361\362\"q\210\340P\262\363\345 C\"\211\262)0\202\204\210\202\205\210\357!\203\221\364\365\"\262)\242>\205\245\347\366\367\370\"P$0\202\255\210\202\256\210\266\202\347@r\371\372!q\210p\373 \210@\326\211AB\374\211C\374DE\375 \210\376\377!\210+\211\344 \210\201F!\210)\266\210\211\204\365C\262\201G\262\203\272\353\201G\201H\211\201IN\347\201J  #E!C\201K1\263\fX\205\257 \203P\314X\203P\347\350\351U\2036\352\202K\353U\203@\352\202K\313U\203J\354\202K\355P#\210\f\315Y\205\257\351\353U\203\217\201L1\212r\357!\203q\360!\202u\361\362\"q\210\340P\262\363\345 C\"\211\262)0\202\216\210\202\217\210\357!\203\233\364\365\"\262)\242>\205\257\347\366\367\370\"P$0\202\267\210\202\270\210\266\310\201M\347\201J#!C\"*\266\204\207" [cl-struct-tramp-file-name-tags file-name-handler-alist signal-hook-function tramp-message-show-message tramp-verbose standard-output expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-directory-properties tramp-sudoedit-send-command "trash" ("rm" "-rf") "rmdir" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p file-error "Couldn't delete %s" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (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 t erase-buffer run-hooks temp-buffer-setup-hook default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only internal-temp-output-buffer-show "%s" error-message-string error-message format-message (error) (error) substring-no-properties] 27 (#$ . 24580)]) #@68 Like `delete-file' for Tramp files. (fn FILENAME &optional TRASH) (defalias 'tramp-sudoedit-handle-delete-file #[513 "\304!\211\242>\204\305\306\307D\"\210\211A@\242>\204\"\305\306\307D\"\210\3108\242>\2043\305\306\307D\"\210\3118\242>\204E\305\306\307D\"\210\3128\242>\204W\305\306\307D\"\210\3138\242>\204i\305\306\307D\"\210\3148\242>\204}\305\306\307 D\"\210\3158\316\"\210\317\n\203\227 \203\227\320\202\230\321\322\211?\205\240\n\323!\211\211?\205\254\n\324\325\323!\")\266\202\203\312\211G\310U\203\304\326\202\310\327\310\"\262\330!P)\266\203#?\205Vr\331!q\210eb\210\322\332\333 C\334 \335\336\337\340\341!\342\"\310$\216\343!\203\206\344!\203\345!\206\242>\205\331!\242>\203#\206/\211\205/r\211q\210\304 !)\335\336\346\340\341  $\347\"\312$\216\350\351%)\266\202)\262\266\205)\207" [cl-struct-tramp-file-name-tags delete-by-moving-to-trash file-name-handler-alist default-directory tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties tramp-sudoedit-send-command "trash" "rm" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-get-connection-buffer file-error "Couldn't delete %s" current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] bufferp processp process-buffer "\302\203-\f\203- \306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] apply tramp-error] 27 (#$ . 27495)]) #@186 Like `expand-file-name' for Tramp files. If the localname part of the given file name starts with "/../" then the result will be a local, non-Tramp, file name. (fn NAME &optional DIR) (defalias 'tramp-sudoedit-handle-expand-file-name #[513 "\211\206 \206 \302\262G\303U\203\304\262\305!\204\"\306!P\262\307!\211\242 >\2043\310\311\312D\"\210\211A@\242 >\204D\310\311\312D\"\210\3138\242 >\204U\310\311\312D\"\210\3148\242 >\204g\310\311\312D\"\210\3158\242 >\204y\310\311\312D\"\210\3168\242 >\204\213\310\311\312D\"\210\3178\242 >\204\237\310\311\312 D\"\210\3208G\303U\203\255\321\262\305!\204\273\322\323#\262\324\325\"\203\335\326\327\"\326\313\"\321\230\203\326P\262P\262\266\330\331!\"\207" [default-directory cl-struct-tramp-file-name-tags "/" 0 "." file-name-absolute-p file-name-as-directory tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 "~" format "~%s/%s" string-match "\\`\\(~[^/]*\\)\\(.*\\)\\'" match-string 1 tramp-make-tramp-file-name expand-file-name] 14 (#$ . 29338)]) #@61 Check, whether ACL is enabled on the remote host. (fn VEC) (defalias 'tramp-sudoedit-remote-acl-p #[257 "\300\301!\302\303#\211\303=\203\"\304\305\306\211\211\307&\310U\262\311\301!\302#\210\211\207" [tramp-get-connection-property tramp-get-connection-process "acl-p" undef tramp-call-process "getfacl" nil "/" 0 tramp-set-connection-property] 9 (#$ . 30437)]) #@49 Like `file-acl' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-acl #[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\366\315\316\317$\211\317=\203\360\320 !\205\334\321 \322\323\324\211?\205\251 \325!\211\211?\205\265 \326\327\325!\")\266\202\203\323\211G\306U\203\315\330\202\321\331\306\"\262\332!P)\266\203$\211;\205\344\211\333P\262\262\334 \316$\210\211\262\202G\320!\205=\321\322\323\324\211?\205\n \325!\211\211?\205 \326\327\325!\")\266\202\2034\211G\306U\203.\330\2022\331\306\"\262\332!P)\266\203$\211;\205E\211\333P\262\207" [cl-struct-tramp-file-name-tags file-name-handler-alist 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-acl" undef tramp-sudoedit-remote-acl-p tramp-sudoedit-send-command-string "getfacl" "-acp" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p "\n" tramp-set-file-property] 23 (#$ . 30812)]) #@76 Like `file-attributes' for Tramp files. (fn FILENAME &optional ID-FORMAT) (defalias 'tramp-sudoedit-handle-file-attributes #[513 "\211\204\305\262\306\307!!\211\242>\204\310\311\312D\"\210\211A@\242>\204+\310\311\312D\"\210\3138\242>\204<\310\311\312D\"\210\3148\242>\204N\310\311\312D\"\210\3158\242>\204`\310\311\312D\"\210\3168\242>\204r\310\311\312D\"\210\3178\242>\204\206\310\311\312 D\"\210\3208\321!\203\317\322\323\324 \"\325$\211\325=\203\311\316\326C\3271B X\205>\n\203\341\314X\203\341\330\331\332U\203\307\333\202\334\334U\203\321\333\202\334\313U\203\333\335\202\334\336P#\210 \315Y\205>\332\334U\203\3371r\340!\203\341!\202\342\343\"q\210\344P\262\345\346 C\"\211\262)0\202\210\202\210\340!\203*\347\350\"\262)\242>\205>\330\351\323\352\"P$0\202F\210\202G\210\266\3531\271\354 \355 \356\357\360\361\323\362 \211\305=\203f\363\202g\364\305=\203r\365\202s\366 \211& \367\211?\205\200\f\370!\211\211?\205\214\f\371\372\370!\")\266\202\203\252\211G\313U\203\244\373\202\250\374\313\"\262\375!P)\266\203&\"0\202\273\210\367\262\376 \323\324\"$\210\211\262\202\355\316\326C\3771r X\205n\n\203\314X\203\330\331\332U\203\365\333\202\n\334U\203\377\333\202\n\313U\203 \335\202\n\336P#\210 \315Y\205n\332\334U\203N\201@1Ir\340!\2030\341!\2024\342\343\"q\210\344P\262\345\346 C\"\211\262)0\202M\210\202N\210\340!\203Z\347\350\"\262)\242>\205n\330\351\323\352\"P$0\202v\210\202w\210\266\201A1\353\354\355\n\356\357\360\361\323\362 \211\305=\203\230\363\202\231\364\305=\203\244\365\202\245\366 \211&\n\367\211?\205\262\f\370!\211\211?\205\276\f\371\372\370!\")\266\202\203\334\211G\313U\203\326\373\202\332\374\313\"\262\375!P)\266\203&\"0\202\355\210\367\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message tramp-stat-marker file-name-handler-alist integer tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property format "file-attributes-%s" undef "file attributes: %s" (error) apply message 0 "" 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) # " (error) tramp-convert-file-attributes tramp-sudoedit-send-command-and-read "env" "QUOTING_STYLE=locale" "stat" "-c" "((%s%%N%s) %%h %s %s %%X %%Y %%Z %%s %s%%A%s t %%i -1)" "%u" "/////%U/////" "%g" "/////%G/////" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-set-file-property (error) (error) (error)] 29 (#$ . 32084)]) #@58 Like `file-executable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-executable-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\345\315\316\317$\211\317=\203\337\320 \321\322\323\211?\205\242 \324!\211\211?\205\256 \325\326\324!\")\266\202\203\314\211G\306U\203\306\327\202\312\330\306\"\262\331!P)\266\203$\262\332 \316$\210\211\262\202%\320\321\322\323\211?\205\362 \324!\211\211?\205\376 \325\326\324!\")\266\202\203\211G\306U\203\327\202\330\306\"\262\331!P)\266\203$\207" [cl-struct-tramp-file-name-tags file-name-handler-alist 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-executable-p" undef tramp-sudoedit-send-command "test" "-x" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-set-file-property] 23 (#$ . 34854)]) #@54 Like `file-exists-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-exists-p #[257 "\302!\205-\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204(\304\305\306D\"\210\3078\242>\2049\304\305\306D\"\210\3108\242>\204K\304\305\306D\"\210\3118\242>\204]\304\305\306D\"\210\3128\242>\204o\304\305\306D\"\210\3138\242>\204\203\304\305\306 D\"\210\3148\315!\203\353\316\317\320$\211\320=\203\345\321 \322\323\324\211?\205\250 \325!\211\211?\205\264 \326\327\325!\")\266\202\203\322\211G\307U\203\314\330\202\320\331\307\"\262\332!P)\266\203$\262\333 \317$\210\211\262\202+\321\322\323\324\211?\205\370 \325!\211\211?\205 \326\327\325!\")\266\202\203\"\211G\307U\203\330\202 \331\307\"\262\332!P)\266\203$\266\210\207" [cl-struct-tramp-file-name-tags file-name-handler-alist tramp-connectable-p 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-exists-p" undef tramp-sudoedit-send-command "test" "-e" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-set-file-property] 23 (#$ . 36031)]) #@76 Like `file-name-all-completions' for Tramp files. (fn FILENAME DIRECTORY) (defalias 'tramp-sudoedit-handle-file-name-all-completions #[514 "\302\303\304!!\211\242>\204\305\306\307D\"\210\211A@\242>\204&\305\306\307D\"\210\3108\242>\2047\305\306\307D\"\210\3118\242>\204I\305\306\307D\"\210\3128\242>\204[\305\306\307D\"\210\3138\242>\204m\305\306\307D\"\210\3148\242>\204\201\305\306\307 D\"\210\3158\316!\203\317\320\321$\211\321=\203\322 \323\324\325\326G\327U\203\253\330\202\346\331\211?\205\264 \332!\211\211?\205\300 \333\334\332!\")\266\202\203\336\211G\310U\203\330\335\202\334\336\310\"\262\337!P)\266\203&\210\340\341\342\343\344\345!\346\"\313\347%r\350 !q\210\351\331\340\352\353\354 \355\356#\"\")\"\262\357 \320$\210\211\262\202\220\322\323\324\325\326G\327U\203/\330\202j\331\211?\2058 \332!\211\211?\205D \333\334\332!\")\266\202\203b\211G\310U\203\\\335\202`\336\310\"\262\337!P)\266\203&\210\340\341\342\343\344\345!\360\"\313\347%r\350\n!q\210\351\331\340\361\353\354 \355\356#\"\")\"\266\210\"\207" [cl-struct-tramp-file-name-tags file-name-handler-alist all-completions tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-name-all-completions" undef tramp-sudoedit-send-command "ls" "-a1" "--quoting-style=literal" "--show-control-chars" 0 "" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p mapcar make-byte-code 257 "\301\302\300\"!\203 \303!\207\207" vconcat vector [file-directory-p expand-file-name file-name-as-directory] "\n\n(fn F)" tramp-get-connection-buffer delq #[257 "\301\302\303\304#)\266\203?\205\211\207" [inhibit-changing-match-data #1="^[[:space:]]*$" nil t string-match] 8 "\n\n(fn L)"] split-string buffer-string "\n" omit tramp-set-file-property [file-directory-p expand-file-name file-name-as-directory] #[257 "\301\302\303\304#)\266\203?\205\211\207" [inhibit-changing-match-data #1# nil t string-match] 8 "\n\n(fn L)"]] 28 (#$ . 37236)]) #@56 Like `file-readable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-readable-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\345\315\316\317$\211\317=\203\337\320 \321\322\323\211?\205\242 \324!\211\211?\205\256 \325\326\324!\")\266\202\203\314\211G\306U\203\306\327\202\312\330\306\"\262\331!P)\266\203$\262\332 \316$\210\211\262\202%\320\321\322\323\211?\205\362 \324!\211\211?\205\376 \325\326\324!\")\266\202\203\211G\306U\203\327\202\330\306\"\262\331!P)\266\203$\207" [cl-struct-tramp-file-name-tags file-name-handler-alist 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-readable-p" undef tramp-sudoedit-send-command "test" "-r" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-set-file-property] 23 (#$ . 39366)]) #@60 Like `set-file-modes' for Tramp files. (fn FILENAME MODE) (defalias 'tramp-sudoedit-handle-set-file-modes #[514 "\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\320\"\210\321\322\323\324 \"\325\211?\205\230 \326!\211\211?\205\244 \327\330\326!\")\266\202\203\302\211G\312U\203\274\331\202\300\332\312\"\262\333!P)\266\203$?\205\266\334\335\fC\325\211\f\336Y\203\323\211\203\241\211\336\337\340\341!\342\216 \343 \210)r q\210\344 +C\3451\227\fX\205\223 \2036\313X\2036\346\347\350U\203\351\2021\352U\203&\351\2021\312U\2030\353\2021\354P#\210\f\314Y\205\223\350\352U\203s\3551nr\356!\203U\357!\202Y\360\361\"q\210\337P\262\362\344 C\"\211\262)0\202r\210\202s\210\356!\203\363\364\"\262)\242>\205\223\346\365\323\366\"P$0\202\233\210\202\234\210\266\202\323@r\367\370!q\210p\371 \210@\325\211AB\372\211C\372DE\373 \210\374\375!\210+\211\343 \210\376!\210)\266\210\211\204\337C\262\377\262\203\242\352\377\201F\211\201GN\346\201H  #E!C\201I1\233\fX\205\227 \2038\313X\2038\346\347\350U\203\351\2023\352U\203(\351\2023\312U\2032\353\2023\354P#\210\f\314Y\205\227\350\352U\203w\201J1rr\356!\203Y\357!\202]\360\361\"q\210\337P\262\362\344 C\"\211\262)0\202v\210\202w\210\356!\203\203\363\364\"\262)\242>\205\227\346\365\323\366\"P$0\202\237\210\202\240\210\266\307\201K\346\201H#!C\"*\266\204\207" [cl-struct-tramp-file-name-tags file-name-handler-alist signal-hook-function tramp-message-show-message tramp-verbose standard-output tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties tramp-sudoedit-send-command "chmod" format "%o" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p file-error "Error while changing file's mode %s" 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only error-message-string error-message format-message (error) (error) substring-no-properties] 26 (#$ . 40537)]) #@65 Check, whether SELINUX is enabled on the remote host. (fn VEC) (defalias 'tramp-sudoedit-remote-selinux-p #[257 "\300\301!\302\303#\211\303=\203\304\305\"\306U\262\307\301!\302#\210\211\207" [tramp-get-connection-property tramp-get-connection-process "selinux-p" undef tramp-call-process "selinuxenabled" 0 tramp-set-connection-property] 6 (#$ . 43322)]) #@61 Like `file-selinux-context' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-selinux-context #[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\315\316\317$\211\317=\203\320\321\322 !\203\323 \324\325\326 \327\211?\205\254 \330!\211\211?\205\270 \331\332\330!\")\266\202\203\326\211G\306U\203\320\333\202\324\334\306\"\262\335!P)\266\203%\203r\336 !q\210eb\210\337\340 \341#\203\342\343!\342\306!\342\307!\342\310!F\262)\266\202\262\344 \316$\210\211\262\202\214\320\321\322\n!\203\211\323\n\324\325\326\327\211?\2050 \330!\211\211?\205< \331\332\330!\")\266\202\203Z\211G\306U\203T\333\202X\334\306\"\262\335!P)\266\203%\203\211r\336\n!q\210eb\210\337\340 \341#\203\210\342\343!\342\306!\342\307!\342\310!F\262)\266\202\207" [cl-struct-tramp-file-name-tags file-name-handler-alist 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-selinux-context" undef (nil nil nil nil) "\\([a-z0-9_]+\\):\\([a-z0-9_]+\\):\\([a-z0-9_]+\\):\\([a-z0-9_]+\\)" tramp-sudoedit-remote-selinux-p tramp-sudoedit-send-command "ls" "-d" "-Z" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-get-connection-buffer re-search-forward point-at-eol t match-string 1 tramp-set-file-property] 26 (#$ . 43691)]) #@57 Like `file-system-info' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-system-info #[257 "\3041\242\305\306!!\211\242>\204\307\310\311D\"\210\211A@\242>\204(\307\310\311D\"\210\3128\242>\2049\307\310\311D\"\210\3138\242>\204K\307\310\311D\"\210\3148\242>\204]\307\310\311D\"\210\3158\242>\204o\307\310\311D\"\210\3168\242>\204\203\307\310\311 D\"\210\3178\315\320C\3211( X\205$\n\203\307\313X\203\307\322\323\324U\203\255\325\202\302\326U\203\267\325\202\302\312U\203\301\327\202\302\330P#\210 \314Y\205$\324\326U\203\3311\377r\332!\203\346\333!\202\352\334\335\"q\210\336P\262\337\340 C\"\211\262)0\202\210\202\210\332!\203\341\342\"\262)\242>\205$\322\343\344\345\"P$0\202,\210\202-\210\266\346\347\350\351\352\211?\205> \353!\211\211?\205J \354\355\353!\")\266\202\203h\211G\312U\203b\356\202f\357\312\"\262\360!P)\266\203%\205\236r\334!q\210eb\210\352y\210\361\362!\205\235\363\364\326!!\363\364\326!!\363\364\312!!Z\363\364\313!!E)\266\2100\207\210\352\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message file-name-handler-alist (error) tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 "file system info: %s" (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-sudoedit-send-command "df" "--block-size=1" "--output=size,used,avail" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p looking-at "[[:space:]]*\\([[:digit:]]+\\)[[:space:]]+\\([[:digit:]]+\\)[[:space:]]+\\([[:digit:]]+\\)" string-to-number match-string] 23 (#$ . 45326)]) #@70 Like `set-file-times' for Tramp files. (fn FILENAME &optional TIME) (defalias 'tramp-sudoedit-handle-set-file-times #[513 "\304!\211\242>\204\305\306\307D\"\210\211A@\242>\204\"\305\306\307D\"\210\3108\242>\2043\305\306\307D\"\210\3118\242>\204E\305\306\307D\"\210\3128\242>\204W\305\306\307D\"\210\3138\242>\204i\305\306\307D\"\210\3148\242>\204}\305\306\307 D\"\210\3158\316\"\210\203\234\317 \"\204\234\317 \n\"\203\241\320 \202\243\321 \322\323\324\325\326\327\330# \331\211?\205\271 \332!\211\211?\205\305 \333\334\332!\")\266\202\203\343\211G\310U\203\335\335\202\341\336\310\"\262\337!P)\266\203&\262\207" [cl-struct-tramp-file-name-tags tramp-time-doesnt-exist tramp-time-dont-know file-name-handler-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties tramp-compat-time-equal-p current-time tramp-sudoedit-send-command "env" "TZ=UTC" "touch" "-t" format-time-string "%Y%m%d%H%M.%S" t nil file-local-name string-prefix-p "/:" "/" substring file-remote-p] 27 (#$ . 47167)]) #@54 Like `file-truename' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-handle-file-truename #[257 "\306!\203\n\307\202 \310\311\211?\205\312\313\314!\")\266\202\203$\315\202%\310\316\317!\311\211?\2050\314!\211\211?\205<\312\313\314!\")\266\202\203Z\211G\320U\203T\321\202X\322\320\"\262\323!P)\266\203!\211\242 >\204q\324\325\326D\"\210\211A@\242 >\204\202\324\325\326D\"\210\3208\242 >\204\223\324\325\326D\"\210\3278\242 >\204\245\324\325\326D\"\210\3308\242 >\204\267\324\325\326D\"\210\3318\242 >\204\311\324\325\326D\"\210\3328\242 >\204\335\324\325\326 D\"\210\3338\334\335!\203\276\336\n\337\340$\211\340=\203\270\311 \330\341C\3421\232\nX\205\226 \2039\327X\2039\343\344\345U\203\346\2024\347U\203)\346\2024\320U\2033\350\2024\351P#\210\n\330Y\205\226\345\347U\203v\3521qr\353!\203X\354!\202\\\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202u\210\202v\210\353!\203\202\362\363\"\262)\242 >\205\226\343\364\365\366\"P$0\202\236\210\202\237\210\266\367\f\370\371 $\262\372!\203\301\211\230\203\301 \373\374C\311\211\n\375Y\203\331\211\203\223\211\375\357\376\377!\201F\216 \201G \210)r q\210\361 +C\201H1\211\nX\205\205 \203&\327X\203&\343\344\345U\203\f\346\202!\347U\203\346\202!\320U\203 \350\202!\351P#\210\n\330Y\205\205\345\347U\203e\201I1`r\353!\203G\354!\202K\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202d\210\202e\210\353!\203q\362\363\"\262)\242 >\205\205\343\364\365\366\"P$0\202\215\210\202\216\210\266\202\331@r\201J\201K!q\210p\201L \210@\311\211AB\201M\211C\201MDE\201N \210\201O\201P!\210+\211\201G \210\201Q!\210)\266\210\211\204\347C\262\201R\262\203\254\347\201R\201S\211\201TN\343\201U  #E!C\201V1\245\nX\205\241 \203B\327X\203B\343\344\345U\203(\346\202=\347U\2032\346\202=\320U\203<\350\202=\351P#\210\n\330Y\205\241\345\347U\203\201\201W1|r\353!\203c\354!\202g\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202\200\210\202\201\210\353!\203\215\362\363\"\262)\242 >\205\241\343\364\365\366\"P$0\202\251\210\202\252\210\266\324\201X\343\201U#!C\"\210*\266\323!\203\370\211\201Y\211?\205\321\211?\205\332\312\313\314!\")\266\202\203\353\202\363\323!\313\314!Q)\266\202\262 \330\201ZD\201[1\241\nX\205\235 \203>\327X\203>\343\344\345U\203$\346\2029\347U\203.\346\2029\320U\2038\350\2029\351P#\210\n\330Y\205\235\345\347U\203}\201\\1xr\353!\203_\354!\202c\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202|\210\202}\210\353!\203\211\362\363\"\262)\242 >\205\235\343\364\365\366\"P$0\202\245\210\202\246\210\266\211\262\262\201] \337$\210\211\262\202u\311\n\330\341C\201^1e\nX\205a \203\327X\203\343\344\345U\203\350\346\202\375\347U\203\362\346\202\375\320U\203\374\350\202\375\351P#\210\n\330Y\205a\345\347U\203A\201_1<r\353!\203#\354!\202'\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202@\210\202A\210\353!\203M\362\363\"\262)\242 >\205a\343\364\365\366\"P$0\202i\210\202j\210\266\367 \370\371$\262\372!\203\213\211\230\203\213\n\373\374C\311\211\n\375Y\203\243\211\203]\211\375\357\376\377!\201`\216 \201G \210)r q\210\361 +C\201a1S\nX\205O \203\360\327X\203\360\343\344\345U\203\326\346\202\353\347U\203\340\346\202\353\320U\203\352\350\202\353\351P#\210\n\330Y\205O\345\347U\203/\201b1*r\353!\203\354!\202\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202.\210\202/\210\353!\203;\362\363\"\262)\242 >\205O\343\364\365\366\"P$0\202W\210\202X\210\266\202\243@r\201J\201K!q\210p\201L \210@\311\211AB\201M\211C\201MDE\201N \210\201O\201P!\210+\211\201G \210\201Q!\210)\266\210\211\204\261C\262\201R\262\203v\347\201R\201S\211\201TN\343\201U  #E!C\201c1o\nX\205k \203\f\327X\203\f\343\344\345U\203\362\346\202\347U\203\374\346\202\320U\203\350\202\351P#\210\n\330Y\205k\345\347U\203K\201d1Fr\353!\203-\354!\2021\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202J\210\202K\210\353!\203W\362\363\"\262)\242 >\205k\343\364\365\366\"P$0\202s\210\202t\210\266\324\201X\343\201U#!C\"\210*\266\323!\203\302\211\201Y\211?\205\233\211?\205\244\312\313\314!\")\266\202\203\265\202\275\323!\313\314!Q)\266\202\262\n\330\201ZD\201e1k\nX\205g \203\327X\203\343\344\345U\203\356\346\202\347U\203\370\346\202\320U\203\350\202\351P#\210\n\330Y\205g\345\347U\203G\201f1Br\353!\203)\354!\202-\355\356\"q\210\357P\262\360\361 C\"\211\262)0\202F\210\202G\210\353!\203S\362\363\"\262)\242 >\205g\343\364\365\366\"P$0\202o\210\202p\210\266\211\262\201g#\266\210!!\207" [file-name-handler-alist cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message signal-hook-function standard-output tramp-compat-directory-name-p file-name-as-directory identity nil string-prefix-p "/:" file-local-name tramp-compat-file-name-quote tramp-dissect-file-name expand-file-name 2 "/" substring file-remote-p 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" undef "Finding true name for `%s'" (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create "\n%s" append buffer-string process-get vector tramp-debug-message format "(%d) # " tramp-sudoedit-send-command-string "readlink" "--canonicalize-missing" file-symlink-p file-error "Apparent cycle of symbolic links for %s" 10 generate-new-buffer " *string-output*" default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace (error) (error) get-buffer-create "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message (error) (error) substring-no-properties top "True name of `%s' is `%s'" (error) (error) tramp-set-file-property (error) (error) #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error) (error) (error) nohop] 31 (#$ . 48290)]) #@56 Like `file-writable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-sudoedit-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\376\315\316\317$\211\317=\203\370\320\n!\203\337\321 \322\323\324\211?\205\251 \325!\211\211?\205\265 \326\327\325!\")\266\202\203\323\211G\306U\203\315\330\202\321\331\306\"\262\332!P)\266\203$\202\356\333\n!\320!\205\354\334!\262\262\335 \316$\210\211\262\202W\320 !\203H\321\322\323\324\211?\205 \325!\211\211?\205 \326\327\325!\")\266\202\203<\211G\306U\2036\330\202:\331\306\"\262\332!P)\266\203$\202W\333 !\320!\205U\334!\262\207" [cl-struct-tramp-file-name-tags file-name-handler-alist 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" undef file-exists-p tramp-sudoedit-send-command "test" "-w" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p file-name-directory file-writable-p tramp-set-file-property] 23 (#$ . 54792)]) #@68 Like `make-directory' for Tramp files. (fn DIR &optional PARENTS) (defalias 'tramp-sudoedit-handle-make-directory #[513 "\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\204j\321\n!\203j\322\323\fC\324\211 \325Y\203\224\211\203d\211\325\326\327\330!\331\216\f\332 \210)r\fq\210\333 +C\3341Z X\205V\n\203\371\314X\203\371\335\336\337U\203\337\340\202\364\341U\203\351\340\202\364\313U\203\363\342\202\364\343P#\210 \315Y\205V\337\341U\2036\34411r\345!\203\346!\202\347\350\"q\210\326P\262\351\333 C\"\211\262)0\2025\210\2026\210\345!\203B\352\353\"\262)\242>\205V\335\354\355\356\"P$0\202^\210\202_\210\266\202\224 r\357\360!q\210p\361 \210\324\211@A\362\211B\362CD\363 \210\364\365!\210+\211\332 \210\366!\210)\266\210\211\204\240C\262\367\262\203Y\341\367\370\211\371N\335\372  #E!C\3731R X\205N\n\203\361\314X\203\361\335\336\337U\203\327\340\202\354\341U\203\341\340\202\354\313U\203\353\342\202\354\343P#\210 \315Y\205N\337\341U\203.\3741)r\345!\203\346!\202\347\350\"q\210\326P\262\351\333 C\"\211\262)0\202-\210\202.\210\345!\203:\352\353\"\262)\242>\205N\335\354\355\356\"P$0\202V\210\202W\210\266\310\375\335\372#!C\"\210*\266\376\n\203v\377\202{\201F!\"\210\201G\n\203\215\201H\202\220\201I\324\211?\205\231EE\201J!\211\211?\205\251EE\201K\201L\201J!\")\266\202\203\320\211G\313U\203\310\377\202\316\201M\313\"\262\201N!P)\266\203#?\205\304\201O\201P\fC\324\211 \325Y\203\353\211\203\273\211\325\326\327\330!\201Q\216\f\332 \210)r\fq\210\333 +C\201R1\261 X\205\255\n\203N\314X\203N\335\336\337U\2034\340\202I\341U\203>\340\202I\313U\203H\342\202I\343P#\210 \315Y\205\255\337\341U\203\215\201S1\210r\345!\203o\346!\202s\347\350\"q\210\326P\262\351\333 C\"\211\262)0\202\214\210\202\215\210\345!\203\231\352\353\"\262)\242>\205\255\335\354\355\356\"P$0\202\265\210\202\266\210\266\202\353 r\357\360!q\210p\361 \210\324\211@A\362\211B\362CD\363 \210\364\365!\210+\211\332 \210\366!\210)\266\210\211\204\367C\262\367\262\203\264\341\367\370\211\371N\335\372  #E!C\201T1\255 X\205\251\n\203J\314X\203J\335\336\337U\2030\340\202E\341U\203:\340\202E\313U\203D\342\202E\343P#\210 \315Y\205\251\337\341U\203\211\201U1\204r\345!\203k\346!\202o\347\350\"q\210\326P\262\351\333 C\"\211\262)0\202\210\210\202\211\210\345!\203\225\352\353\"\262)\242>\205\251\335\354\355\356\"P$0\202\261\210\202\262\210\266\310\375\335\372#!C\"*\266\204\207" [cl-struct-tramp-file-name-tags signal-hook-function tramp-message-show-message tramp-verbose standard-output default-directory expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p file-already-exists "Directory already exists %s" nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (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 t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message (error) (error) substring-no-properties tramp-flush-directory-properties "/" buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist file-name-directory tramp-sudoedit-send-command ("mkdir" "-p") "mkdir" file-local-name string-prefix-p "/:" substring file-remote-p file-error "Couldn't make directory %s" #[0 "\301!\207" [standard-output kill-buffer] 2] (error) (error) (error) (error)] 26 (#$ . 56116)]) #@273 Like `make-symbolic-link' for Tramp files. If TARGET is a non-Tramp file, it is used verbatim as the target of the symlink. If TARGET is a Tramp file, only the localname component is used as the target of the symlink. (fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sudoedit-handle-make-symbolic-link #[770 "\306\307!!\204\310\311E\"\207\312!\211\242>\204!\313\314\315D\"\210\211A@\242>\2042\313\314\315D\"\210\3168\242>\204C\313\314\315D\"\210\3178\242>\204U\313\314\315D\"\210\3208\242>\204g\313\314\315D\"\210\3218\242>\204y\313\314\315D\"\210\3228\242>\204\215\313\314\315 D\"\210\3238\324\306 !\203\300\325\312 !\"\203\300\312\307\f!!\211\242>\204\271\313\314\315D\"\210\3228\262\262 )\306 !\203\377\311 \326\211?\205\322\n\211?\205\333\n\327\330\331!\")\266\202\203\354\202\364\332!\330\331!Q)\266\202  #\202\247\333\n!\203\203\247\203\334\335\336\"!\204\337\340\211\211 \341Y\203#\211\203\356\211\341\342\343\344!@\345\216@@\346 \210)r@q\210\347 +C\3501\344 X\205\340\f\203\203\317X\203\203\351\352\353U\203i\354\202~\355U\203s\354\202~\316U\203}\356\202~\357P#\210 \320Y\205\340\353\355U\203\300\3601\273r\361!\203\242\362!\202\246\363\364\"q\210\342P\262\365\347 C\"\211\262)0\202\277\210\202\300\210\361!\203\314\366\367\"\262)\242>\205\340\351\370\335\371\"P$0\202\350\210\202\351\210\266\202#Ar\372\373!q\210p\374 \210A\340\211BC\324\211D\324EF\375 \210\376\377!\210+\211@\346 \210\201G!\210)\266\210\211\2041C\262\201H\262\203\366\355\201H\201I\211\201JN\351\201K  #E!C\201L1\357 X\205\353\f\203\214\317X\203\214\351\352\353U\203r\354\202\207\355U\203|\354\202\207\316U\203\206\356\202\207\357P#\210 \320Y\205\353\353\355U\203\313\201M1\306r\361!\203\255\362!\202\261\363\364\"q\210\342P\262\365\347 C\"\211\262)0\202\312\210\202\313\210\361!\203\327\366\367\"\262)\242>\205\353\351\370\335\371\"P$0\202\363\210\202\364\210\266\313\201N\351\201K#!C\"\210*\266\202\201O\n!\210\201P\"\210\201Q\201R\201S\340\211?\2051\n\331!\211\211?\205=\n\327\330\331!\")\266\202\203_\211G\316U\203W\201T\202]\201U\316\"\262\332!P)\266\203\340\211?\205p\n\331!\211\211?\205|\n\327\330\331!\")\266\202\203\236\211G\316U\203\226\201T\202\234\201U\316\"\262\332!P)\266\203%\207" [cl-struct-tramp-file-name-tags non-essential file-name-handler-alist signal-hook-function tramp-message-show-message tramp-verbose tramp-tramp-file-p expand-file-name tramp-run-real-handler make-symbolic-link tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 t tramp-file-name-equal-p top string-prefix-p "/:" file-local-name file-remote-p file-exists-p yes-or-no-p format "File %s already exists; make it a link anyway? " file-already-exists nil 10 "\n%s" generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) apply message 0 "" 1 "Warning: " "Tramp: " (error) processp process-buffer tramp-get-connection-buffer dont-create append process-get vector tramp-debug-message "(%d) # " get-buffer-create "*debug tramp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook standard-output default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only internal-temp-output-buffer-show "%s" error-message-string error-message format-message (error) (error) substring-no-properties delete-file tramp-flush-file-properties tramp-sudoedit-send-command "ln" "-sf" "/" substring] 27 (#$ . 60306)]) #@91 Like `rename-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-sudoedit-handle-rename-file #[770 "\300!\262\300!\262\301!\204\301!\203 \302\303\304\305&\207\306\307E\"\207" [expand-file-name tramp-tramp-file-p tramp-sudoedit-do-copy-or-rename-file rename keep-date preserve-uid-gid tramp-run-real-handler rename-file] 10 (#$ . 64048)]) #@64 Like `set-file-acl' for Tramp files. (fn FILENAME ACL-STRING) (defalias 'tramp-sudoedit-handle-set-file-acl #[514 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148;\205\352\315!\205\352\316 \317\320#\321\322\323#\266\202\262 \324\325\326\f\327\211?\205\260 \330!\211\211?\205\274 \331\332\330!\")\266\202\203\332\211G\307U\203\324\333\202\330\334\307\"\262\335!P)\266\203%\336 \337#\210\207" [cl-struct-tramp-file-name-tags file-name-handler-alist tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-sudoedit-remote-acl-p split-string "\n" omit "," mapconcat identity tramp-sudoedit-send-command "setfacl" "-m" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-flush-file-property "file-acl"] 24 (#$ . 64450)]) #@73 Like `set-file-selinux-context' for Tramp files. (fn FILENAME CONTEXT) (defalias 'tramp-sudoedit-handle-set-file-selinux-context #[514 "\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:\205P\314!\205P@;\205\230@ A@;\205\244 A@\306 8;\205\260\306 8\307\f8;\205\274\307\f8\315\f\316\205\312\317\320\"\205\324\317\321\"\205\336\317\322\"\205\350\317\323\"\f\324\211?\205\361 \325!\211\211?\205\375 \326\327\325!\")\266\202\203\211G\306U\203\330\202\331\306\"\262\332!P)\266\203&\205N\203E\203E\203E\211\203E\333\f\334$\210\202M\335\f\334#\210\336\266\204\207" [cl-struct-tramp-file-name-tags file-name-handler-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-sudoedit-remote-selinux-p tramp-sudoedit-send-command "chcon" format "--user=%s" "--role=%s" "--type=%s" "--range=%s" nil file-local-name string-prefix-p "/:" "/" substring file-remote-p tramp-set-file-property "file-selinux-context" tramp-flush-file-property t] 30 (#$ . 65519)]) #@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-sudoedit-get-remote-uid #[514 "\300\301\302\"\303#\211\303=\203,\304=\203\305\306\307#\202!\310\306\311#\262\312\301\302\"#\210\211\207" [tramp-get-connection-property format "uid-%s" undef integer tramp-sudoedit-send-command-and-read "id" "-u" tramp-sudoedit-send-command-string "-un" tramp-set-connection-property] 8 (#$ . 66825)]) #@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-sudoedit-get-remote-gid #[514 "\300\301\302\"\303#\211\303=\203,\304=\203\305\306\307#\202!\310\306\311#\262\312\301\302\"#\210\211\207" [tramp-get-connection-property format "gid-%s" undef integer tramp-sudoedit-send-command-and-read "id" "-g" tramp-sudoedit-send-command-string "-gn" tramp-set-connection-property] 8 (#$ . 67319)]) #@81 Like `tramp-set-file-uid-gid' for Tramp files. (fn FILENAME &optional UID GID) (defalias 'tramp-sudoedit-handle-set-file-uid-gid #[769 "\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\315\316\317\206\221\320 \321\"\206\233\322\321\"#\323!\324\211?\205\247 \325!\211\211?\205\263 \326\327\325!\")\266\202\203\321\211G\306U\203\313\330\202\317\331\306\"\262\332!P)\266\203$\207" [cl-struct-tramp-file-name-tags file-name-handler-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-sudoedit-send-command "chown" format "%d:%d" tramp-sudoedit-get-remote-uid integer tramp-sudoedit-get-remote-gid tramp-compat-file-local-name nil file-local-name string-prefix-p "/:" "/" substring file-remote-p] 24 (#$ . 67812)]) #@105 Like `write-region' for Tramp files. (fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW) (defalias 'tramp-sudoedit-handle-write-region #[1795 "\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 \314\"\3058\262\206\223\315\314\"\313\314\"\3068\262\206\245\316 \314\"\317!\320&\313\314\"\3058\262U\203\330\313\314\"\3068\262U\204\337\321#\210\322\"\210\266\203\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-attributes integer tramp-sudoedit-get-remote-uid tramp-sudoedit-get-remote-gid tramp-default-file-modes tramp-handle-write-region tramp-set-file-uid-gid set-file-modes] 26 (#$ . 68842)]) #@85 Check, whether a sudo process has finished. Remove unneeded output. (fn PROC VEC) (defalias 'tramp-sudoedit-action-sudo #[514 "\303!?\205\331\304\305\"\204eb\210~\210e`|\210eb\210m\204+`\306 U\203+\307y\210\202e`|\210\211\310\311\307\3121\316X\205\312 \203m\310X\203m\313\314\305U\203S\315\202h\316U\203]\315\202h\317U\203g\320\202h\321P#\210\322Y\205\312\305\316U\203\252\3231\245r\324!\203\214\325!\202\220\326\327\"q\210\330P\262\331\332 C\"\211\262)0\202\251\210\202\252\210\324!\203\266\333\334\"\262)\242\n>\205\312\313\335\336\337\"P$0\202\322\210\202\323\210\266\340\341\342\"\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-live-p tramp-accept-process-output 0 point-at-eol nil 3 "Process has finished." (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] 12 (#$ . 69822)]) #@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-sudoedit-maybe-open-connection #[257 "\300!\204 \301\302\211\"\210\303!?\205N\304\305\306!\307\310!\311\312\313\314\315\312\316\312&\f\317\320#\210\321\322\"\210\323!\210\324\325\312#\266\326\327\"\210\330\327\"\210\326\331\"\210\330\331\"\207" [tramp-connectable-p throw non-essential tramp-get-connection-process make-network-process :name tramp-get-connection-name :buffer tramp-get-connection-buffer :server t :host local :service :noquery process-put vector set-process-query-on-exit-flag nil tramp-set-connection-local-variables tramp-set-connection-property "connected" tramp-sudoedit-get-remote-uid integer tramp-sudoedit-get-remote-gid string] 14 (#$ . 70890)]) #@262 Send commands ARGS to connection VEC. If an element of ARGS is a list, it will be flattened. If an element of ARGS is nil, it will be deleted. Erases temporary buffer before sending the command. Returns nil in case of error, t otherwise. (fn VEC &rest ARGS) (defalias 'tramp-sudoedit-send-command #[385 "\306!\210r\307!q\210\310 \210\311\312\"\242>\204\313\314\315D\"\210\3168\206&\317\242>\2045\313\314\315D\"\210\3208\206<\317\321\322\323$\324\325\326\327\330\331\332\333!\334\"\335\336%\"!\325\337\340 \"!\"\341\n\342\343\344 !p$\f\345U\203u\320\202v\f\340\346\347\350!\351\352\353#\266\202C\3541%\fX\205!@\203\304\345X\203\304\342\355\356U\203\252\317\202\277\357U\203\264\317\202\277\320U\203\276\360\202\277\361P#\210\f\316Y\205!\356\357U\203\3621\374r\363!\203\343\364!\202\347\307\365\"q\210\366P\262\324\367 C\"\211\262)0\202\210\202\210\363!\203 \370\333\"\262)\242>\205!\342\371\372\373\"P$0\202)\210\202*\210\266\374\375\"\210\376\333\n#\210\376\377\375#\210\201B\340\"\210\201C \340A$\210\346\201D\201E!\367 D\201F1\376\fX\205\372@\203\233\345X\203\233\342\355\356U\203\201\317\202\226\357U\203\213\317\202\226\320U\203\225\360\202\226\361P#\210\f\316Y\205\372\356\357U\203\332\201G1\325r\363!\203\274\364!\202\300\307\365\"q\210\366P\262\324\367 C\"\211\262)0\202\331\210\202\332\210\363!\203\346\370\333\"\262)\242>\205\372\342\371\372\373\"P$0\202\210\202\210\266\201E!\356U\201H!\210,\266\206)\207" [cl-struct-tramp-file-name-tags delete-exited-processes tramp-process-connection-type process-connection-type tramp-verbose auth-source-save-behavior tramp-sudoedit-maybe-open-connection tramp-get-connection-buffer erase-buffer tramp-get-method-parameter tramp-sudo-login signal wrong-type-argument tramp-file-name 4 #1="" 2 format-spec-make 104 117 append tramp-compat-flatten-tree mapcar make-byte-code 257 "\301\302\303\304\305\306\300!\307\"\310\311%\"\262\312\235?\205\211\207" vconcat vector [mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [format-spec] 4 "\n\n(fn Y)" #1#] 8 "\n\n(fn X)" delq nil t apply start-process tramp-get-connection-name 3 6 "%s" process-command " " mapconcat identity (error) message 0 1 "Warning: " "Tramp: " (error) processp process-buffer dont-create "\n%s" buffer-string process-get tramp-debug-message format "(%d) # " set-process-sentinel ignore process-put adjust-window-size-function tramp-message-show-message tramp-sudoedit-sudo-actions set-process-query-on-exit-flag tramp-process-actions "%s\n%s" process-exit-status (error) (error) delete-process] 18 (#$ . 71773)]) #@158 Run command ARGS and return the output, which must be a Lisp expression. In case there is no valid Lisp expression, it raises an error. (fn VEC &rest ARGS) (defalias 'tramp-sudoedit-send-command-and-read #[385 "\306\307#\205\352r\310!q\210eb\210\311\312\313#\203?eb\210\311\314\312\313#\203-\315\316\312\317#\210\202eb\210\311\312\313#\203?\315\314!\210\2020\320\321\322 C\3231\340 X\205\334\n\203\324X\203\306\325\326U\203e\327\202z\330U\203o\327\202z\331U\203y\332\202z\333P#\210 \334Y\205\334\326\330U\203\274\3351\267r\336!\203\236\337!\202\242\310\340\"q\210\321P\262\341\322 C\"\211\262)0\202\273\210\202\274\210\336!\203\310\342\343\"\262)\242 >\205\334\306\344\345\346\"P$0\202\344\210\202\345\210\266eb\210\3471\350p!\351\352\353 \313#\203\376\354\312!\2100\202\351\210\355\356@\322 D\312\211 \357Y\203\211\203\326\211\357\321\360\361!\362\216 \363 \210)r q\210\322 +C\3641\314 X\205\310\n\203k\324X\203k\306\325\326U\203Q\327\202f\330U\203[\327\202f\331U\203e\332\202f\333P#\210 \334Y\205\310\326\330U\203\250\3651\243r\336!\203\212\337!\202\216\310\340\"q\210\321P\262\341\322 C\"\211\262)0\202\247\210\202\250\210\336!\203\264\342\343\"\262)\242 >\205\310\306\344\345\346\"P$0\202\320\210\202\321\210\266\202@r\366\367!q\210p\370 \210@\312\211AB\313\211C\313DE\371 \210\372\373!\210+\211\363 \210\374!\210)\266\210\211\204C\262\375\262\203\323\330\375\376\211\377N\306\201F  #E!C\201G1\314 X\205\310\n\203i\324X\203i\306\325\326U\203O\327\202d\330U\203Y\327\202d\331U\203c\332\202d\333P#\210 \334Y\205\310\326\330U\203\250\201H1\243r\336!\203\212\337!\202\216\310\340\"q\210\321P\262\341\322 C\"\211\262)0\202\247\210\202\250\210\336!\203\264\342\343\"\262)\242 >\205\310\306\344\345\346\"P$0\202\320\210\202\321\210\266\201I\201J\306\201F#!C\"*\266\204)\207" [tramp-stat-marker tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags signal-hook-function standard-output apply tramp-sudoedit-send-command tramp-get-connection-buffer search-forward nil t "\"" replace-match "\\\"" literal 6 "\n%s" buffer-string (error) 3 message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " (error) read re-search-forward "\\S-" point-at-eol error file-error "`%s' does not return a valid Lisp expression: `%s'" 10 generate-new-buffer " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace (error) (error) 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 default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only format-message (error) (error) signal substring-no-properties] 18 (#$ . 74488)]) #@74 Run command ARGS and return the output as a string. (fn VEC &rest ARGS) (defalias 'tramp-sudoedit-send-command-string #[385 "\303\304#\205\324r\305!q\210\306\307\310 C\3111\257X\205\253 \203N\312X\203N\303\313\314U\2034\315\202I\316U\203>\315\202I\317U\203H\320\202I\321P#\210\322Y\205\253\314\316U\203\213\3231\206r\324!\203m\325!\202q\305\326\"q\210\307P\262\327\310 C\"\211\262)0\202\212\210\202\213\210\324!\203\227\330\331\"\262)\242\n>\205\253\303\332\333\334\"P$0\202\263\210\202\264\210\266db\210\335\336\337\340#\203\311\314\224`|\210\202\271deV\205\323\341\310 !)\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags apply tramp-sudoedit-send-command tramp-get-connection-buffer 6 "\n%s" buffer-string (error) 3 message 0 "" 1 2 "Warning: " "Tramp: " 4 (error) processp process-buffer dont-create append process-get vector tramp-debug-message format "(%d) # " looking-back "[ \n]+" nil greedy substring-no-properties] 12 (#$ . 77511)]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook tramp-unload-hook #[0 "\300\301\302\"\207" [unload-feature tramp-sudoedit force] 3] provide tramp-sudoedit] 3)