1. 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
  2. 23 Feb, 2019 2 commits
    • Michael Albinus's avatar
      Make last Tramp change backward compatible to Emacs 24 · 5f640bfd
      Michael Albinus authored
      * lisp/net/tramp-cache.el (tramp-get-file-property):
      * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
      * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
      Make them backward compatible to Emacs 24.
      5f640bfd
    • Paul Eggert's avatar
      Avoid some double-rounding of Lisp timestamps · 476066e8
      Paul Eggert authored
      Also, simplify some time-related Lisp timestamp code
      while we’re in the neighborhood.
      * lisp/battery.el (battery-linux-proc-acpi)
      (battery-linux-sysfs, battery-upower, battery-bsd-apm):
      * lisp/calendar/timeclock.el (timeclock-seconds-to-string)
      (timeclock-log, timeclock-last-period)
      (timeclock-entry-length, timeclock-entry-list-span)
      (timeclock-find-discrep, timeclock-generate-report):
      * lisp/cedet/ede/detect.el (ede-detect-qtest):
      * lisp/completion.el (cmpl-hours-since-origin):
      * lisp/ecomplete.el (ecomplete-decay-1):
      * lisp/emacs-lisp/ert.el (ert--results-update-stats-display)
      (ert--results-update-stats-display-maybe):
      * lisp/emacs-lisp/timer-list.el (list-timers):
      * lisp/emacs-lisp/timer.el (timer-until)
      (timer-event-handler):
      * lisp/erc/erc-backend.el (erc-server-send-ping)
      (erc-server-send-queue, erc-handle-parsed-server-response)
      (erc-handle-unknown-server-response):
      * lisp/erc/erc-track.el (erc-buffer-visible):
      * lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p)
      (erc-cmd-PING, erc-send-current-line):
      * lisp/eshell/em-pred.el (eshell-pred-file-time):
      * lisp/eshell/em-unix.el (eshell-show-elapsed-time):
      * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
      * lisp/gnus/gnus-int.el (gnus-backend-trace):
      * lisp/gnus/gnus-sum.el (gnus-user-date):
      * lisp/gnus/mail-source.el (mail-source-delete-crash-box):
      * lisp/gnus/nnmaildir.el (nnmaildir--scan):
      * lisp/ibuf-ext.el (ibuffer-mark-old-buffers):
      * lisp/gnus/nnmaildir.el (nnmaildir--scan):
      * lisp/mouse.el (mouse--down-1-maybe-follows-link)
      (mouse--click-1-maybe-follows-link):
      * lisp/mpc.el (mpc--faster-toggle):
      * lisp/net/rcirc.el (rcirc-handler-ctcp-KEEPALIVE)
      (rcirc-sentinel):
      * lisp/net/tramp-cache.el (tramp-get-file-property):
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-newer-than-file-p)
      (tramp-maybe-open-connection):
      * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
      * lisp/org/org-clock.el (org-clock-resolve):
      (org-resolve-clocks, org-clock-in, org-clock-out, org-clock-sum):
      * lisp/org/org-timer.el (org-timer-start)
      (org-timer-pause-or-continue, org-timer-seconds):
      * lisp/org/org.el (org-evaluate-time-range):
      * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
      * lisp/pixel-scroll.el (pixel-scroll-in-rush-p):
      * lisp/play/hanoi.el (hanoi-move-ring):
      * lisp/proced.el (proced-format-time):
      * lisp/progmodes/cpp.el (cpp-progress-message):
      * lisp/progmodes/flymake.el (flymake--handle-report):
      * lisp/progmodes/js.el (js--wait-for-matching-output):
      * lisp/subr.el (progress-reporter-do-update):
      * lisp/term/xterm.el (xterm--read-event-for-query):
      * lisp/time.el (display-time-update, emacs-uptime):
      * lisp/tooltip.el (tooltip-delay):
      * lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
      * lisp/url/url-queue.el (url-queue-prune-old-entries):
      * lisp/url/url.el (url-retrieve-synchronously):
      * lisp/xt-mouse.el (xterm-mouse-event):
      Avoid double-rounding of time-related values.  Simplify.
      * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
      When hoping for the best (unlikely), use a better decoded time.
      (icalendar--convert-sexp-to-ical): Avoid unnecessary encode-time.
      * lisp/calendar/timeclock.el (timeclock-when-to-leave):
      * lisp/cedet/ede/detect.el (ede-detect-qtest):
      * lisp/desktop.el (desktop-create-buffer):
      * lisp/emacs-lisp/benchmark.el (benchmark-elapse):
      * lisp/gnus/gnus-art.el (article-lapsed-string):
      * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
      * lisp/gnus/nnmail.el (nnmail-expired-article-p):
      * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
      * lisp/nxml/rng-maint.el (rng-time-function):
      * lisp/org/org-clock.el (org-clock-get-clocked-time)
      (org-clock-resolve, org-resolve-clocks, org-resolve-clocks-if-idle):
      * lisp/org/org-habit.el (org-habit-insert-consistency-graphs):
      * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
      (vhdl-fix-case-region-1):
      Use time-since instead of open-coding most of it.
      * lisp/erc/erc-dcc.el (erc-dcc-get-sentinel):
      * lisp/erc/erc.el (erc-string-to-emacs-time, erc-time-gt):
      Now obsolete.  All uses changed.
      (erc-time-diff): Accept all Lisp time values.
      All uses changed.
      * lisp/gnus/gnus-demon.el (gnus-demon-idle-since):
      * lisp/gnus/gnus-score.el (gnus-score-headers):
      * lisp/gnus/nneething.el (nneething-make-head):
      * lisp/gnus/nnheader.el (nnheader-message-maybe):
      * lisp/gnus/nnimap.el (nnimap-keepalive):
      * lisp/image.el (image-animate-timeout):
      * lisp/mail/feedmail.el (feedmail-rfc822-date):
      * lisp/net/imap.el (imap-wait-for-tag):
      * lisp/net/newst-backend.el (newsticker--image-get):
      * lisp/net/rcirc.el (rcirc-handler-317, rcirc-handler-333):
      * lisp/obsolete/xesam.el (xesam-refresh-entry):
      * lisp/org/org-agenda.el (org-agenda-show-clocking-issues)
      (org-agenda-check-clock-gap, org-agenda-to-appt):
      * lisp/org/org-capture.el (org-capture-set-target-location):
      * lisp/org/org-clock.el (org-clock-resolve-clock)
      (org-clocktable-steps):
      * lisp/org/org-colview.el (org-columns-edit-value)
      (org-columns, org-agenda-columns):
      * lisp/org/org-duration.el (org-duration-from-minutes):
      * lisp/org/org-element.el (org-element-cache-sync-duration)
      (org-element-cache-sync-break)
      (org-element--cache-interrupt-p, org-element--cache-sync):
      * lisp/org/org-habit.el (org-habit-get-faces)
      * lisp/org/org-indent.el (org-indent-add-properties):
      * lisp/org/org-table.el (org-table-sum):
      * lisp/org/org-timer.el (org-timer-show-remaining-time)
      (org-timer-set-timer):
      * lisp/org/org.el (org-babel-load-file, org-today)
      (org-auto-repeat-maybe, org-2ft, org-time-stamp)
      (org-read-date-analyze, org-time-stamp-to-now)
      (org-small-year-to-year, org-goto-calendar):
      * lisp/org/ox.el (org-export-insert-default-template):
      * lisp/ses.el (ses--time-check):
      * lisp/type-break.el (type-break-time-warning)
      (type-break-statistics, type-break-demo-boring):
      * lisp/url/url-cache.el (url-cache-expired)
      (url-cache-prune-cache):
      * lisp/vc/vc-git.el (vc-git-stash-snapshot):
      * lisp/erc/erc-match.el (erc-log-matches-come-back):
      Simplify.
      476066e8
  3. 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
  4. 30 Jan, 2019 1 commit
    • Michael Albinus's avatar
      Fix problem in filenotify-tests · 49e253a0
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
      Adapt `accept-process-output' argument.
      
      * test/lisp/filenotify-tests.el (file-notify--deftest-remote):
      Remove :unstable tag.
      49e253a0
  5. 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
  6. 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
  7. 24 Jan, 2019 1 commit
  8. 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
  9. 21 Jan, 2019 2 commits
  10. 20 Jan, 2019 1 commit
  11. 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
  12. 01 Jan, 2019 2 commits
  13. 31 Dec, 2018 1 commit
  14. 28 Dec, 2018 1 commit
  15. 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
  16. 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
  17. 21 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#33735 · 452d0c52
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
      Delete empty lines.  (Bug#33735)
      (tramp-sh-inotifywait-process-filter): Use `string-match'.
      (tramp-set-remote-path): Check for PIPE_BUF but PATH_MAX.
      
      * test/lisp/filenotify-tests.el: Handle $REMOTE_FILE_NOTIFY_LIBRARY.
      (file-notify--deftest-remote): Suppress vc-handled-backends.
      (file-notify-test08-backup): Do not expect failure on hydra.
      (Bug#33735).
      452d0c52
  18. 20 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#33781 · 88d3713b
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-set-remote-path): Use a temporary
      file for setting $PATH, if it exceeds PATH_MAX on the remote system.
      (tramp-send-command-and-read): Ignore errors if NOERROR.  (Bug#33781)
      
      * test/lisp/net/tramp-tests.el (tramp-test34-remote-path): New test.
      88d3713b
  19. 19 Dec, 2018 1 commit
  20. 18 Dec, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#33781 · 710e79a6
      Michael Albinus authored
      * lisp/net/tramp-cache.el (tramp-connection-properties):
      * lisp/net/tramp-sh.el (tramp-remote-path)
      (tramp-remote-process-environment, tramp-sh-extra-args):
      Reinsert autoload cookie.  (Bug#33781)
      
      * test/lisp/net/tramp-tests.el: Do not require tramp-sh before
      changing tramp-remote-path.
      710e79a6
  21. 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
  22. 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
  23. 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
  24. 06 Dec, 2018 1 commit
    • 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
  25. 28 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Tramp cleanup · 9b9c70b7
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
      * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
      Use `string-match-p'.
      
      * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
      Set file properties more robust.
      
      * lisp/net/tramp-sh.el (tramp-stat-marker)
      (tramp-convert-file-attributes): Add tramp-autoload cookie.
      9b9c70b7
  26. 24 Nov, 2018 2 commits
  27. 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
  28. 06 Nov, 2018 1 commit
    • Michael Albinus's avatar
      Handle also port and domain in Tramp proxy definitions · 3abe7bfe
      Michael Albinus authored
      * doc/misc/tramp.texi (Multi-hops): Exclude ports and domains from
      pattern expansion.
      
      * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
      Remove ad-hoc proxies.
      
      * lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle also
      port and domain in the proxy.  Propertize ad-hoc proxies.
      
      * lisp/net/tramp.el (tramp-default-proxies-alist): Adapt docstring.
      
      * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
      (tramp-test02-file-name-dissect-simplified)
      (tramp-test02-file-name-dissect-separate): Extend tests.
      3abe7bfe
  29. 27 Oct, 2018 1 commit
  30. 01 Oct, 2018 1 commit
  31. 29 Sep, 2018 1 commit
    • Michael Albinus's avatar
      Rework time-* functions in Tramp · ce0da8a4
      Michael Albinus authored
      * doc/misc/emacs-mime.texi (time-date): Add time-equal-p.
      
      * lisp/net/tramp-compat.el (tramp-compat-time-equal-p): New defsubst.
      
      * lisp/net/tramp.el (tramp-file-name-handler): Remove `debug'
      error handler.
      (tramp-half-a-year): Remove.
      (tramp-time-dont-know, tramp-time-doesnt-exist): New defconst.
      (tramp-time-diff): Remove compat code.
      (tramp-handle-set-visited-file-modtime)
      (tramp-handle-verify-visited-file-modtime):
      * lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
      (tramp-adb-handle-set-file-times):
      * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
      (tramp-sh-handle-set-visited-file-modtime)
      (tramp-sh-handle-verify-visited-file-modtime)
      (tramp-sh-handle-set-file-times)
      (tramp-sh-handle-file-newer-than-file-p):
      Use `tramp-time-dont-know', `tramp-time-doesnt-exist' and
      `tramp-compat-time-equal-p'.
      (tramp-sh-handle-verify-visited-file-modtime): Simplify check.
      
      * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
      (tramp-smb-read-file-entry): Use `tramp-time-dont-know'.
      (tramp-smb-handle-insert-directory): Adapt half-a-year check.
      
      * src/editfns.c (Ftime_equal_p): Adapt docstring.
      
      * test/lisp/net/tramp-tests.el
      (tramp-test19-directory-files-and-attributes)
      (tramp-test22-file-times): Use `tramp-compat-time-equal-p' and
      `tramp-time-dont-know'.
      (tramp-test23-visited-file-modtime): Extend test.
      ce0da8a4
  32. 29 Aug, 2018 1 commit
  33. 28 Aug, 2018 1 commit
    • Michael Albinus's avatar
      Add bignum support in Tramp · adcf904b
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
      * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat)
      (tramp-do-directory-files-and-attributes-with-stat)
      (tramp-sh-handle-file-system-info):
      * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): Do
      not add "e0" to integers.
      
      * lisp/net/tramp-sh.el (tramp-perl-file-attributes)
      (tramp-convert-file-attributes): Do not use a consp for the inode
      if there is bignum support.
      adcf904b
  34. 01 Aug, 2018 1 commit
    • Michael Albinus's avatar
      Fix Bug#32325 · 2f37ecae
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-directory): In case
      of PARENTS flush also upper directories caches.  (Bug#32325)
      2f37ecae
  35. 20 Jul, 2018 1 commit
    • Michael Albinus's avatar
      Fix (Bug#32218). Do not merge with master · 61de292c
      Michael Albinus authored
      * doc/misc/trampver.texi:
      * lisp/net/trampver.el: Change version to "2.3.4.26.2".
      (customize-package-emacs-version-alist): Add Tramp version
      integrated in Emacs 26.2.
      
      * lisp/net/tramp.el (tramp-handle-file-truename):
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
      with trailing slash.  (Bug#32218)
      
      * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
      Remove `tramp--test-emacs27-p' check.
      61de292c