1. 02 Apr, 2019 1 commit
  2. 28 Mar, 2019 1 commit
  3. 27 Mar, 2019 1 commit
  4. 23 Mar, 2019 1 commit
    • Michael Albinus's avatar
      Fix Bug#34943 · a3194e7b
      Michael Albinus authored
      * lisp/files-x.el (cl-lib): Require when compiling.
      (hack-connection-local-variables): Regard connection-local
      variables as safe.  (Bug#34943)
      
      * lisp/shell.el (shell): Use `with-connection-local-variables' for
      the whole code block.  (Bug#34943)
      
      * lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
      Do not set values.
      
      * lisp/net/tramp-integration.el
      (tramp-connection-local-safe-shell-file-names): Remove.
      (shell-file-name, shell-command-switch): Do not add safe-local-variable
      property.
      
      * lisp/net/tramp.el (tramp-handle-shell-command): Use proper
      buffer name.
      
      * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
      Tag it :unstable.
      a3194e7b
  5. 22 Mar, 2019 1 commit
    • Michael Albinus's avatar
      Fix Bug#24394, Bug#34172 · 3375d082
      Michael Albinus authored
      * lisp/subr.el (process-file-shell-command):
      Use `with-connection-local-variables'.  Do not set "/bin/sh" for
      remote buffers, trust settings of `shell-file-name'.
      
      * lisp/net/tramp-adb.el (tramp-methods) <adb>:
      * lisp/net/tramp-smb.el (tramp-methods) <smb>:
      Remove `tramp-remote-shell' and `tramp-remote-shell-args'.
      
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
      (tramp-maybe-open-connection): Use proper read syntax for function
      names.
      
      * lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
      file names from `tramp-methods'.
      Respect `async-shell-command-buffer'.  (Bug#24394, Bug#34172)
      Use `start-file-process-shell-command' and `process-file-shell-command'.
      
      * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
      Let it run partly for tramp-adb.
      3375d082
  6. 06 Mar, 2019 1 commit
    • Michael Albinus's avatar
      Handle empty strings in Tramp's expand-file-name implementations · be147d24
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-handle-expand-file-name):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
      * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
      * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
      Handle empty NAME.
      
      * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
      (tramp-test01-file-name-syntax-simplified)
      (tramp-test01-file-name-syntax-separate): Use neutral IPv4 address.
      (tramp-test05-expand-file-name): Check also "." and "".
      be147d24
  7. 05 Mar, 2019 1 commit
    • Paul Eggert's avatar
      Fix regular-expression glitches and typos · 3c94c7bc
      Paul Eggert authored
      Problems reported by Mattias Engdegård in:
      https://lists.gnu.org/r/emacs-devel/2019-03/msg00085.html
      * admin/admin.el (set-version):
      * lisp/allout.el (allout-latexify-one-item):
      * lisp/arc-mode.el (archive-arc-rename-entry)
      (archive-rar-summarize):
      * lisp/calc/calc-graph.el (calc-graph-set-styles)
      (calc-graph-hide):
      * lisp/calc/calc-help.el (calc-describe-key):
      * lisp/calc/calc-lang.el (math-compose-tex-func, eqn):
      * lisp/calc/calc.el (calcDigit-key):
      * lisp/cedet/ede/makefile-edit.el (makefile-macro-file-list):
      * lisp/cedet/ede/speedbar.el (ede-tag-expand):
      * lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
      (semantic-sb-expand-group):
      * lisp/comint.el (comint-substitute-in-file-name):
      * lisp/dired.el (dired-actual-switches):
      * lisp/emacs-lisp/chart.el (chart-rmail-from):
      * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
      * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
      * lisp/emacs-lisp/rx.el (rx-not, rx-atomic-p):
      * lisp/emulation/viper-ex.e...
      3c94c7bc
  8. 28 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Use proper read syntax for all function names in Tramp · a80e1045
      Michael Albinus authored
      * lisp/net/tramp.el:
      * lisp/net/tramp-adb.el:
      * lisp/net/tramp-archive.el:
      * lisp/net/tramp-cache.el:
      * lisp/net/tramp-cmds.el:
      * lisp/net/tramp-compat.el:
      * lisp/net/tramp-ftp.el:
      * lisp/net/tramp-gvfs.el:
      * lisp/net/tramp-integration.el:
      * lisp/net/tramp-rclone.el:
      * lisp/net/tramp-sh.el:
      * lisp/net/tramp-smb.el:
      * lisp/net/tramp-sudoedit.el:
      * test/lisp/net/tramp-archive-tests.el:
      * test/lisp/net/tramp-tests.el: Use proper read syntax for all
      function names.
      a80e1045
  9. 24 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Cleanup also recentf files in Tramp · cbcb5718
      Michael Albinus authored
      * doc/misc/tramp.texi (Cleanup remote connections): Mention also
      recentf cache.
      
      * lisp/net/tramp-cmds.el (tramp-cleanup-connection)
      (tramp-cleanup-all-connections): Call `tramp-recentf-cleanup'.
      
      * lisp/net/tramp-integration.el: New package.
      
      * lisp/net/tramp.el (tramp-rfn-eshadow-overlay)
      (tramp-rfn-eshadow-setup-minibuffer)
      (tramp-rfn-eshadow-update-overlay-regexp)
      (tramp-rfn-eshadow-update-overlay):
      (tramp-eshell-directory-change): Move to tramp-integration.el
      cbcb5718
  10. 19 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Implement access-file in Tramp · 0a6c4479
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
      * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
      * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
      * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
      * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
      Add `access-file'.
      
      * lisp/net/tramp-archive.el (tramp-archive-handle-access-file):
      * lisp/net/tramp.el (tramp-handle-access-file): New defun.
      (tramp-condition-case-unless-debug): Add declaration.
      (tramp-handle-insert-directory):
      * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
      * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
      Check, whether directory is accessible.
      
      * test/lisp/net/tramp-archive-tests.el
      (tramp-archive-test17-insert-directory)
      (tramp-archive-test18-file-attributes):
      * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
      (tramp-test18-file-attributes): Test error cases.
      0a6c4479
  11. 06 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Fix Bug#34196 · 19fbef54
      Michael Albinus authored
      * lisp/autorevert.el (auto-revert-buffers): Handle buffers with a
      remote default-directory only, when they are connected.  (Bug#34196)
      
      * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
      Set "connected" property.
      
      * lisp/net/tramp.el (tramp-process-actions): Revert change from
      2019-02-04.  Bug#34196 will be solved in autorevert.el.
      19fbef54
  12. 04 Feb, 2019 2 commits
    • Michael Albinus's avatar
      Fix Bug#34196 · d6f430cb
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-process-actions): Disable `global-auto-revert-mode'
      temporarily.  (Bug#34196)
      d6f430cb
    • Michael Albinus's avatar
      Improve Tramp host name completion · 7cdf4004
      Michael Albinus authored
      * lisp/net/tramp-rclone.el (tramp-default-host-alist): Add empty host.
      
      * lisp/net/tramp.el (tramp-parse-auth-sources): Require :port.
      7cdf4004
  13. 03 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Work on accept-process-output in Tramp · b32ac17c
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-accept-process-output): Rework timer
      handling.
      (tramp-call-process): Adapt VEC if nil.
      (tramp-interrupt-process): Use `tramp-accept-process-output'.
      (tramp-process-lines): New defun.
      * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
      * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.
      
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
      Use timeout 0 in `tramp-accept-process-output'.
      
      * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Move up.
      (tramp-test29-start-file-process, tramp-test30-make-process)
      (tramp-test32-shell-command)
      (tramp--test-shell-command-to-string-asynchronously): Use it.
      (tramp-test35-remote-path): Suppress warning.
      (tramp--test-asynchronous-requests-timeout): New defconst.
      (tramp-test43-asynchronous-requests): Skip if not the only test.
      Use `tramp--test-asynchronous-requests-timeout'.
      Remove instrumentation.  Use `start-process-shell-command' for
      watchdog.  Add timeout in timer function.  Print status messages.
      Remove file operations from sentinel.  Suppress timers in
      `accept-process-output'.
      b32ac17c
  14. 29 Jan, 2019 1 commit
    • Michael Albinus's avatar
      ; Tramp cleanup · 492b31d9
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
      Handle `non-essential'.
      
      * lisp/net/tramp-archive.el: Increase `max-specpdl-size' when
      loading tramp-gvfs.
      
      * lisp/net/tramp-rclone.el (tramp-rclone-mounted-p): Reorder for
      better traces.
      (tramp-rclone-maybe-open-connection): Handle `non-essential'.
      
      * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory)
      (tramp-find-inline-encoding): Simplify check.
      
      * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory)
      (tramp-smb-handle-insert-directory): Simplify check.
      
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
      Simplify check.
      (tramp-sudoedit-maybe-open-connection): Handle `non-essential'.
      
      * lisp/net/tramp.el (tramp-handle-load, tramp-wait-for-regexp):
      Simplify check.
      (tramp-action-login, tramp-action-password, tramp-action-yesno)
      (tramp-action-yn, tramp-action-terminal): Return explicitly t.
      (tramp-process-one-action, tramp-process-actions): Adapt docstring.
      492b31d9
  15. 28 Jan, 2019 1 commit
    • Michael Albinus's avatar
      Adapt accept-process-output timeouts in Tramp · 6c560a3b
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-accept-process-output):
      Make timeout optional.  Do not set explicit timer.
      (tramp-action-out-of-band, tramp-process-one-action)
      (tramp-wait-for-regexp, tramp-interrupt-process):
      * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
      * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
      * lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
      (tramp-smb-action-set-acl, tramp-smb-wait-for-output):
      * tramp-sudoedit.el (tramp-sudoedit-action-sudo):
      Adapt `accept-process-output' calls wrt timeouts.
      6c560a3b
  16. 23 Jan, 2019 1 commit
  17. 22 Jan, 2019 1 commit
    • Michael Albinus's avatar
      Respect setgid bit of the upper directory in Tramp · c5800815
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.4.2-pre".
      
      * lisp/net/tramp.el: Bump version to 2.4.2-pre.
      (tramp-set-file-uid-gid): Respect setgid bit of the upper directory.
      (tramp-default-file-modes, tramp-handle-insert-file-contents)
      (tramp-mode-string-to-int, tramp-make-tramp-temp-file):
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
      (tramp-adb-handle-write-region):
      * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
      (tramp-sh-handle-write-region): Use octal constants.
      c5800815
  18. 21 Jan, 2019 1 commit
    • Michael Albinus's avatar
      Use `inhibit-read-only' in Tramp · e5ef4c66
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-process-actions, tramp-accept-process-output)
      (tramp-send-string):
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-process)
      (tramp-adb-send-command-and-check, tramp-adb-wait-for-output):
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
      (tramp-wait-for-output, tramp-send-command-and-check):
      * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
      Use `inhibit-read-only'.
      e5ef4c66
  19. 16 Jan, 2019 1 commit
    • Michael Albinus's avatar
      Some accept-process-output cleanups in Tramp · b2497ef6
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-action-out-of-band): Read process
      output in a loop.
      (tramp-accept-process-output): Return result.
      (tramp-interrupt-process):
      * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
      * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
      Remove FIXME.
      
      * lisp/net/tramp-sh.el (tramp-local-coding-commands): Fix docstring.
      
      * lisp/net/tramp-smb.el (tramp-smb-wait-for-output): Adapt docstring.
      Simplify code.
      
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
      Adapt docstring.  Read process output in a loop.
      
      * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests):
      Remove :unstable tag on emba.
      b2497ef6
  20. 15 Jan, 2019 1 commit
    • Paul Eggert's avatar
      Fix accept-process-output/process-live-p confusion · 9fc02ff5
      Paul Eggert authored
      * doc/lispref/processes.texi (Accepting Output):
      Document the issue.
      * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
      * lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names):
      * lisp/net/tramp-smb.el (tramp-smb-wait-for-output):
      * lisp/net/tramp.el (tramp-interrupt-process):
      * test/src/process-tests.el (make-process/mix-stderr):
      Fix code that uses accept-process-output and process-live-p.
      Add FIXME comments as necessary.
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo):
      * lisp/net/tramp.el (tramp-action-out-of-band):
      Add FIXME comments as necessary.
      9fc02ff5
  21. 01 Jan, 2019 1 commit
  22. 29 Dec, 2018 2 commits
    • Michael Albinus's avatar
      Fix Bug#31704. Do not merge · 3c83c9ed
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-eshell-directory-change):
      Use `path-separator' as it does eshell.  (Bug#31704)
      3c83c9ed
    • Michael Albinus's avatar
      Fix Bug#31704. Do not merge · de7644d8
      Michael Albinus authored
      * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
      let `expand-file-name' prefix remote file names with MS Windows
      volume letter.
      
      * lisp/net/tramp.el (tramp-eshell-directory-change):
      Use `path-separator' as it does eshell.  (Bug#31704)
      de7644d8
  23. 27 Dec, 2018 1 commit
  24. 24 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Provide tramp-sh-handle-make-process · a94ac604
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
      Add `tramp-sh-handle-make-process' and
      `tramp-handle-start-file-process'.
      (tramp-sh-handle-make-process): New defun, derived from
      `tramp-sh-handle-start-file-process'.  (Bug#28691)
      
      * lisp/net/tramp.el (tramp-handle-start-file-process): New defun.
      
      * test/lisp/net/tramp-tests.el (tramp-test30-make-process):
      New test.
      (tramp-test31-interrupt-process, tramp-test32-shell-command)
      (tramp-test33-environment-variables)
      (tramp-test33-environment-variables-and-port-numbers)
      (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
      (tramp-test35-remote-path, tramp-test36-vc-registered)
      (tramp-test37-make-auto-save-file-name)
      (tramp-test38-find-backup-file-name)
      (tramp-test39-make-nearby-temp-file)
      (tramp-test40-special-characters)
      (tramp-test40-special-characters-with-stat)
      (tramp-test40-special-characters-with-perl)
      (tramp-test40-special-characters-with-ls, tramp-test41-utf8)
      (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
      (tramp-test41-utf8-with-ls, tramp-test42-file-system-info)
      (tramp-test43-asynchronous-requests, tramp-test44-auto-load)
      (tramp-test44-delay-load, tramp-test44-recursive-load)
      (tramp-test44-remote-load-path, tramp-test45-unload): Rename.
      a94ac604
  25. 23 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Handle `make-process' in Tramp and ange-ftp · 3ea89aca
      Michael Albinus authored
      * doc/lispref/processes.texi (Asynchronous Processes):
      Explain, that not all file name handlers support `make-process'.
      
      * lisp/net/ange-ftp.el:
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
      * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
      * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
      * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
      * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
      * lisp/net/tramp.el (tramp-file-name-for-operation): Add `make-process'.
      
      * lisp/vc/ediff-util.el:
      * src/process.c:
      * test/src/process-tests.el: Use "file name handler" consequently.
      3ea89aca
  26. 17 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Reduce autoloaded objects in Tramp · 3e9ecaec
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-program)
      (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
      Remove autoload cookie.
      
      * lisp/net/tramp-cache.el (tramp-connection-properties)
      (tramp-persistency-file-name): Remove autoload cookie.
      
      * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
      Use `tramp-autoload' cookie.
      
      * lisp/net/tramp-gvfs.el (tramp-gvfs-zeroconf-domain):
      Remove autoload cookie.
      
      * lisp/net/tramp-rclone.el (tramp-rclone-program): Remove autoload
      cookie.
      (tramp-set-completion-function): Use `tramp--with-startup'.
      
      * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
      (tramp-copy-size-limit, tramp-histfile-override)
      (tramp-use-ssh-controlmaster-options, tramp-remote-path)
      (tramp-remote-process-environment, tramp-sh-extra-args):
      Remove autoload cookie.
      (tramp-stat-marker, tramp-stat-quoted-marker): Move to tramp.el.
      
      * lisp/net/tramp-smb.el (tramp-smb-program)
      (tramp-smb-acl-program, tramp-smb-conf)
      (tramp-smb-winexe-program, tramp-smb-winexe-shell-command)
      (tramp-smb-winexe-shell-command-switch): Remove autoload cookie.
      
      * lisp/net/tramp-sudoedit.el (server, tramp-sh): Do not require.
      
      * lisp/net/tramp.el (tramp--startup-hook): Define.
      (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts,
      taken from tramp-sh.el.
      
      * test/lisp/net/tramp-archive-tests.el (tramp-copy-size-limit)
      (tramp-persistency-file-name): Declare.
      
      * test/lisp/net/tramp-tests.el (tramp-connection-properties)
      (tramp-display-escape-sequence-regexp)
      (tramp-inline-compress-start-size, tramp-remote-path): Declare.
      3e9ecaec
  27. 16 Dec, 2018 2 commits
    • Stefan Monnier's avatar
      * lisp/net/tramp: Rework mutual dependencies · 07d88279
      Stefan Monnier authored
      Functionally split tramp-loaddefs.el into two parts: one part run
      while loading it at the very beginning of loading tramp.el (holding plain
      autoloads and declarations), and another run at the very end of loading
      tramp.el (holding setup code).
      This should reduce infinite-recursion problems while loading.
      
      * lisp/net/tramp.el: Require tramp-loaddefs at beginning.
      Run (new and internal) tramp--startup-hook at the end.
      Remove all tramp-autoloads.  Prefer tramp--with-startup over
      eval-after-load.
      (tramp--with-startup): New macro.
      (tramp-set-syntax): Show the new value rather than the old value in the
      error message.
      (tramp-syntax-values): Explicitly return 'values'.
      (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
      (tramp-postfix-method-format, tramp-postfix-method-regexp)
      (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
      (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
      (tramp-postfix-host-format, tramp-postfix-host-regexp)
      (tramp-remote-file-name-spec-regexp, tramp-file-name-structure)
      (tramp-completion-file-name-regexp): Don't initialize in the declaration,
      since it's recomputed at the end anyway.
      (tramp-time-dont-know, tramp-time-doesnt-exist): Move before first use.
      
      * lisp/net/tramp-compat.el: Don't require tramp-loaddefs any more.
      (tramp-compat-tramp-syntax): Declare tramp-syntax.
      
      * lisp/net/tramp-smb.el:
      * lisp/net/tramp-rclone.el:
      * lisp/net/tramp-gvfs.el:
      * lisp/net/tramp-ftp.el:
      * lisp/net/tramp-adb.el: Wrap all autoloaded setup operations within
      tramp--with-startup.
      
      * lisp/net/tramp-sh.el: Wrap all autoloaded setup operations within
      tramp--with-startup.
      (tramp-display-escape-sequence-regexp)
      (tramp-device-escape-sequence-regexp): Don't tramp-autoload any more.
      (tramp-stat-marker): Use eval-and-compile rather than tramp-autoload.
      
      * lisp/net/tramp-sudoedit.el: Wrap all autoloaded setup operations within
      tramp--with-startup.
      Require tramp-sh at compile-time to precompute some regexps based on
      tramp-stat-marker.
      07d88279
    • Michael Albinus's avatar
      Add Tramp sudoedit method · e8199e76
      Michael Albinus authored
      * doc/misc/tramp.texi (Quick Start Guide): New section "Using sudoedit".
      (External methods) <sudoedit>: Describe.
      
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
      * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
      * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
      * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
      Add handler.
      
      * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-uid-gid): Rename from
      `tramp-sh-handle-set-file-uid-gid'.  Handle only remote file names.
      
      * lisp/net/tramp-sudoedit.el: New file.
      
      * lisp/net/tramp.el (tramp-file-name-for-operation): Handle also
      `tramp-set-file-uid-gid'.
      (tramp-set-file-uid-gid): New defun.
      (tramp-get-local-uid, tramp-get-local-gid): Cache result.
      
      * test/lisp/net/tramp-tests.el (tramp--test-sudoedit-p): New defun.
      (tramp-test20-file-modes, tramp-test22-file-times)
      (tramp--test-sudoedit-p): Use it.
      e8199e76
  28. 07 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Refactor some Tramp functions · 294b2c2b
      Michael Albinus authored
      * lisp/net/tramp-compat.el (tramp-compat-file-local-name): New defsubst.
      (tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
      (tramp-compat-file-name-unquote):
      * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p)
      (tramp-handle-file-truename, tramp-get-remote-tmpdir):
      * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
      (tramp-adb-handle-rename-file, tramp-adb-handle-exec-path):
      * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
      (tramp-sh-handle-exec-path, tramp-find-inline-encoding)
      (tramp-get-remote-touch): Use it.
      
      * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
      Use `tramp-handle-expand-file-name'.
      (tramp-adb-handle-expand-file-name): Move to tramp.el.
      (tramp-adb-handle-file-writable-p): Adapt docstring.
      
      * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
      Use `tramp-handle-file-local-copy', `tramp-handle-file-writable-p'
      and `tramp-handle-write-region'.
      (tramp-gvfs-handle-file-local-copy)
      (tramp-gvfs-handle-file-writable-p)
      (tramp-gvfs-handle-write-region): Move to tramp.el.
      
      * lisp/net/tramp-rclone.el: Dont't require `tramp-adb' and
      `tramp-gvfs' anymore.
      (tramp-rclone-file-name-handler-alist):
      Use `tramp-handle-expand-file-name', `tramp-handle-file-local-copy',
      `tramp-handle-file-writable-p' and `tramp-handle-write-region'.
      (tramp-rclone-handle-directory-files): Simplify.
      
      * lisp/net/tramp.el (tramp-methods): Extend docstring.
      (tramp-parse-netrc): Require `netrc'.
      (tramp-handle-expand-file-name, tramp-handle-file-local-copy)
      (tramp-handle-file-writable-p, tramp-handle-write-region): New defuns.
      294b2c2b
  29. 06 Dec, 2018 2 commits
    • Michael Albinus's avatar
      Rework Tramp wrt string-match-p, looking-at-p, save-match-data · 66b49fc1
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-find-method, tramp-find-user)
      (tramp-find-host, tramp-dissect-file-name, tramp-make-tramp-file-name)
      (tramp-completion-make-tramp-file-name, tramp-debug-message)
      (tramp-message, tramp-progress-reporter-update)
      (tramp-set-completion-function)
      (tramp-rfn-eshadow-update-overlay)
      (tramp-find-file-name-coding-system-alist)
      (tramp-file-name-for-operation)
      (tramp-use-absolute-autoload-file-names)
      (tramp-get-completion-methods, tramp-get-completion-user-host)
      (tramp-handle-directory-files)
      (tramp-handle-file-name-case-insensitive-p)
      (tramp-handle-file-name-completion, tramp-handle-file-truename)
      (tramp-handle-insert-directory, tramp-handle-load)
      (tramp-handle-shell-command, tramp-action-yesno)
      (tramp-action-yn, tramp-process-actions)
      (tramp-mode-string-to-int, tramp-get-local-locale)
      (tramp-local-host-p):
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info)
      (tramp-adb-handle-directory-files-and-attributes)
      (tramp-adb--gnu-switches-to-ash, tramp-adb-sh-fix-ls-output)
      (tramp-adb-handle-file-name-all-completions)
      (tramp-adb-handle-shell-command)
      (tramp-adb-handle-start-file-process):
      * lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
      * lisp/net/tramp-cache.el (tramp-get-hash-table)
      (tramp-flush-directory-properties, tramp-flush-file-function):
      * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
      (tramp-append-tramp-buffers):
      * lisp/net/tramp-compat.el (tramp-compat-process-running-p):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
      (tramp-gvfs-get-file-attributes)
      (tramp-gvfs-handle-file-attributes)
      (tramp-gvfs-monitor-process-filter)
      (tramp-gvfs-handler-mounted-unmounted)
      (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec-entry)
      (tramp-gvfs-mount-spec, tramp-gvfs-maybe-open-connection):
      * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
      (tramp-do-file-attributes-with-stat)
      (tramp-sh-handle-file-selinux-context)
      (tramp-sh-handle-directory-files-and-attributes)
      (tramp-do-directory-files-and-attributes-with-stat)
      (tramp-sh-handle-file-name-all-completions)
      (tramp-sh-handle-dired-compress-file)
      (tramp-sh-handle-insert-directory)
      (tramp-sh-handle-expand-file-name)
      (tramp-sh-handle-start-file-process)
      (tramp-sh-handle-process-file, tramp-sh-handle-write-region)
      (tramp-sh-handle-file-notify-add-watch)
      (tramp-sh-gio-monitor-process-filter)
      (tramp-sh-gvfs-monitor-dir-process-filter)
      (tramp-sh-inotifywait-process-filter)
      (tramp-sh-handle-file-system-info, tramp-maybe-send-script)
      (tramp-find-executable, tramp-open-shell, tramp-find-shell)
      (tramp-open-connection-setup-interactive-shell)
      (tramp-find-inline-encoding, tramp-call-local-coding-command)
      (tramp-compute-multi-hops, tramp-maybe-open-connection)
      (tramp-convert-file-attributes)
      (tramp-make-copy-program-file-name, tramp-get-remote-locale)
      (tramp-get-test-nt-command, tramp-get-remote-stat)
      (tramp-get-inline-coding):
      * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files)
      (tramp-smb-action-get-acl, tramp-smb-handle-file-attributes)
      (tramp-smb-handle-file-name-all-completions)
      (tramp-smb-handle-file-system-info)
      (tramp-smb-handle-file-writable-p)
      (tramp-smb-handle-insert-directory)
      (tramp-smb-handle-make-directory)
      (tramp-smb-handle-make-directory-internal)
      (tramp-smb-handle-start-file-process, tramp-smb-get-localname)
      (tramp-smb-read-file-entry): Use `string-match-p' and
      `looking-at-p'.  Remove superfluous `save-match-data'.  Apply
      `eval-when-compile' on constant concat data.
      
      * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p-p):
      Use `string-prefix-p'.
      (tramp-compat-file-name-unquote): Do not use match data.
      66b49fc1
    • Michael Albinus's avatar
      Make stronger tests for Tramp multi hops · 8f3fde38
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-dissect-file-name, tramp-dissect-hop-name):
      Check, that method is capable of multi hops.
      
      * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
      (tramp-test02-file-name-dissect-simplified)
      (tramp-test02-file-name-dissect-separate): Suppress check for multihops.
      (tramp-test03-file-name-method-rules): Check for error if multi
      hops cannot be applied.
      8f3fde38
  30. 24 Nov, 2018 2 commits
  31. 22 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Some minor Tramp cleanups · a344d993
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-file-name-p):
      * lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
      * lisp/net/tramp-smb.el (tramp-smb-file-name-p): Make it more robust.
      
      * lisp/net/tramp.el (tramp-handle-file-truename): Cache only the
      localname.
      a344d993
  32. 21 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Let Tramp sudo sessions expire after a timeout · fb200f3e
      Michael Albinus authored
      * doc/misc/tramp.texi (Inline methods) <sudo, doas>: Both methods expire
      the underlying session per default.
      (Predefined connection information): Explain "session-timeout".
      
      * etc/NEWS: Mention Tramp session expiration.
      
      * lisp/net/tramp-sh.el (tramp-methods) <sudo, doas>:
      Add `tramp-session-timeout'.
      (tramp-timeout-session): New defun.
      (tramp-maybe-open-connection): Handle session timeout.
      
      * lisp/net/tramp.el (tramp-methods): Adapt docstring.
      (tramp-equal-remote): Extend.
      fb200f3e
  33. 19 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#33141 · b8b42c23
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
      empty method with simplified `tramp-syntax'.  (Bug#33141)
      b8b42c23
  34. 14 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#33364 · 3287a7c0
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
      "Host host1 host2 ..." syntax.  (Bug#33364)
      3287a7c0
  35. 10 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Provide branch information for both Emacs and Tramp (Bug#33328) · a062fc41
      Michael Albinus authored
      * doc/lispref/intro.texi (Version Info):
      Document `emacs-repository-version' and `emacs-repository-branch'.
      
      * etc/NEWS: Mention `emacs-repository-branch'.
      
      * lisp/loadup.el: Initialize `emacs-repository-branch'.
      
      * lisp/version.el (emacs-repository-branch): New variable.
      (emacs-repository-branch-git, emacs-repository-get-branch):
      New defuns.
      
      * lisp/mail/emacsbug.el (report-emacs-bug):
      Insert `emacs-repository-branch'.
      
      * lisp/net/tramp.el (tramp-get-local-gid):
      Use `group-name' if available.
      (tramp-debug-message):
      * lisp/net/tramp-cmds.el (tramp-bug): Report also
      `tramp-repository-branch' and `tramp-repository-version'.
      
      * lisp/net/trampver.el (tramp-repository-branch)
      (tramp-repository-version): New defconst.
      (tramp-repository-get-version): Remove.
      a062fc41