=?UTF-8?Q?tramp_(2.5.0-pre_nil/nil); _Cannot_write_to_/sudo::file_in_/boo?= t partition

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

=?UTF-8?Q?tramp_(2.5.0-pre_nil/nil); _Cannot_write_to_/sudo::file_in_/boo?= t partition

Yikai Zhao
Hello,

This is my first bug report, please let me know if there's anything missing.
I tried google about this bug but didn't find any solutions.


When I open some file in FAT filesystem (/boot) using /sudo connection
and then try to save the file, TRAMP will report error:

"Copying directly failed, see buffer ... for details".

But it seems that the file is saved regardless the error message.

Is there anyway to suppress this message? Thanks!



Emacs  : GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.17.4)
 of 2020-12-13
Package: tramp (2.5.0-pre nil/nil)

current state:
==============
(setq
 backup-by-copying nil
 backup-by-copying-when-linked nil
 backup-by-copying-when-mismatch t
 backup-by-copying-when-privileged-mismatch 200
 backup-directory-alist nil
 connection-local-criteria-alist '(((:application tramp)
                                    tramp-connection-local-default-system-profile
                                    tramp-connection-local-default-shell-profile)
                                   )
 connection-local-profile-alist '((tramp-connection-local-default-shell-profile
                                   (shell-file-name . "/bin/sh")
                                   (shell-command-switch . "-c"))
                                  (tramp-connection-local-default-system-profile
                                   (path-separator . ":") (null-device . "/dev/null"))
                                  )
 file-name-handler-alist '(("\\(?:\\.tzst\\|\\.zst\\|\\.dz\\|\\.txz\\|\\.xz\\|\\.lzma\\|\\.lz\\|\\.g?z\\|\\.\\(?:tgz\\|svgz\\|sifz\\)\\|\\.tbz2?\\|\\.bz2\\|\\.Z\\)\\(?:~\\|\\.~[-[:alnum:]:#@^._]+\\(?:~[[:digit:]]+\\)?~\\)?\\'" . jka-compr-handler)
                           ("\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'" . epa-file-handler)
                           ("\\`\\(.+\\.\\(?:7z\\|CAB\\|LZH\\|MSU\\|ZIP\\|a\\(?:pk\\|r\\)\\|c\\(?:ab\\|pio\\)\\|de\\(?:b\\|pot\\)\\|exe\\|iso\\|jar\\|lzh\\|m\\(?:su\\|tree\\)\\|od[bfgpst]\\|pax\\|r\\(?:ar\\|pm\\)\\|shar\\|t\\(?:ar\\|bz\\|gz\\|lz\\|xz\\|zst\\)\\|warc\\|x\\(?:ar\\|p[is]\\)\\|zip\\)\\(?:\\.\\(?:Z\\|bz2\\|gz\\|l\\(?:rz\\|z\\(?:ma\\|[4o]\\)?\\)\\|uu\\|xz\\|zst\\)\\)*\\)\\(/.*\\)\\'" . tramp-archive-file-name-handler)
                           ("\\`/\\(\\([^/|:]+:[^/|:]*|\\)*[^/|:]+\\(:[^/|:]*\\)?\\)?\\'" .
                            tramp-completion-file-name-handler)
                           ("^/\\(\\(?:\\([[:alnum:]-]+\\):\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[[:alnum:]_.%-]+\\|\\[\\(?:\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+\\)?]\\)\\(?:#[[:digit:]]+\\)?\\)?|\\)+\\)?\\([[:alnum:]-]+\\):\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[[:alnum:]_.%-]+\\|\\[\\(?:\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+\\)?]\\)\\(?:#[[:digit:]]+\\)?\\)?:\\([^\n
]*\\'\\)" . tramp-file-name-handler)
                           ("\\`/:" . file-name-non-special))
 password-cache t
 password-cache-expiry 16
 remote-file-name-inhibit-cache 10
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 tramp-actions-before-shell '((tramp-login-prompt-regexp tramp-action-login)
                              (tramp-password-prompt-regexp tramp-action-password)
                              (tramp-wrong-passwd-regexp tramp-action-permission-denied)
                              (shell-prompt-pattern tramp-action-succeed)
                              (tramp-shell-prompt-pattern tramp-action-succeed)
                              (tramp-yesno-prompt-regexp tramp-action-yesno)
                              (tramp-yn-prompt-regexp tramp-action-yn)
                              (tramp-terminal-prompt-regexp tramp-action-terminal)
                              (tramp-antispoof-regexp tramp-action-confirm-message)
                              (tramp-process-alive-regexp tramp-action-process-alive))
 tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp tramp-action-password)
                                  (tramp-wrong-passwd-regexp tramp-action-permission-denied)
                                  (tramp-copy-failed-regexp tramp-action-permission-denied)
                                  (tramp-process-alive-regexp tramp-action-out-of-band))
 tramp-adb-connect-if-not-connected nil
 tramp-adb-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-adb-handle-copy-file)
                                     (delete-directory . tramp-adb-handle-delete-directory)
                                     (delete-file . tramp-adb-handle-delete-file)
                                     (directory-file-name .
                                      tramp-handle-directory-file-name)
                                     (directory-files . tramp-handle-directory-files)
                                     (directory-files-and-attributes .
                                      tramp-adb-handle-directory-files-and-attributes)
                                     (dired-compress-file . ignore)
                                     (dired-uncache . tramp-handle-dired-uncache)
                                     (exec-path . tramp-adb-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-adb-handle-file-attributes)
                                     (file-directory-p . tramp-handle-file-directory-p)
                                     (file-equal-p . tramp-handle-file-equal-p)
                                     (file-executable-p . tramp-handle-file-exists-p)
                                     (file-exists-p . tramp-handle-file-exists-p)
                                     (file-in-directory-p .
                                      tramp-handle-file-in-directory-p)
                                     (file-local-copy . tramp-adb-handle-file-local-copy)
                                     (file-modes . tramp-handle-file-modes)
                                     (file-name-all-completions .
                                      tramp-adb-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 .
                                      tramp-handle-file-notify-add-watch)
                                     (file-notify-rm-watch .
                                      tramp-handle-file-notify-rm-watch)
                                     (file-notify-valid-p .
                                      tramp-handle-file-notify-valid-p)
                                     (file-ownership-preserved-p . ignore)
                                     (file-readable-p . tramp-handle-file-exists-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-adb-handle-file-system-info)
                                     (file-truename . tramp-handle-file-truename)
                                     (file-writable-p . tramp-adb-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-adb-handle-make-directory)
                                     (make-directory-internal . ignore)
                                     (make-nearby-temp-file .
                                      tramp-handle-make-nearby-temp-file)
                                     (make-process . tramp-adb-handle-make-process)
                                     (make-symbolic-link . tramp-handle-make-symbolic-link)
                                     (process-file . tramp-adb-handle-process-file)
                                     (rename-file . tramp-adb-handle-rename-file)
                                     (set-file-acl . ignore)
                                     (set-file-modes . tramp-adb-handle-set-file-modes)
                                     (set-file-selinux-context . ignore)
                                     (set-file-times . tramp-adb-handle-set-file-times)
                                     (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-adb-handle-write-region))
 tramp-adb-method "adb"
 tramp-adb-program "adb"
 tramp-adb-prompt '(decode-coding-string
                    (base64-decode-string "XlteIyQKDV0qWyMkXVtbOnNwYWNlOl1d") 'raw-text)
 tramp-antispoof-regexp "Access granted\\. Press Return to begin session\\. "
 tramp-archive-compression-suffixes '("bz2" "gz" "lrz" "lz" "lz4" "lzma" "lzo" "uu" "xz"
                                      "Z" "zst")
 tramp-archive-enabled t
 tramp-archive-file-name-handler-alist '((access-file . tramp-archive-handle-access-file)
                                         (add-name-to-file .
                                          tramp-archive-handle-not-implemented)
                                         (copy-file . tramp-archive-handle-copy-file)
                                         (delete-directory .
                                          tramp-archive-handle-not-implemented)
                                         (delete-file .
                                          tramp-archive-handle-not-implemented)
                                         (directory-file-name .
                                          tramp-archive-handle-directory-file-name)
                                         (directory-files . tramp-handle-directory-files)
                                         (directory-files-and-attributes .
                                          tramp-handle-directory-files-and-attributes)
                                         (dired-compress-file .
                                          tramp-archive-handle-not-implemented)
                                         (dired-uncache .
                                          tramp-archive-handle-dired-uncache)
                                         (exec-path . ignore)
                                         (file-accessible-directory-p .
                                          tramp-handle-file-accessible-directory-p)
                                         (file-acl . ignore)
                                         (file-attributes .
                                          tramp-archive-handle-file-attributes)
                                         (file-directory-p . tramp-handle-file-directory-p)
                                         (file-equal-p . tramp-handle-file-equal-p)
                                         (file-executable-p .
                                          tramp-archive-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-archive-handle-file-local-copy)
                                         (file-modes . tramp-handle-file-modes)
                                         (file-name-all-completions .
                                          tramp-archive-handle-file-name-all-completions)
                                         (file-name-case-insensitive-p . ignore)
                                         (file-name-completion .
                                          tramp-handle-file-name-completion)
                                         (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-archive-handle-file-readable-p)
                                         (file-regular-p . tramp-handle-file-regular-p)
                                         (file-selinux-context .
                                          tramp-handle-file-selinux-context)
                                         (file-symlink-p . tramp-handle-file-symlink-p)
                                         (file-system-info .
                                          tramp-archive-handle-file-system-info)
                                         (file-truename .
                                          tramp-archive-handle-file-truename)
                                         (file-writable-p . ignore)
                                         (find-backup-file-name . ignore)
                                         (insert-directory .
                                          tramp-archive-handle-insert-directory)
                                         (insert-file-contents .
                                          tramp-archive-handle-insert-file-contents)
                                         (load . tramp-archive-handle-load)
                                         (make-auto-save-file-name . ignore)
                                         (make-directory .
                                          tramp-archive-handle-not-implemented)
                                         (make-directory-internal .
                                          tramp-archive-handle-not-implemented)
                                         (make-nearby-temp-file .
                                          tramp-handle-make-nearby-temp-file)
                                         (make-process . ignore)
                                         (make-symbolic-link .
                                          tramp-archive-handle-not-implemented)
                                         (process-file . ignore)
                                         (rename-file .
                                          tramp-archive-handle-not-implemented)
                                         (set-file-acl . ignore)
                                         (set-file-modes .
                                          tramp-archive-handle-not-implemented)
                                         (set-file-selinux-context . ignore)
                                         (set-file-times .
                                          tramp-archive-handle-not-implemented)
                                         (set-visited-file-modtime .
                                          tramp-handle-set-visited-file-modtime)
                                         (shell-command .
                                          tramp-archive-handle-not-implemented)
                                         (start-file-process .
                                          tramp-archive-handle-not-implemented)
                                         (temporary-file-directory .
                                          tramp-archive-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-archive-handle-not-implemented)
                                         )
 tramp-archive-file-name-regexp "\\`\\(.+\\.\\(?:7z\\|CAB\\|LZH\\|MSU\\|ZIP\\|a\\(?:pk\\|r\\)\\|c\\(?:ab\\|pio\\)\\|de\\(?:b\\|pot\\)\\|exe\\|iso\\|jar\\|lzh\\|m\\(?:su\\|tree\\)\\|od[bfgpst]\\|pax\\|r\\(?:ar\\|pm\\)\\|shar\\|t\\(?:ar\\|bz\\|gz\\|lz\\|xz\\|zst\\)\\|warc\\|x\\(?:ar\\|p[is]\\)\\|zip\\)\\(?:\\.\\(?:Z\\|bz2\\|gz\\|l\\(?:rz\\|z\\(?:ma\\|[4o]\\)?\\)\\|uu\\|xz\\|zst\\)\\)*\\)\\(/.*\\)\\'"
 tramp-archive-method "archive"
 tramp-archive-suffixes '("7z" "apk" "ar" "cab" "CAB" "cpio" "deb" "depot" "exe" "iso"
                          "jar" "lzh" "LZH" "msu" "MSU" "mtree" "odb" "odf" "odg" "odp"
                          "ods" "odt" "pax" "rar" "rpm" "shar" "tar" "tbz" "tgz" "tlz"
                          "txz" "tzst" "warc" "xar" "xpi" "xps" "zip" "ZIP")
 tramp-archive-unload-hook '((lambda nil
                              (remove-hook 'after-init-hook
                               #'tramp-register-archive-file-name-handler)
                              )
                             )
 tramp-auto-save-directory nil
 tramp-autoload-file-name-regexp "\\`/[^/|:]+:"
 tramp-awk-decode "%a '\\\nBEGIN {\n  b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n}\n{\n  for (i=1; i<=length($0); i++) {\n    c=index(b64, substr($0,i,1))\n    if(c--) {\n      for(b=0; b<6; b++) {\n        o=o*2+int(c/32); c=(c*2)%%64\n        if(++obc==8) {\n          if (o) {\n            printf \"%%c\", o\n          } else {\n            system(\"dd if=/dev/zero bs=1 count=1 %n\")\n          }\n          obc=0; o=0\n        }\n      }\n    }\n  }\n}'"
 tramp-awk-encode "%a '\\\nBEGIN {\n  b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n  b16 = \"0123456789abcdef\"\n}\n{\n  for (c=1; c<=length($0); c++) {\n    d=index(b16, substr($0,c,1))\n    if (d--) {\n      for (b=1; b<=4; b++) {\n        o=o*2+int(d/8); d=(d*2)%%16\n        if (++obc==6) {\n          printf substr(b64,o+1,1)\n          if (++rc>75) { printf \"\\n\"; rc=0 }\n          obc=0; o=0\n        }\n      }\n    }\n  }\n}\nEND {\n  if (obc) {\n    tail=(obc==2) ? \"==\\n\" : \"=\\n\"\n    while (obc++<6) { o=o*2 }\n    printf \"%%c\", substr(b64,o+1,1)\n  } else {\n    tail=\"\\n\"\n  }\n  printf tail\n}'"
 tramp-backup-directory-alist nil
 tramp-bug-report-address "[hidden email]"
 tramp-cache-data '(((tramp-file-name "sudo" "root" nil "localhost" nil nil nil)
                     ("null-device" "/dev/null") ("uname" "Linux 5.9.13-arch1-1")
                     ("locale" "LC_ALL=en_US.utf8") ("test" "test")
                     ("remote-path"
                      ("/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin"
                       "/usr/local/sbin")
                      )
                     ("pipe-buf" 4096) ("remote-shell" "/bin/sh") ("readlink" "\\readlink")
                     ("stat" "env QUOTING_STYLE=locale \\stat") ("id" "/bin/id")
                     ("gid-integer" 0) ("file-exists" "test -e") ("case-insensitive" nil)
                     ("gid-string" "root") ("uid-string" "root") ("uid-integer" 0)
                     ("bzr" nil) ("git" "\\git") ("hg" nil))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil nil nil)
                     ("null-device" "/dev/null") ("uname" "Linux 5.9.13-arch1-1")
                     ("locale" "LC_ALL=en_US.utf8") ("test" "test")
                     ("remote-path"
                      ("/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin"
                       "/usr/local/sbin")
                      )
                     ("pipe-buf" 4096) ("remote-shell" "/bin/sh") ("readlink" "\\readlink")
                     ("stat" "env QUOTING_STYLE=locale \\stat") ("id" "/bin/id")
                     ("gid-integer" 0) ("file-exists" "test -e") ("case-insensitive" nil)
                     ("gid-string" "root") ("uid-string" "root") ("uid-integer" 0)
                     ("bzr" nil) ("git" "\\git") ("hg" nil) ("process-buffer" nil)
                     ("first-password-request" nil) ("~root" "/root"))
                    (nil ("locale" "en_US.utf8"))
                    ("#<process *tramp/sudo root@Oldtown*>"
                     ("temp-file" "/tmp/tramp.QspXw1")
                     ("password-vector"
                      (tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil
                       #("Oldtown" 0 7 (tramp-default t)) nil nil nil)
                      )
                     ("session-timeout" 300) ("last-cmd-time" (24541 30966 917303 260000))
                     ("remote-shell" "/bin/sh") ("chunksize" 0) ("remote-tty" "/dev/pts/1")
                     ("connected" t) ("device" (-1 . 1))
                     ("scripts" ("tramp_vc_registered_read_file_names"))
                     ("local-encoding" base64-encode-region)
                     ("local-decoding" base64-decode-region) ("remote-encoding" "base64")
                     ("remote-decoding" "base64 -d -i"))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/tmp" nil)
                     ("file-exists-p" ((24541 30966 901054 864000) . t))
                     ("file-attributes-string"
                      ((24541 30966 904031 216000) t 15 "root" "root" (24541 29039 0 0)
                       (24541 30952 0 0) (24541 30952 0 0) 820 "drwxrwxrwt" nil 1 (-1 . 1))
                      )
                     ("file-writable-p" ((24541 30966 904042 723000) . t)))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries" nil)
                     ("file-directory-p" ((24541 30943 570440 984000) . t))
                     ("file-exists-p" ((24541 30966 892146 948000) . t))
                     ("file-attributes-string"
                      ((24541 30966 899020 468000) t 2 "root" "root" (24477 64128 0 0)
                       (24515 3634 0 0) (24515 3634 0 0) 4096 "drwxr-xr-x" nil 5 (-1 . 1))
                      )
                     ("file-writable-p" ((24541 30966 899033 104000) . t)))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/loader" nil)
                     ("file-directory-p" ((24541 30943 571060 371000) . t)))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot" nil)
                     ("file-directory-p" ((24541 30943 571677 230000) . t)))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/" nil)
                     ("file-directory-p" ((24541 30943 572193 288000) . t)))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/RCS/arch.conf,v" nil)
                     ("file-exists-p" ((24541 30943 645697 887000)))
                     ("file-readable-p" ((24541 30943 645705 449000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/arch.conf,v" nil)
                     ("file-exists-p" ((24541 30943 645715 319000)))
                     ("file-readable-p" ((24541 30943 645720 365000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/RCS/arch.conf" nil)
                     ("file-exists-p" ((24541 30943 645729 304000)))
                     ("file-readable-p" ((24541 30943 645734 78000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/CVS/Entries" nil)
                     ("file-exists-p" ((24541 30943 645742 100000)))
                     ("file-readable-p" ((24541 30943 645747 217000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/.svn" nil)
                     ("file-exists-p" ((24541 30943 645752 938000)))
                     ("file-readable-p" ((24541 30943 645757 926000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/loader/.svn"
                      nil)
                     ("file-exists-p" ((24541 30943 645765 770000)))
                     ("file-readable-p" ((24541 30943 645770 215000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/.svn" nil)
                     ("file-exists-p" ((24541 30943 645779 227000)))
                     ("file-readable-p" ((24541 30943 645783 527000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/.svn" nil)
                     ("file-exists-p" ((24541 30943 645790 616000)))
                     ("file-readable-p" ((24541 30943 645793 849000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/SCCS/s.arch.conf" nil)
                     ("file-exists-p" ((24541 30943 645800 31000)))
                     ("file-readable-p" ((24541 30943 645805 160000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/s.arch.conf" nil)
                     ("file-exists-p" ((24541 30943 645813 336000)))
                     ("file-readable-p" ((24541 30943 645818 607000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/.src/arch.conf,v" nil)
                     ("file-exists-p" ((24541 30943 645826 680000)))
                     ("file-readable-p" ((24541 30943 645831 459000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/.bzr/checkout/format" nil)
                     ("file-exists-p" ((24541 30943 645848 521000)))
                     ("file-readable-p" ((24541 30943 645855 638000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/.bzr/checkout/format" nil)
                     ("file-exists-p" ((24541 30943 645863 672000)))
                     ("file-readable-p" ((24541 30943 645868 901000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/.bzr/checkout/format" nil)
                     ("file-exists-p" ((24541 30943 645877 750000)))
                     ("file-readable-p" ((24541 30943 645883 289000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/.bzr/checkout/format" nil)
                     ("file-exists-p" ((24541 30943 645890 78000)))
                     ("file-readable-p" ((24541 30943 645893 655000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/.git" nil)
                     ("file-exists-p" ((24541 30943 645899 833000)))
                     ("file-readable-p" ((24541 30943 645904 197000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/loader/.git"
                      nil)
                     ("file-exists-p" ((24541 30943 645912 226000)))
                     ("file-readable-p" ((24541 30943 645916 673000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/.git" nil)
                     ("file-exists-p" ((24541 30943 645924 310000)))
                     ("file-readable-p" ((24541 30943 645929 43000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/.git" nil)
                     ("file-exists-p" ((24541 30943 645935 827000)))
                     ("file-readable-p" ((24541 30943 645939 106000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/.hg" nil)
                     ("file-exists-p" ((24541 30943 645945 72000)))
                     ("file-readable-p" ((24541 30943 645949 429000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/loader/.hg"
                      nil)
                     ("file-exists-p" ((24541 30943 645957 496000)))
                     ("file-readable-p" ((24541 30943 645961 897000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/.hg" nil)
                     ("file-exists-p" ((24541 30943 645967 846000)))
                     ("file-readable-p" ((24541 30943 645972 943000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/.hg" nil)
                     ("file-exists-p" ((24541 30943 645976 997000)))
                     ("file-readable-p" ((24541 30943 645980 555000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/entries/_MTN/format" nil)
                     ("file-exists-p" ((24541 30943 645988 817000)))
                     ("file-readable-p" ((24541 30943 645993 474000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/boot/loader/_MTN/format" nil)
                     ("file-exists-p" ((24541 30943 646001 775000)))
                     ("file-readable-p" ((24541 30943 646006 228000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/boot/_MTN/format"
                      nil)
                     ("file-exists-p" ((24541 30943 646014 227000)))
                     ("file-readable-p" ((24541 30943 646018 621000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil "/_MTN/format" nil)
                     ("file-exists-p" ((24541 30943 646023 63000)))
                     ("file-readable-p" ((24541 30943 646026 750000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/tmp/tramp.1z5QuX.conf" nil)
                     ("file-attributes-string"
                      ((24541 30947 594400 214000) nil 1 "blahgeek" "blahgeek"
                       (24541 30947 0 0) (24541 30947 0 0) (24541 30947 0 0) 250
                       "-rwxr-xr-x" t 652 (-1 . 1))
                      )
                     ("file-readable-p" ((24541 30947 594417 953000) . t))
                     ("file-attributes-integer"
                      ((24541 30947 598160 729000) nil 1 501 20 (24541 30947 0 0)
                       (24541 30947 0 0) (24541 30947 0 0) 250 "-rwxr-xr-x" t 652 (-1 . 1))
                      )
                     ("file-directory-p" ((24541 30947 599557 899000))))
                    ((tramp-file-name "sudo" "root" nil "Oldtown" nil
                      "/tmp/tramp.M0mSbY.conf" nil)
                     ("file-attributes-string"
                      ((24541 30966 911291 260000) nil 1 "blahgeek" "blahgeek"
                       (24541 30966 0 0) (24541 30966 0 0) (24541 30966 0 0) 248
                       "-rwxr-xr-x" t 653 (-1 . 1))
                      )
                     ("file-readable-p" ((24541 30966 911311 320000) . t))
                     ("file-attributes-integer"
                      ((24541 30966 915542 448000) nil 1 501 20 (24541 30966 0 0)
                       (24541 30966 0 0) (24541 30966 0 0) 248 "-rwxr-xr-x" t 653 (-1 . 1))
                      )
                     ("file-directory-p" ((24541 30966 917226 733000))))
                    )
 tramp-cache-data-changed t
 tramp-cache-read-persistent-data ""
 tramp-cache-undefined 'undef
 tramp-cache-unload-hook '(#[0 "\300\301\302\"\207"
                             [remove-hook kill-emacs-hook tramp-dump-connection-properties]
                             3]
                           #[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]
                           )
 tramp-chunksize nil
 tramp-cleanup-all-connections-hook nil
 tramp-cleanup-connection-hook nil
 tramp-compat-emacs-compiled-version "28.0.50"
 tramp-compat-use-url-tramp-p t
 tramp-completion-file-name-handler-alist '((file-name-all-completions .
                                             tramp-completion-handle-file-name-all-completions)
                                            (file-name-completion .
                                             tramp-completion-handle-file-name-completion)
                                            )
 tramp-completion-file-name-regexp "\\`/\\(\\([^/|:]+:[^/|:]*|\\)*[^/|:]+\\(:[^/|:]*\\)?\\)?\\'"
 tramp-completion-file-name-regexp-alist '((default .
                                            "\\`/\\(\\([^/|:]+:[^/|:]*|\\)*[^/|:]+\\(:[^/|:]*\\)?\\)?\\'")
                                           (simplified .
                                            "\\`/\\(\\([^/|:]*|\\)*[^/|:]+\\)?\\'")
                                           (separate . "\\`/\\(\\[[^]]*\\)?\\'"))
 tramp-completion-file-name-regexp-default "\\`/\\(\\([^/|:]+:[^/|:]*|\\)*[^/|:]+\\(:[^/|:]*\\)?\\)?\\'"
 tramp-completion-file-name-regexp-separate "\\`/\\(\\[[^]]*\\)?\\'"
 tramp-completion-file-name-regexp-simplified "\\`/\\(\\([^/|:]*|\\)*[^/|:]+\\)?\\'"
 tramp-completion-function-alist '(("adb" (tramp-adb-parse-device-names ""))
                                   ("rclone" (tramp-rclone-parse-device-names ""))
                                   ("fcp" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("psftp" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("pscp" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("plink" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("sg" (tramp-parse-etc-group "/etc/group"))
                                   ("ksu" (tramp-parse-passwd "/etc/passwd"))
                                   ("doas" (tramp-parse-passwd "/etc/passwd"))
                                   ("sudo" (tramp-parse-passwd "/etc/passwd"))
                                   ("su" (tramp-parse-passwd "/etc/passwd"))
                                   ("nc" (tramp-parse-hosts "/etc/hosts"))
                                   ("telnet" (tramp-parse-hosts "/etc/hosts"))
                                   ("sshx" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("ssh" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("rsync" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("scpx" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("scp" (tramp-parse-shosts "~/.ssh/known_hosts"))
                                   ("sudoedit" (tramp-parse-passwd "/etc/passwd")))
 tramp-completion-function-alist-putty '((tramp-parse-putty "~/.putty/sessions"))
 tramp-completion-function-alist-rsh '((tramp-parse-rhosts "/etc/hosts.equiv")
                                       (tramp-parse-rhosts "~/.rhosts"))
 tramp-completion-function-alist-sg '((tramp-parse-etc-group "/etc/group"))
 tramp-completion-function-alist-ssh '((tramp-parse-rhosts "/etc/hosts.equiv")
                                       (tramp-parse-rhosts "/etc/shosts.equiv")
                                       (tramp-parse-shosts "/etc/ssh_known_hosts")
                                       (tramp-parse-sconfig "/etc/ssh_config")
                                       (tramp-parse-shostkeys "/etc/ssh2/hostkeys")
                                       (tramp-parse-sknownhosts "/etc/ssh2/knownhosts")
                                       (tramp-parse-rhosts "~/.rhosts")
                                       (tramp-parse-rhosts "~/.shosts")
                                       (tramp-parse-shosts "~/.ssh/known_hosts")
                                       (tramp-parse-sconfig "~/.ssh/config")
                                       (tramp-parse-shostkeys "~/.ssh2/hostkeys")
                                       (tramp-parse-sknownhosts "~/.ssh2/knownhosts"))
 tramp-completion-function-alist-su '((tramp-parse-passwd "/etc/passwd"))
 tramp-completion-function-alist-telnet '((tramp-parse-hosts "/etc/hosts"))
 tramp-completion-reread-directory-timeout 10
 tramp-completion-use-auth-sources t
 tramp-confirm-rename-file-names t
 tramp-connection-local-default-shell-variables '((shell-file-name . "/bin/sh")
                                                  (shell-command-switch . "-c"))
 tramp-connection-local-default-system-variables '((path-separator . ":")
                                                   (null-device . "/dev/null"))
 tramp-connection-min-time-diff 5
 tramp-connection-properties nil
 tramp-connection-timeout 60
 tramp-copy-failed-regexp "\\(.+: \\(No such file or directory\\|Permission denied\\|is a directory\\|not a regular file\\)\\)\\s-*"
 tramp-copy-size-limit 10240
 tramp-crypt-directories nil
 tramp-crypt-enabled nil
 tramp-crypt-encfs-config ".encfs6.xml"
 tramp-crypt-file-name-handler-alist '((access-file . tramp-crypt-handle-access-file)
                                       (add-name-to-file . tramp-handle-add-name-to-file)
                                       (copy-directory . tramp-handle-copy-directory)
                                       (copy-file . tramp-crypt-handle-copy-file)
                                       (delete-directory .
                                        tramp-crypt-handle-delete-directory)
                                       (delete-file . tramp-crypt-handle-delete-file)
                                       (directory-files .
                                        tramp-crypt-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)
                                       (file-accessible-directory-p .
                                        tramp-handle-file-accessible-directory-p)
                                       (file-acl . ignore)
                                       (file-attributes .
                                        tramp-crypt-handle-file-attributes)
                                       (file-directory-p . tramp-handle-file-directory-p)
                                       (file-equal-p . tramp-handle-file-equal-p)
                                       (file-executable-p .
                                        tramp-crypt-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-crypt-handle-file-name-all-completions)
                                       (file-name-case-insensitive-p . ignore)
                                       (file-name-completion .
                                        tramp-handle-file-name-completion)
                                       (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 .
                                        tramp-crypt-handle-file-ownership-preserved-p)
                                       (file-readable-p .
                                        tramp-crypt-handle-file-readable-p)
                                       (file-regular-p . tramp-handle-file-regular-p)
                                       (file-selinux-context . ignore)
                                       (file-symlink-p . tramp-handle-file-symlink-p)
                                       (file-system-info .
                                        tramp-crypt-handle-file-system-info)
                                       (file-writable-p .
                                        tramp-crypt-handle-file-writable-p)
                                       (find-backup-file-name .
                                        tramp-handle-find-backup-file-name)
                                       (insert-directory .
                                        tramp-crypt-handle-insert-directory)
                                       (load . tramp-handle-load)
                                       (make-auto-save-file-name .
                                        tramp-handle-make-auto-save-file-name)
                                       (make-directory . tramp-crypt-handle-make-directory)
                                       (make-directory-internal . ignore)
                                       (make-nearby-temp-file .
                                        tramp-handle-make-nearby-temp-file)
                                       (make-process . ignore)
                                       (make-symbolic-link .
                                        tramp-handle-make-symbolic-link)
                                       (process-file . ignore)
                                       (rename-file . tramp-crypt-handle-rename-file)
                                       (set-file-acl . ignore)
                                       (set-file-modes . tramp-crypt-handle-set-file-modes)
                                       (set-file-selinux-context . ignore)
                                       (set-file-times . tramp-crypt-handle-set-file-times)
                                       (set-visited-file-modtime .
                                        tramp-handle-set-visited-file-modtime)
                                       (shell-command . ignore)
                                       (start-file-process . ignore)
                                       (temporary-file-directory .
                                        tramp-handle-temporary-file-directory)
                                       (tramp-set-file-uid-gid .
                                        tramp-crypt-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-handle-write-region))
 tramp-current-connection nil
 tramp-debug-font-lock-keywords '(list (concat "^\\(?:" tramp-debug-outline-regexp "\\).+")
                                  '(1 font-lock-warning-face t t)
                                  '(0 (outline-font-lock-face) keep t))
 tramp-debug-outline-regexp "[[:digit:]]+:[[:digit:]]+:[[:digit:]]+\\.[[:digit:]]+ \\(?:\\(#<thread .+>\\) \\)?[[:alnum:]-]+ (\\([[:digit:]]+\\)) #"
 tramp-debug-to-file nil
 tramp-default-host "Oldtown"
 tramp-default-host-alist '(("adb" nil "") ("nextcloud" nil "") ("gdrive" nil "")
                            ("rclone" nil ""))
 tramp-default-method "scp"
 tramp-default-method-alist '((nil "\\`\\(anonymous\\|ftp\\)\\'" "ftp")
                              ("\\`ftp\\." nil "ftp")
                              ("\\`\\(127\\.0\\.0\\.1\\|::1\\|Oldtown\\|localhost6?\\)\\'"
                               "\\`root\\'" "su")
                              )
 tramp-default-method-marker "-"
 tramp-default-proxies-alist nil
 tramp-default-remote-shell "/bin/sh"
 tramp-default-rename-alist nil
 tramp-default-user nil
 tramp-default-user-alist '(("\\`\\(?:fcp\\|krlogin\\|nc\\|r\\(?:cp\\|emcp\\|sh\\)\\|telnet\\)\\'" nil "blahgeek")
                            ("\\`\\(?:doas\\|ksu\\|su\\(?:do\\)?\\)\\'" nil "root")
                            ("\\`smb\\'" nil nil) ("\\`sudoedit\\'" nil "root"))
 tramp-device-escape-sequence-regexp '(decode-coding-string
                                       (base64-decode-string "G1tbOmRpZ2l0Ol1bXStu")
                                       'raw-text)
 tramp-devices 1
 tramp-display-escape-sequence-regexp '(decode-coding-string
                                        (base64-decode-string "G1tbOmRpZ2l0Ol07W10rbQ==")
                                        'raw-text)
 tramp-dns-sd-service-regexp "^_[-[:alnum:]]+\\._tcp$"
 tramp-domain-regexp "[[:alnum:]_.-]+"
 tramp-echo-mark "_echo"
 tramp-echo-mark-marker "_echo"
 tramp-echo-mark-marker-length 5
 tramp-echoed-echo-mark-regexp "_echo\\(\\( \\)?\\)\\{5\\}"
 tramp-encoding-command-interactive "-i"
 tramp-encoding-command-switch "-c"
 tramp-encoding-shell "/bin/sh"
 tramp-end-of-heredoc "d93cf4759edff153265e1260c4028447"
 tramp-end-of-output "///3d7226aaf39b82d8da228f552abdde63#$"
 tramp-file-missing 'file-missing
 tramp-file-mode-type-map '((0 . "-") (1 . "p") (2 . "c") (3 . "m") (4 . "d") (5 . "?")
                            (6 . "b") (7 . "?") (8 . "-") (9 . "n") (10 . "l") (11 . "?")
                            (12 . "s") (13 . "D") (14 . "w"))
 tramp-file-name-regexp '(decode-coding-string
                          (base64-decode-string
                           "Xi9cKFwoPzpcKFtbOmFsbnVtOl0tXStcKTpcKD86XChbXi98OiAJXStcKUBcKT9cKFwoPzpbWzph\nbG51bTpdXy4lLV0rXHxcW1woPzpcKD86W1s6YWxudW06XV0qOlwpK1tbOmFsbnVtOl0uXStcKT9d\nXClcKD86I1tbOmRpZ2l0Ol1dK1wpP1wpP3xcKStcKT9cKFtbOmFsbnVtOl0tXStcKTpcKD86XChb\nXi98OiAJXStcKUBcKT9cKFwoPzpbWzphbG51bTpdXy4lLV0rXHxcW1woPzpcKD86W1s6YWxudW06\nXV0qOlwpK1tbOmFsbnVtOl0uXStcKT9dXClcKD86I1tbOmRpZ2l0Ol1dK1wpP1wpPzpcKFteCg1d\nKlwnXCk=")
                          'raw-text)
 tramp-file-name-structure '("^/\\(\\(?:\\([[:alnum:]-]+\\):\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[[:alnum:]_.%-]+\\|\\[\\(?:\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+\\)?]\\)\\(?:#[[:digit:]]+\\)?\\)?|\\)+\\)?\\([[:alnum:]-]+\\):\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[[:alnum:]_.%-]+\\|\\[\\(?:\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+\\)?]\\)\\(?:#[[:digit:]]+\\)?\\)?:\\([^\n
]*\\'\\)" 5 6 7 8 1)
 tramp-foreign-file-name-handler-alist '((tramp-adb-file-name-p .
                                          tramp-adb-file-name-handler)
                                         (tramp-ftp-file-name-p .
                                          tramp-ftp-file-name-handler)
                                         (tramp-gvfs-file-name-p .
                                          tramp-gvfs-file-name-handler)
                                         (tramp-rclone-file-name-p .
                                          tramp-rclone-file-name-handler)
                                         (tramp-smb-file-name-p .
                                          tramp-smb-file-name-handler)
                                         (tramp-sudoedit-file-name-p .
                                          tramp-sudoedit-file-name-handler)
                                         (identity . tramp-sh-file-name-handler))
 tramp-ftp-method "ftp"
 tramp-gio-events '("attribute-changed" "changed" "changes-done-hint" "created" "deleted"
                    "moved" "pre-unmount" "unmounted")
 tramp-goa-methods '("gdrive" "nextcloud")
 tramp-goa-service "org.gnome.OnlineAccounts"
 tramp-gvfs-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-gvfs-handle-copy-file)
                                      (delete-directory .
                                       tramp-gvfs-handle-delete-directory)
                                      (delete-file . tramp-gvfs-handle-delete-file)
                                      (directory-file-name .
                                       tramp-handle-directory-file-name)
                                      (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-gvfs-handle-expand-file-name)
                                      (file-accessible-directory-p .
                                       tramp-handle-file-accessible-directory-p)
                                      (file-acl . ignore)
                                      (file-attributes . tramp-gvfs-handle-file-attributes)
                                      (file-directory-p . tramp-handle-file-directory-p)
                                      (file-equal-p . tramp-handle-file-equal-p)
                                      (file-executable-p .
                                       tramp-gvfs-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-gvfs-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 .
                                       tramp-gvfs-handle-file-notify-add-watch)
                                      (file-notify-rm-watch .
                                       tramp-handle-file-notify-rm-watch)
                                      (file-notify-valid-p .
                                       tramp-handle-file-notify-valid-p)
                                      (file-ownership-preserved-p . ignore)
                                      (file-readable-p . tramp-gvfs-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-gvfs-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-handle-insert-file-contents)
                                      (load . tramp-handle-load)
                                      (make-auto-save-file-name .
                                       tramp-handle-make-auto-save-file-name)
                                      (make-directory . tramp-gvfs-handle-make-directory)
                                      (make-directory-internal . ignore)
                                      (make-nearby-temp-file .
                                       tramp-handle-make-nearby-temp-file)
                                      (make-process . ignore)
                                      (make-symbolic-link . tramp-handle-make-symbolic-link)
                                      (process-file . ignore)
                                      (rename-file . tramp-gvfs-handle-rename-file)
                                      (set-file-acl . ignore)
                                      (set-file-modes . tramp-gvfs-handle-set-file-modes)
                                      (set-file-selinux-context . ignore)
                                      (set-file-times . tramp-gvfs-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-get-remote-gid .
                                       tramp-gvfs-handle-get-remote-gid)
                                      (tramp-get-remote-uid .
                                       tramp-gvfs-handle-get-remote-uid)
                                      (tramp-set-file-uid-gid .
                                       tramp-gvfs-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-handle-write-region))
 tramp-gvfs-methods '("afp" "dav" "davs" "gdrive" "media" "nextcloud" "sftp")
 tramp-gvfs-service-afc-volumemonitor "org.gtk.vfs.AfcVolumeMonitor"
 tramp-gvfs-service-gphoto2-volumemonitor "org.gtk.vfs.GPhoto2VolumeMonitor"
 tramp-gvfs-service-mtp-volumemonitor "org.gtk.vfs.MTPVolumeMonitor"
 tramp-gvfs-zeroconf-domain "local"
 tramp-handle-file-local-copy-hook nil
 tramp-handle-write-region-hook nil
 tramp-hexdump-awk-encode "%h -v -e '16/1 \" %%02x\" \"\\n\"' | %a '\\\nBEGIN {\n  b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n  b16 = \"0123456789abcdef\"\n}\n{\n  for (c=1; c<=length($0); c++) {\n    d=index(b16, substr($0,c,1))\n    if (d--) {\n      for (b=1; b<=4; b++) {\n        o=o*2+int(d/8); d=(d*2)%%16\n        if (++obc==6) {\n          printf substr(b64,o+1,1)\n          if (++rc>75) { printf \"\\n\"; rc=0 }\n          obc=0; o=0\n        }\n      }\n    }\n  }\n}\nEND {\n  if (obc) {\n    tail=(obc==2) ? \"==\\n\" : \"=\\n\"\n    while (obc++<6) { o=o*2 }\n    printf \"%%c\", substr(b64,o+1,1)\n  } else {\n    tail=\"\\n\"\n  }\n  printf tail\n}'"
 tramp-hexdump-encode "%h -v -e '16/1 \" %%02x\" \"\\n\"'"
 tramp-histfile-override "~/.tramp_history"
 tramp-host-regexp "[[:alnum:]_.%-]+"
 tramp-host-with-port-regexp "\\([[:alnum:]_.%-]+\\)#\\([[:digit:]]+\\)"
 tramp-ignored-file-name-regexp nil
 tramp-inhibit-progress-reporter nil
 tramp-initial-end-of-output "#$ "
 tramp-initial-file-name-regexp "\\`/[^/:]+:[^/:]*:"
 tramp-inline-compress-commands '(("env GZIP= gzip" "env GZIP= gzip -d")
                                  ("bzip2" "bzip2 -d") ("xz" "xz -d")
                                  ("zstd --rm" "zstd -d --rm") ("compress" "compress -d"))
 tramp-inline-compress-start-size 4096
 tramp-inodes 0
 tramp-integration-unload-hook '(#[0 "\301\302\236\"\301\303\236\"\211\207"
                                   [ivy-completing-read-handlers-alist delete
                                    tramp-these-rename-files tramp-rename-files]
                                   3]
                                 )
 tramp-ipv6-regexp "\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+"
 tramp-local-coding-commands '((b64 base64-encode-region base64-decode-region)
                               (uu tramp-uuencode-region uudecode-decode-region)
                               (pack
                                "%p -e 'binmode STDIN; binmode STDOUT; print pack(q{u*}, join q{}, <>)' %n" "%p -e 'binmode STDIN; binmode STDOUT; print unpack(q{u*}, join q{}, <>)' %n")
                               )
 tramp-local-end-of-line "\n"
 tramp-local-host-regexp "\\`\\(127\\.0\\.0\\.1\\|::1\\|Oldtown\\|localhost6?\\)\\'"
 tramp-localname-regexp '(decode-coding-string (base64-decode-string "W14KDV0qXCc=")
                          'raw-text)
 tramp-locked nil
 tramp-locker nil
 tramp-login-prompt-regexp ".*\\(user\\|login\\)\\( .*\\)?: *"
 tramp-media-methods '("afc" "gphoto2" "mtp")
 tramp-method-regexp "[[:alnum:]-]+"
 tramp-method-regexp-alist '((default . "[[:alnum:]-]+") (simplified . "")
                             (separate . "[[:alnum:]-]*"))
 tramp-methods '(("adb" (tramp-login-program "adb") (tramp-login-args (("shell")))
                  (tramp-tmpdir "/data/local/tmp") (tramp-default-port 5555))
                 ("ftp") ("sftp") ("nextcloud") ("media") ("gdrive") ("davs") ("dav")
                 ("afp")
                 ("rclone" (tramp-mount-args nil) (tramp-copyto-args nil)
                  (tramp-moveto-args nil) (tramp-about-args ("--full")))
                 ("fcp" (tramp-login-program "fsh")
                  (tramp-login-args (("%h") ("-l" "%u") ("sh" "-i")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-i") ("-c")) (tramp-copy-program "fcp")
                  (tramp-copy-args (("-p" "%k"))) (tramp-copy-keep-date t))
                 ("psftp" (tramp-login-program "plink")
                  (tramp-login-args
                   (("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"")
                    ("env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ '") ("%l") ("\""))
                   )
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-copy-program "pscp")
                  (tramp-copy-args (("-l" "%u") ("-P" "%p") ("-sftp") ("-p" "%k") ("-q")))
                  (tramp-copy-keep-date t))
                 ("pscp" (tramp-login-program "plink")
                  (tramp-login-args
                   (("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"")
                    ("env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ '") ("%l") ("\""))
                   )
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-copy-program "pscp")
                  (tramp-copy-args
                   (("-l" "%u") ("-P" "%p") ("-scp") ("-p" "%k") ("-q") ("-r")))
                  (tramp-copy-keep-date t) (tramp-copy-recursive t))
                 ("plinkx" (tramp-login-program "plink")
                  (tramp-login-args
                   (("-load") ("%h") ("-t") ("\"")
                    ("env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ '") ("%l") ("\""))
                   )
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")))
                 ("plink" (tramp-login-program "plink")
                  (tramp-login-args
                   (("-l" "%u") ("-P" "%p") ("-ssh") ("-t") ("%h") ("\"")
                    ("env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ '") ("%l") ("\""))
                   )
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")))
                 ("krlogin" (tramp-login-program "krlogin")
                  (tramp-login-args (("%h") ("-l" "%u") ("-x")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")))
                 ("ksu" (tramp-login-program "ksu") (tramp-login-args (("%u") ("-q")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10))
                 ("doas" (tramp-login-program "doas")
                  (tramp-login-args (("-u" "%u") ("-s"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10)
                  (tramp-session-timeout 300))
                 ("sudo" (tramp-login-program "sudo")
                  (tramp-login-args
                   (("-u" "%u") ("-s") ("-H")
                    ("-p" "P\"\"a\"\"s\"\"s\"\"w\"\"o\"\"r\"\"d\"\":") ("%l"))
                   )
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10)
                  (tramp-session-timeout 300))
                 ("sg" (tramp-login-program "sg") (tramp-login-args (("-") ("%u")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c"))
                  (tramp-connection-timeout 10))
                 ("su" (tramp-login-program "su") (tramp-login-args (("-") ("%u")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-connection-timeout 10))
                 ("nc" (tramp-login-program "telnet")
                  (tramp-login-args (("%h") ("%p") ("%n"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))
                  (tramp-copy-program "nc")
                  (tramp-copy-args (("-w" "1") ("-v") ("%h") ("%r")))
                  (tramp-remote-copy-program "nc")
                  (tramp-remote-copy-args (("-l") ("-p" "%r") ("%n"))))
                 ("telnet" (tramp-login-program "telnet")
                  (tramp-login-args (("%h") ("%p") ("%n"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")))
                 ("sshx" (tramp-login-program "ssh")
                  (tramp-login-args
                   (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("%h") ("%l")))
                  (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")))
                 ("ssh" (tramp-login-program "ssh")
                  (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h")))
                  (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")))
                 ("remsh" (tramp-login-program "remsh")
                  (tramp-login-args (("%h") ("-l" "%u"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c")))
                 ("rsh" (tramp-login-program "rsh") (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")))
                 ("rsync" (tramp-login-program "ssh")
                  (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h")))
                  (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))
                  (tramp-copy-program "rsync")
                  (tramp-copy-args (("-t" "%k") ("-p") ("-r") ("-s") ("-c")))
                  (tramp-copy-env (("RSYNC_RSH") ("ssh" "%c"))) (tramp-copy-keep-date t)
                  (tramp-copy-keep-tmpfile t) (tramp-copy-recursive t))
                 ("scpx" (tramp-login-program "ssh")
                  (tramp-login-args
                   (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("%h") ("%l")))
                  (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))
                  (tramp-copy-program "scp")
                  (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") ("%c")))
                  (tramp-copy-keep-date t) (tramp-copy-recursive t))
                 ("scp" (tramp-login-program "ssh")
                  (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h")))
                  (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))
                  (tramp-copy-program "scp")
                  (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") ("%c")))
                  (tramp-copy-keep-date t) (tramp-copy-recursive t))
                 ("remcp" (tramp-login-program "remsh")
                  (tramp-login-args (("%h") ("-l" "%u"))) (tramp-remote-shell "/bin/sh")
                  (tramp-remote-shell-login ("-l")) (tramp-remote-shell-args ("-c"))
                  (tramp-copy-program "rcp") (tramp-copy-args (("-p" "%k")))
                  (tramp-copy-keep-date t))
                 ("rcp" (tramp-login-program "rsh") (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-remote-shell "/bin/sh") (tramp-remote-shell-login ("-l"))
                  (tramp-remote-shell-args ("-c")) (tramp-copy-program "rcp")
                  (tramp-copy-args (("-p" "%k") ("-r"))) (tramp-copy-keep-date t)
                  (tramp-copy-recursive t))
                 ("smb" (tramp-tmpdir "/C$/Temp") (tramp-case-insensitive t))
                 ("sudoedit"
                  (tramp-sudo-login
                   (("sudo") ("-u" "%u") ("-S") ("-H") ("-p" "Password:") ("--")))
                  )
                 )
 tramp-mode t
 tramp-od-awk-encode "%o -v -t x1 -A n | %a '\\\nBEGIN {\n  b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"\n  b16 = \"0123456789abcdef\"\n}\n{\n  for (c=1; c<=length($0); c++) {\n    d=index(b16, substr($0,c,1))\n    if (d--) {\n      for (b=1; b<=4; b++) {\n        o=o*2+int(d/8); d=(d*2)%%16\n        if (++obc==6) {\n          printf substr(b64,o+1,1)\n          if (++rc>75) { printf \"\\n\"; rc=0 }\n          obc=0; o=0\n        }\n      }\n    }\n  }\n}\nEND {\n  if (obc) {\n    tail=(obc==2) ? \"==\\n\" : \"=\\n\"\n    while (obc++<6) { o=o*2 }\n    printf \"%%c\", substr(b64,o+1,1)\n  } else {\n    tail=\"\\n\"\n  }\n  printf tail\n}'"
 tramp-od-encode "%o -v -t x1 -A n"
 tramp-operation-not-permitted-regexp "\\(preserving times.*\\|set mode\\):\\s-*\\(Operation not permitted\\)"
 tramp-password-prompt-regexp '(decode-coding-string
                                (base64-decode-string
                                 "Xi4qXChcKD86YWRnYW5nc2tvZGVcfGNvbnRyYXNlXCg/OlwoPzpueVx8w7FcKWFcKVx8Z2VzbG9c\nfGhcKD86XCg/OmFzxYJcfGVzbFwpb1wpXHxpcGhhc2l3ZWRpXHxqZWxzesOzXHxsXCg/Om96aW5r\nYVx8w7ZzZW5vcmRcKVx8bVwoPzpvdCBkZSBwYXNzZVx84bqtdCBraOG6qXVcKVx8cFwoPzphXCg/\nOnJvbGFcfHNcKD86YWhpdHphXHxzXCg/OiBwaHJhc2VcfGNvZGVcfG9yZFx8cGhyYXNlXHx3b3Jb\nZHRdXClcfHZvcnRvXClcKVx8aW5cKVx8c1woPzphbGFzYW5hXHxlbmhhXHxsYXB0YcW+b2Rpc1wp\nXHx3YWNodHdvb3JkXHzQu9C+0LfQuNC90LrQsFx80L/QsNGA0L7Qu9GMXHzXodeh157XlFx82YPZ\nhNmF2Kkg2KfZhNiz2LFcfOCkl+ClgeCkquCljeCkpOCktuCkrOCljeCkplx84KS24KSs4KWN4KSm\n4KSV4KWC4KSfXHzgppfgp4Hgpqrgp43gpqTgprbgpqzgp43gpqZcfOCmquCmvuCmuOCmk+Cnn+Cm\nvuCmsOCnjeCmoVx84Kiq4Ki+4Ki44Ki14Kiw4KihXHzgqqrgqr7gqrjgqrXgqrDgq43gqqFcfOCs\nquCtjeCssOCsrOCth+CstiDgrLjgrJngrY3grJXgrYfgrKRcfOCuleCun+CuteCvgeCumuCvjeCu\nmuCviuCusuCvjVx84LC44LCC4LCV4LGH4LCk4LCq4LCm4LCu4LGBXHzgspfgs4Hgsqrgs43gsqTg\nsqrgsqZcfOC0heC0n+C0r+C0vuC0s+C0teC0vuC0leC1jeC0leC1jVx84La74LeE4LeD4LeK4La0\n4Lav4La6XHzhnpbhnrbhnoDhn5Lhnpnhnp/hnpjhn5LhnoThnrbhno/hn4tcfOODkeOCueODr+OD\nvOODiVx85a+GW+eggeeivF1cfOyVlO2YuFwpXCkuKjoAPyAq")
                                'raw-text)
 tramp-perl-decode "%p -e '\n# This script contributed by Juanma Barranquero <[hidden email]>.\n# Copyright (C) 2002-2020 Free Software Foundation, Inc.\nuse strict;\n\nmy %%trans = do {\n    my $i = 0;\n    map {($_, substr(unpack(q(B8), chr $i++), 2, 6))}\n      split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)\n};\n\nmy %%bytes = map {(unpack(q(B8), chr $_), chr $_)} 0 .. 255;\n\nbinmode(\\*STDOUT);\n\n# We are going to accumulate into $pending to accept any line length\n# (we do not check they are <= 76 chars as the RFC says)\nmy $pending = q();\n\nwhile (my $data = <STDIN>) {\n    chomp $data;\n\n    # If we find one or two =, we have reached the end and\n    # any following data is to be discarded\n    my $finished = $data =~ s/(==?).*/$1/;\n    $pending .= $data;\n\n    my $len = length($pending);\n    my $chunk = substr($pending, 0, $len & ~3);\n    $pending = substr($pending, $len & ~3 + 1);\n\n    # Easy method: translate from chars to (pregenerated) six-bit packets, join,\n    # split in 8-bit chunks and convert back to char.\n    print join q(),\n      map $bytes{$_},\n        ((join q(), map {$trans{$_} || q()} split //, $chunk) =~ /......../g);\n\n    last if $finished;\n}' %n"
 tramp-perl-decode-with-module "%p -MMIME::Base64 -0777 -ne 'print decode_base64($_)' %n"
 tramp-perl-directory-files-and-attributes "%p -e '\nchdir($ARGV[0]) or printf(\"\\\"Cannot change to $ARGV[0]: $''!''\\\"\\n\"), exit();\nopendir(DIR,\".\") or printf(\"\\\"Cannot open directory $ARGV[0]: $''!''\\\"\\n\"), exit();\n@list = readdir(DIR);\nclosedir(DIR);\n$n = scalar(@list);\nprintf(\"(\\n\");\nfor($i = 0; $i < $n; $i++)\n{\n    $filename = $list[$i];\n    @stat = lstat($filename);\n    if (($stat[2] & 0170000) == 0120000)\n    {\n        $type = readlink($filename);\n        $type =~ s/\"/\\\\\"/g;\n        $type = \"\\\"$type\\\"\";\n    }\n    elsif (($stat[2] & 0170000) == 040000)\n    {\n        $type = \"t\";\n    }\n    else\n    {\n        $type = \"nil\"\n    };\n    $uid = ($ARGV[1] eq \"integer\") ? $stat[4] : \"\\\"\" . getpwuid($stat[4]) . \"\\\"\";\n    $gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\";\n    $filename =~ s/\"/\\\\\"/g;\n    printf(\n        \"(\\\"%%s\\\" %%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u %%u t %%u -1)\\n\",\n        $filename,\n        $type,\n        $stat[3],\n        $uid,\n        $gid,\n        $stat[8] >> 16 & 0xffff,\n        $stat[8] & 0xffff,\n        $stat[9] >> 16 & 0xffff,\n        $stat[9] & 0xffff,\n        $stat[10] >> 16 & 0xffff,\n        $stat[10] & 0xffff,\n        $stat[7],\n        $stat[2],\n        $stat[1]);\n}\nprintf(\")\\n\");' \"$1\" \"$2\" %n"
 tramp-perl-encode "%p -e '\n# This script contributed by Juanma Barranquero <[hidden email]>.\n# Copyright (C) 2002-2020 Free Software Foundation, Inc.\nuse strict;\n\nmy %%trans = do {\n    my $i = 0;\n    map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)}\n      split //, q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);\n};\nmy $data;\n\n# We read in chunks of 54 bytes, to generate output lines\n# of 72 chars (plus end of line)\nwhile (read STDIN, $data, 54) {\n    my $pad = q();\n\n    # Only for the last chunk, and only if did not fill the last\n    # three-byte packet\n    if (eof) {\n        my $mod = length($data) %% 3;\n        $pad = q(=) x (3 - $mod) if $mod;\n    }\n\n    # Not the fastest method, but it is simple: unpack to binary string, split\n    # by groups of 6 bits and convert back from binary to byte; then map into\n    # the translation table\n    print\n      join q(),\n        map($trans{$_},\n            (substr(unpack(q(B*), $data) . q(00000), 0, 432) =~ /....../g)),\n              $pad,\n                qq(\\n);\n}' %n"
 tramp-perl-encode-with-module "%p -MMIME::Base64 -0777 -ne 'print encode_base64($_)' %n"
 tramp-perl-file-attributes "%p -e '\n@stat = lstat($ARGV[0]);\nif (!@stat) {\n    print \"nil\\n\";\n    exit 0;\n}\nif (($stat[2] & 0170000) == 0120000)\n{\n    $type = readlink($ARGV[0]);\n    $type =~ s/\"/\\\\\"/g;\n    $type = \"\\\"$type\\\"\";\n}\nelsif (($stat[2] & 0170000) == 040000)\n{\n    $type = \"t\";\n}\nelse\n{\n    $type = \"nil\"\n};\n$uid = ($ARGV[1] eq \"integer\") ? $stat[4] : \"\\\"\" . getpwuid($stat[4]) . \"\\\"\";\n$gid = ($ARGV[1] eq \"integer\") ? $stat[5] : \"\\\"\" . getgrgid($stat[5]) . \"\\\"\";\nprintf(\n    \"(%%s %%u %%s %%s (%%u %%u) (%%u %%u) (%%u %%u) %%u %%u t %%u -1)\\n\",\n    $type,\n    $stat[3],\n    $uid,\n    $gid,\n    $stat[8] >> 16 & 0xffff,\n    $stat[8] & 0xffff,\n    $stat[9] >> 16 & 0xffff,\n    $stat[9] & 0xffff,\n    $stat[10] >> 16 & 0xffff,\n    $stat[10] & 0xffff,\n    $stat[7],\n    $stat[2],\n    $stat[1]\n);' \"$1\" \"$2\" %n"
 tramp-perl-file-name-all-completions "%p -e '\nopendir(d, $ARGV[0]) || die(\"$ARGV[0]: $!\\nfail\\n\");\n@files = readdir(d); closedir(d);\nforeach $f (@files) {\n if (-d \"$ARGV[0]/$f\") {\n  print \"$f/\\n\";\n }\n else {\n  print \"$f\\n\";\n }\n}\nprint \"ok\\n\"\n' \"$1\" %n"
 tramp-perl-file-truename "%p -e '\nuse File::Spec;\nuse Cwd \"realpath\";\n\nsub myrealpath {\n    my ($file) = @_;\n    return realpath($file) if (-e $file || -l $file);\n}\n\nsub recursive {\n    my ($volume, @dirs) = @_;\n    my $real = myrealpath(File::Spec->catpath(\n                   $volume, File::Spec->catdir(@dirs), \"\"));\n    if ($real) {\n        my ($vol, $dir) = File::Spec->splitpath($real, 1);\n        return ($vol, File::Spec->splitdir($dir));\n    }\n    else {\n        my $last = pop(@dirs);\n        ($volume, @dirs) = recursive($volume, @dirs);\n        push(@dirs, $last);\n        return ($volume, @dirs);\n    }\n}\n\n$result = myrealpath($ARGV[0]);\nif (!$result) {\n    my ($vol, $dir) = File::Spec->splitpath($ARGV[0], 1);\n    ($vol, @dirs) = recursive($vol, File::Spec->splitdir($dir));\n\n    $result = File::Spec->catpath($vol, File::Spec->catdir(@dirs), \"\");\n}\n\n$result =~ s/\"/\\\\\"/g;\nprint \"\\\"$result\\\"\\n\";\n' \"$1\" %n"
 tramp-perl-pack "%p -e 'binmode STDIN; binmode STDOUT; print pack(q{u*}, join q{}, <>)' %n"
 tramp-perl-unpack "%p -e 'binmode STDIN; binmode STDOUT; print unpack(q{u*}, join q{}, <>)' %n"
 tramp-persistency-file-name "/home/blahgeek/.emacs.d/tramp"
 tramp-port-regexp "[[:digit:]]+"
 tramp-postfix-hop-format "|"
 tramp-postfix-hop-regexp "|"
 tramp-postfix-host-format ":"
 tramp-postfix-host-format-alist '((default . ":") (simplified . ":") (separate . "]"))
 tramp-postfix-host-regexp ":"
 tramp-postfix-ipv6-format "]"
 tramp-postfix-ipv6-format-alist '((default . "]") (simplified . "]") (separate . ""))
 tramp-postfix-ipv6-regexp "]"
 tramp-postfix-method-format ":"
 tramp-postfix-method-format-alist '((default . ":") (simplified . "") (separate . "/"))
 tramp-postfix-method-regexp ":"
 tramp-postfix-user-format "@"
 tramp-postfix-user-regexp "@"
 tramp-prefix-domain-format "%"
 tramp-prefix-domain-regexp "%"
 tramp-prefix-format "/"
 tramp-prefix-format-alist '((default . "/") (simplified . "/") (separate . "/["))
 tramp-prefix-ipv6-format "["
 tramp-prefix-ipv6-format-alist '((default . "[") (simplified . "[") (separate . ""))
 tramp-prefix-ipv6-regexp "\\["
 tramp-prefix-port-format "#"
 tramp-prefix-port-regexp "#"
 tramp-prefix-regexp "^/"
 tramp-process-alive-regexp ""
 tramp-process-connection-type t
 tramp-rclone-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-rclone-handle-copy-file)
                                        (delete-directory .
                                         tramp-rclone-handle-delete-directory)
                                        (delete-file . tramp-rclone-handle-delete-file)
                                        (directory-file-name .
                                         tramp-handle-directory-file-name)
                                        (directory-files .
                                         tramp-rclone-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-handle-expand-file-name)
                                        (file-accessible-directory-p .
                                         tramp-handle-file-accessible-directory-p)
                                        (file-acl . ignore)
                                        (file-attributes .
                                         tramp-rclone-handle-file-attributes)
                                        (file-directory-p . tramp-handle-file-directory-p)
                                        (file-equal-p . tramp-handle-file-equal-p)
                                        (file-executable-p .
                                         tramp-rclone-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-rclone-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-rclone-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-rclone-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-handle-insert-file-contents)
                                        (load . tramp-handle-load)
                                        (make-auto-save-file-name .
                                         tramp-handle-make-auto-save-file-name)
                                        (make-directory .
                                         tramp-rclone-handle-make-directory)
                                        (make-directory-internal . ignore)
                                        (make-nearby-temp-file .
                                         tramp-handle-make-nearby-temp-file)
                                        (make-process . ignore)
                                        (make-symbolic-link .
                                         tramp-handle-make-symbolic-link)
                                        (process-file . ignore)
                                        (rename-file . tramp-rclone-handle-rename-file)
                                        (set-file-acl . ignore) (set-file-modes . ignore)
                                        (set-file-selinux-context . ignore)
                                        (set-file-times . ignore)
                                        (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-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-handle-write-region))
 tramp-rclone-method "rclone"
 tramp-rclone-program "rclone"
 tramp-remote-coding-commands '((b64 "base64" "base64 -d -i") (b64 "base64" "base64 -d")
                                (b64 "openssl enc -base64" "openssl enc -d -base64")
                                (b64 "mimencode -b" "mimencode -u -b")
                                (b64 "mmencode -b" "mmencode -u -b")
                                (b64 "recode data..base64" "recode base64..data")
                                (b64 tramp-perl-encode-with-module
                                 tramp-perl-decode-with-module)
                                (b64 tramp-perl-encode tramp-perl-decode)
                                (b64 tramp-hexdump-awk-encode tramp-awk-decode)
                                (b64 tramp-od-awk-encode tramp-awk-decode)
                                (uu "uuencode xxx" "uudecode -o /dev/stdout"
                                 "test -c /dev/stdout")
                                (uu "uuencode xxx" "uudecode -o -")
                                (uu "uuencode xxx" "uudecode -p")
                                (uu "uuencode xxx" tramp-uudecode)
                                (pack tramp-perl-pack tramp-perl-unpack))
 tramp-remote-file-name-spec-regexp "\\([[:alnum:]-]+\\):\\(?:\\([^/|: ]+\\)@\\)?\\(\\(?:[[:alnum:]_.%-]+\\|\\[\\(?:\\(?:[[:alnum:]]*:\\)+[[:alnum:].]+\\)?]\\)\\(?:#[[:digit:]]+\\)?\\)?"
 tramp-remote-path '(tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin"
                     "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin"
                     "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin"
                     "/opt/bin" "/opt/sbin" "/opt/local/bin")
 tramp-remote-process-environment '("ENV=''" "TMOUT=0" "LC_CTYPE=''" "CDPATH=" "HISTORY="
                                    "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=cat"
                                    "autocorrect=" "correct=")
 tramp-repository-branch nil
 tramp-repository-version nil
 tramp-restricted-shell-hosts-alist nil
 tramp-rfn-eshadow-overlay nil
 tramp-rsh-end-of-line "\n"
 tramp-save-ad-hoc-proxies nil
 tramp-sh-extra-args '(("/bash\\'" . "-noediting -norc -noprofile")
                       ("/zsh\\'" . "-f +Z -V"))
 tramp-sh-file-name-handler-alist '((access-file . tramp-handle-access-file)
                                    (add-name-to-file . tramp-sh-handle-add-name-to-file)
                                    (copy-directory . tramp-sh-handle-copy-directory)
                                    (copy-file . tramp-sh-handle-copy-file)
                                    (delete-directory . tramp-sh-handle-delete-directory)
                                    (delete-file . tramp-sh-handle-delete-file)
                                    (directory-file-name . tramp-handle-directory-file-name)
                                    (directory-files . tramp-handle-directory-files)
                                    (directory-files-and-attributes .
                                     tramp-sh-handle-directory-files-and-attributes)
                                    (dired-compress-file .
                                     tramp-sh-handle-dired-compress-file)
                                    (dired-uncache . tramp-handle-dired-uncache)
                                    (exec-path . tramp-sh-handle-exec-path)
                                    (expand-file-name . tramp-sh-handle-expand-file-name)
                                    (file-accessible-directory-p .
                                     tramp-handle-file-accessible-directory-p)
                                    (file-acl . tramp-sh-handle-file-acl)
                                    (file-attributes . tramp-sh-handle-file-attributes)
                                    (file-directory-p . tramp-sh-handle-file-directory-p)
                                    (file-equal-p . tramp-handle-file-equal-p)
                                    (file-executable-p . tramp-sh-handle-file-executable-p)
                                    (file-exists-p . tramp-sh-handle-file-exists-p)
                                    (file-in-directory-p . tramp-handle-file-in-directory-p)
                                    (file-local-copy . tramp-sh-handle-file-local-copy)
                                    (file-modes . tramp-handle-file-modes)
                                    (file-name-all-completions .
                                     tramp-sh-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-sh-handle-file-newer-than-file-p)
                                    (file-notify-add-watch .
                                     tramp-sh-handle-file-notify-add-watch)
                                    (file-notify-rm-watch .
                                     tramp-handle-file-notify-rm-watch)
                                    (file-notify-valid-p . tramp-handle-file-notify-valid-p)
                                    (file-ownership-preserved-p .
                                     tramp-sh-handle-file-ownership-preserved-p)
                                    (file-readable-p . tramp-sh-handle-file-readable-p)
                                    (file-regular-p . tramp-handle-file-regular-p)
                                    (file-remote-p . tramp-handle-file-remote-p)
                                    (file-selinux-context .
                                     tramp-sh-handle-file-selinux-context)
                                    (file-symlink-p . tramp-handle-file-symlink-p)
                                    (file-system-info . tramp-sh-handle-file-system-info)
                                    (file-truename . tramp-sh-handle-file-truename)
                                    (file-writable-p . tramp-sh-handle-file-writable-p)
                                    (find-backup-file-name .
                                     tramp-handle-find-backup-file-name)
                                    (insert-directory . tramp-sh-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-sh-handle-make-directory)
                                    (make-nearby-temp-file .
                                     tramp-handle-make-nearby-temp-file)
                                    (make-process . tramp-sh-handle-make-process)
                                    (make-symbolic-link .
                                     tramp-sh-handle-make-symbolic-link)
                                    (process-file . tramp-sh-handle-process-file)
                                    (rename-file . tramp-sh-handle-rename-file)
                                    (set-file-acl . tramp-sh-handle-set-file-acl)
                                    (set-file-modes . tramp-sh-handle-set-file-modes)
                                    (set-file-selinux-context .
                                     tramp-sh-handle-set-file-selinux-context)
                                    (set-file-times . tramp-sh-handle-set-file-times)
                                    (set-visited-file-modtime .
                                     tramp-sh-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 . tramp-sh-handle-get-remote-gid)
                                    (tramp-get-remote-uid . tramp-sh-handle-get-remote-uid)
                                    (tramp-set-file-uid-gid .
                                     tramp-sh-handle-set-file-uid-gid)
                                    (unhandled-file-name-directory . ignore)
                                    (vc-registered . tramp-sh-handle-vc-registered)
                                    (verify-visited-file-modtime .
                                     tramp-sh-handle-verify-visited-file-modtime)
                                    (write-region . tramp-sh-handle-write-region))
 tramp-shell-prompt-pattern '(decode-coding-string
                              (base64-decode-string
                               "XCg/Ol5cfA1cKVteXSMkJT4KXSojP1tdIyQlPl0gKlwoG1xbW1s6ZGlnaXQ6XTtdKltbOmFscGhh\nOl1dICpcKSo=")
                              'raw-text)
 tramp-smb-acl-program "smbcacls"
 tramp-smb-conf "/dev/null"
 tramp-smb-file-name-handler-alist '((access-file . tramp-handle-access-file)
                                     (add-name-to-file . tramp-smb-handle-add-name-to-file)
                                     (copy-directory . tramp-smb-handle-copy-directory)
                                     (copy-file . tramp-smb-handle-copy-file)
                                     (delete-directory . tramp-smb-handle-delete-directory)
                                     (delete-file . tramp-smb-handle-delete-file)
                                     (directory-file-name .
                                      tramp-handle-directory-file-name)
                                     (directory-files . tramp-smb-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-smb-handle-expand-file-name)
                                     (file-accessible-directory-p .
                                      tramp-handle-file-accessible-directory-p)
                                     (file-acl . tramp-smb-handle-file-acl)
                                     (file-attributes . tramp-smb-handle-file-attributes)
                                     (file-directory-p . tramp-handle-file-directory-p)
                                     (file-file-equal-p . tramp-handle-file-equal-p)
                                     (file-executable-p . tramp-handle-file-exists-p)
                                     (file-exists-p . tramp-handle-file-exists-p)
                                     (file-in-directory-p .
                                      tramp-handle-file-in-directory-p)
                                     (file-local-copy . tramp-smb-handle-file-local-copy)
                                     (file-modes . tramp-handle-file-modes)
                                     (file-name-all-completions .
                                      tramp-smb-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 .
                                      tramp-handle-file-notify-add-watch)
                                     (file-notify-rm-watch .
                                      tramp-handle-file-notify-rm-watch)
                                     (file-notify-valid-p .
                                      tramp-handle-file-notify-valid-p)
                                     (file-ownership-preserved-p . ignore)
                                     (file-readable-p . tramp-handle-file-exists-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-smb-handle-file-system-info)
                                     (file-truename . tramp-handle-file-truename)
                                     (file-writable-p . tramp-smb-handle-file-writable-p)
                                     (find-backup-file-name .
                                      tramp-handle-find-backup-file-name)
                                     (insert-directory . tramp-smb-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-smb-handle-make-directory)
                                     (make-directory-internal .
                                      tramp-smb-handle-make-directory-internal)
                                     (make-nearby-temp-file .
                                      tramp-handle-make-nearby-temp-file)
                                     (make-process . ignore)
                                     (make-symbolic-link .
                                      tramp-smb-handle-make-symbolic-link)
                                     (process-file . tramp-smb-handle-process-file)
                                     (rename-file . tramp-smb-handle-rename-file)
                                     (set-file-acl . tramp-smb-handle-set-file-acl)
                                     (set-file-modes . tramp-smb-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-smb-handle-start-file-process)
                                     (substitute-in-file-name .
                                      tramp-smb-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-smb-handle-write-region))
 tramp-smb-method "smb"
 tramp-smb-options nil
 tramp-smb-program "smbclient"
 tramp-smb-winexe-program "winexe"
 tramp-smb-winexe-shell-command "powershell.exe"
 tramp-smb-winexe-shell-command-switch "-file -"
 tramp-ssh-controlmaster-options nil
 tramp-stat-marker "/////"
 tramp-stat-quoted-marker "\\/\\/\\/\\/\\/"
 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-get-remote-gid .
                                           tramp-sudoedit-handle-get-remote-gid)
                                          (tramp-get-remote-uid .
                                           tramp-sudoedit-handle-get-remote-uid)
                                          (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)
                                          )
 tramp-sudoedit-method "sudoedit"
 tramp-sunos-unames "\\(?:SunOS 5\\.1[01]\\)"
 tramp-syntax 'default
 tramp-system-name "Oldtown"
 tramp-temp-buffer-file-name nil
 tramp-temp-buffer-name " *tramp temp*"
 tramp-temp-name-prefix "tramp."
 tramp-terminal-prompt-regexp "\\(TERM = (.*)\\|Terminal type\\? \\[.*\\]\\)\\s-*"
 tramp-terminal-type "dumb"
 tramp-time-doesnt-exist '(-1 65535)
 tramp-time-dont-know '(0 0 0 1000)
 tramp-unknown-id-integer -1
 tramp-unknown-id-string "UNKNOWN"
 tramp-unload-hook '(#[0 "\300\301\302\"\207" [unload-feature tramp-cmds force] 3]
                     #[0 "\300\301\302\"\207" [unload-feature tramp-cache force] 3]
                     #[0 "\300\301\302\"\207" [unload-feature tramp-sh force] 3]
                     #[0 "\300\301\302\"\207"
                       [remove-hook interrupt-process-functions tramp-interrupt-process] 3]
                     #[0 "\300\301\302\"\207"
                       [remove-hook kill-buffer-hook tramp-delete-temp-file-function] 3]
                     tramp-unload-file-name-handlers
                     #[0 "\300\301\302\"\207" [unload-feature trampver force] 3]
                     #[0 "\300\301\302\"\207" [unload-feature tramp-integration force] 3]
                     #[0 "\300\301\302\"\207"
                       [remove-hook rfn-eshadow-update-overlay-hook
                        tramp-rfn-eshadow-update-overlay]
                       3]
                     #[0 "\300\301\302\"\207"
                       [remove-hook rfn-eshadow-setup-minibuffer-hook
                        tramp-rfn-eshadow-setup-minibuffer]
                       3]
                     #[0 "\300\301\302\"\210\300\303\302\"\207"
                       [unload-feature tramp-loaddefs force tramp-compat] 3]
                     )
 tramp-use-ssh-controlmaster-options t
 tramp-user-regexp "[^/|: ]+"
 tramp-user-with-domain-regexp "\\([^/|: ]+\\)%\\([[:alnum:]_.-]+\\)"
 tramp-uudecode "(echo begin 600 %t; tail -n +2) | uudecode\ncat %t\nrm -f %t"
 tramp-vc-registered-file-names nil
 tramp-vc-registered-read-file-names "echo \"(\"\nwhile read file; do\n    quoted=`echo \"$file\" | sed -e \"s/\\\"/\\\\\\\\\\\\\\\\\\\"/\"`\n    if %s \"$file\"; then\n echo \"(\\\"$quoted\\\" \\\"file-exists-p\\\" t)\"\n    else\n echo \"(\\\"$quoted\\\" \\\"file-exists-p\\\" nil)\"\n    fi\n    if %s \"$file\"; then\n echo \"(\\\"$quoted\\\" \\\"file-readable-p\\\" t)\"\n    else\n echo \"(\\\"$quoted\\\" \\\"file-readable-p\\\" nil)\"\n    fi\ndone\necho \")\""
 tramp-verbose 3
 tramp-version "2.5.0-pre"
 tramp-wrong-passwd-regexp "^.*\\(Connection \\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login \\(?:[Ii]ncorrect\\)\\|N\\(?:ame or service not known\\|o supported authentication methods left to try!\\)\\|Permission denied\\|\\(?:Sorry, try again\\|Timeout, server not responding\\)\\.\\).*\\|^.*\\(Received signal [[:digit:]]+\\).*"
 tramp-yesno-prompt-regexp "\\(Are you sure you want to continue connecting (yes/no\\(?:\\(?:/\\[fingerprint]\\)?)\\?\\)\\)\\s-*"
 tramp-yn-prompt-regexp "\\(\\(?:Store key in cache\\? (y/\\|Update cached key\\? (y/n, Return cancels connectio\\)n)\\)\\s-*"
 )

local variables:
================
;; *tramp/sudo root@Oldtown*
(setq-local
 connection-local-variables-alist '((shell-command-switch . "-c")
                                    (shell-file-name . "/bin/sh")
                                    (null-device . "/dev/null") (path-separator . ":"))
 default-directory #("/sudo:root@Oldtown:" 6 10 (tramp-default t) 11 18 (tramp-default t))
 )

load-path shadows:
==================

<#part type="text/plain" encoding=base64 disposition=attachment buffer="*tramp/sudo root@Oldtown*" description="*tramp/sudo root@Oldtown*">
<#/part>

Reply | Threaded
Open this post in threaded view
|

Re: tramp (2.5.0-pre nil/nil); Cannot write to /sudo::file in /boo t partition

Michael Albinus
"Yikai Zhao" <[hidden email]> writes:

> Hello,

Hi,

> When I open some file in FAT filesystem (/boot) using /sudo connection
> and then try to save the file, TRAMP will report error:
>
> "Copying directly failed, see buffer ... for details".
>
> But it seems that the file is saved regardless the error message.
>
> Is there anyway to suppress this message? Thanks!

Not sure what it is about. Could you pls set tramp-verbose to 10, and
rerun the test? There will be a debug buffer, which you might send us.

See also the Tramp manual for instructions how to produce the debug
buffer.

Best regards, Michael.

Reply | Threaded
Open this post in threaded view
|

=?UTF-8?Q?Re:_tramp_(2.5.0-pre_nil/nil); __Cannot_write_to_/sudo::file_in?= /boo t partition

Yikai Zhao
Hi,

Thanks for your reply. See attached for the debug output. I was editing /sudo::/boot/loader/entries/arch-lts.conf

On Sun, Dec 20, 2020, at 04:09, Michael Albinus wrote:

> "Yikai Zhao" <[hidden email]> writes:
>
> > Hello,
>
> Hi,
>
> > When I open some file in FAT filesystem (/boot) using /sudo connection
> > and then try to save the file, TRAMP will report error:
> >
> > "Copying directly failed, see buffer ... for details".
> >
> > But it seems that the file is saved regardless the error message.
> >
> > Is there anyway to suppress this message? Thanks!
>
> Not sure what it is about. Could you pls set tramp-verbose to 10, and
> rerun the test? There will be a debug buffer, which you might send us.
>
> See also the Tramp manual for instructions how to produce the debug
> buffer.
>
> Best regards, Michael.
>

tramp-debug.txt (358K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: tramp (2.5.0-pre nil/nil); Cannot write to /sudo::file in /boo t partition

Michael Albinus
"Yikai Zhao" <[hidden email]> writes:

> Hi,

Hi,

> Thanks for your reply. See attached for the debug output. I was
> editing /sudo::/boot/loader/entries/arch-lts.conf

Well, the traces show the following error:

> 23:28:38.730420 tramp-send-command (6) # cp -f -p /tmp/tramp.rIl2FY.conf /boot/loader/entries/arch-lts.conf 2>/dev/null; echo tramp_exit_status $?
> 23:28:38.731484 tramp-wait-for-regexp (6) #
> tramp_exit_status 1
> ///d0514a7856891f72297e3fca16f73535#$

There's a redirection in the command, so we don't see what
happens. Could you pls perform the following command in a root shell,
and tell what happens:

--8<---------------cut here---------------start------------->8---
# cp -f -p ~/.emacs /boot/loader/entries/.emacs
--8<---------------cut here---------------end--------------->8---

Thanks, and best regards, Michael.

Reply | Threaded
Open this post in threaded view
|

=?UTF-8?Q?Re:_tramp_(2.5.0-pre_nil/nil); __Cannot_write_to_/sudo::file_in?= /boo t partition

Yikai Zhao
OK I think I got it:

# sudo cp -f -p init.el /boot/init.el
cp: failed to preserve ownership for '/boot/init.el': Operation not permitted

cp returned non-zero code because the FAT filesystem (/boot) does not support file ownership etc (required by the -p argument). However the file actually get successfully copied.

On Mon, Dec 21, 2020, at 18:24, Michael Albinus wrote:

> "Yikai Zhao" <[hidden email]> writes:
>
> > Hi,
>
> Hi,
>
> > Thanks for your reply. See attached for the debug output. I was
> > editing /sudo::/boot/loader/entries/arch-lts.conf
>
> Well, the traces show the following error:
>
> > 23:28:38.730420 tramp-send-command (6) # cp -f -p /tmp/tramp.rIl2FY.conf /boot/loader/entries/arch-lts.conf 2>/dev/null; echo tramp_exit_status $?
> > 23:28:38.731484 tramp-wait-for-regexp (6) #
> > tramp_exit_status 1
> > ///d0514a7856891f72297e3fca16f73535#$
>
> There's a redirection in the command, so we don't see what
> happens. Could you pls perform the following command in a root shell,
> and tell what happens:
>
> --8<---------------cut here---------------start------------->8---
> # cp -f -p ~/.emacs /boot/loader/entries/.emacs
> --8<---------------cut here---------------end--------------->8---
>
> Thanks, and best regards, Michael.
>

Reply | Threaded
Open this post in threaded view
|

Re: tramp (2.5.0-pre nil/nil); Cannot write to /sudo::file in /boo t partition

Michael Albinus
"Yikai Zhao" <[hidden email]> writes:

Hi,

> OK I think I got it:
>
> # sudo cp -f -p init.el /boot/init.el
> cp: failed to preserve ownership for '/boot/init.el': Operation not permitted
>
> cp returned non-zero code because the FAT filesystem (/boot) does not
> support file ownership etc (required by the -p argument). However the
> file actually get successfully copied.

So likely, there isn't too much Tramp can do. Live with that error.

Best regards, Michael.

Reply | Threaded
Open this post in threaded view
|

=?UTF-8?Q?Re:_tramp_(2.5.0-pre_nil/nil); __Cannot_write_to_/sudo::file_in?= /boot partition

Yikai Zhao
Beside of getting the error message, the buffer will also remain in "unsaved" state which is annoying because emacs will then warn me when I close it.

I think this should be a fairly common use case (everyone's boot partition must be a FAT filesystem, right?) and it would be great to see it resolved by tramp.

Can we maybe detect this kind of error (by parsing the output of cp?) to ignore it? Or can we detect the destination filesystem type to drop the "-p" argument of cp? Or, at the very least, can we have a buffer-local option to control the arguments of the cp command?

On Mon, Dec 21, 2020, at 22:25, Michael Albinus wrote:

> "Yikai Zhao" <[hidden email]> writes:
>
> Hi,
>
> > OK I think I got it:
> >
> > # sudo cp -f -p init.el /boot/init.el
> > cp: failed to preserve ownership for '/boot/init.el': Operation not permitted
> >
> > cp returned non-zero code because the FAT filesystem (/boot) does not
> > support file ownership etc (required by the -p argument). However the
> > file actually get successfully copied.
>
> So likely, there isn't too much Tramp can do. Live with that error.
>
> Best regards, Michael.
>

Reply | Threaded
Open this post in threaded view
|

Re: tramp (2.5.0-pre nil/nil); Cannot write to /sudo::file in /boot partition

Michael Albinus
"Yikai Zhao" <[hidden email]> writes:

Hi,

> I think this should be a fairly common use case (everyone's boot
> partition must be a FAT filesystem, right?) and it would be great to
> see it resolved by tramp.

It doesn't seem to be fairly common. Otherwise, I would have seen such
bug reports the last 20 years.

> Can we maybe detect this kind of error (by parsing the output of cp?)
> to ignore it? Or can we detect the destination filesystem type to drop
> the "-p" argument of cp? Or, at the very least, can we have a
> buffer-local option to control the arguments of the cp command?

Well, Tramp is just a stupid library, it does what it is instructed to do.
"cp -f -p ..." is applied only if there is a function call (copy-file ...)
with non-nil PRESERVE-UID-GID (see docstring of copy-file).

What happens if you apply the appended patch?

Best regards, Michael.



Best regards, Michael.

attachment0 (892 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

=?UTF-8?Q?Re:_tramp_(2.5.0-pre_nil/nil); __Cannot_write_to_/sudo::file_in?= /boot partition

Yikai Zhao
The patch works well for me. I can successfully save without any error. Thanks!

On Mon, Dec 21, 2020, at 22:58, Michael Albinus wrote:
"Yikai Zhao" <[hidden email]> writes:

Hi,

> I think this should be a fairly common use case (everyone's boot
> partition must be a FAT filesystem, right?) and it would be great to
> see it resolved by tramp.

It doesn't seem to be fairly common. Otherwise, I would have seen such
bug reports the last 20 years.

> Can we maybe detect this kind of error (by parsing the output of cp?)
> to ignore it? Or can we detect the destination filesystem type to drop
> the "-p" argument of cp? Or, at the very least, can we have a
> buffer-local option to control the arguments of the cp command?

Well, Tramp is just a stupid library, it does what it is instructed to do.
"cp -f -p ..." is applied only if there is a function call (copy-file ...)
with non-nil PRESERVE-UID-GID (see docstring of copy-file).

What happens if you apply the appended patch?

Best regards, Michael.



Best regards, Michael.


Attachments:
  • Unknown

Reply | Threaded
Open this post in threaded view
|

Re: tramp (2.5.0-pre nil/nil); Cannot write to /sudo::file in /boot partition

Michael Albinus
"Yikai Zhao" <[hidden email]> writes:

Hi,

> The patch works well for me. I can successfully save without any
> error. Thanks!

OK, I have pushed it to the repositories. I hope it doesn't damage
anything else, let's see whether people start to holler ...

Best regards, Michael.