1. 13 Apr, 2019 1 commit
  2. 03 Apr, 2019 1 commit
    • Michael Albinus's avatar
      Work on asynchronous processes for tramp-adb.el · 8147d3c2
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
      Simplify.  Remove echoed first line.
      (tramp-adb-send-command): Add NEVEROPEN and NOOUTPUT.
      
      * lisp/net/tramp-sh.el (tramp-process-sentinel): Remove.
      (tramp-sh-handle-make-process): Simplify.
      
      * lisp/net/tramp.el (tramp-process-sentinel): New defun, taken from
      tramp-sh.el.  Delete trailing shell prompt.
      
      * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
      (tramp-test30-make-process): Run also for tramp-adb.
      (tramp-test32-shell-command): Remove tramp-adb restrictions.
      (tramp-test34-explicit-shell-file-name): Rework.  Remove :unstable tag.
      8147d3c2
  3. 27 Mar, 2019 1 commit
  4. 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
  5. 09 Mar, 2019 1 commit
    • Michael Albinus's avatar
      Do not hardcode "/bin/sh" in compile. Bug#24338, Bug#29723 · 21f54fee
      Michael Albinus authored
      * doc/emacs/custom.texi (Connection Variables): New node.
      
      * doc/emacs/emacs.texi (Top): Add entry for Connection Variables.
      
      * doc/emacs/misc.texi (Single Shell): Mention default value for
      remote buffers.
      
      * doc/lispref/variables.texi (Connection Local Variables):
      Describe `with-connection-local-variables' instead of
      `with-connection-local-profiles'.
      
      * doc/misc/tramp.texi (Remote processes): Refer to Emacs manual.
      Mention default connection-local settings for `shell-file-name'
      and `shell-command-switch'.
      
      * etc/NEWS: Mention connection-local variables changes.
      
      * lisp/files-x.el (hack-connection-local-variables):
      Push connection-local variables to `file-local-variables-alist'.
      (connection-local-criteria-for-default-directory): New defsubst.
      (with-connection-local-variables): Rename from
      `with-connection-local-profiles'.  Adapt implementation.
      
      * lisp/files.el (hack-local-variables):
      Call `hack-connection-local-variables'.
      
      * lisp/shell.el (shell): Use `with-connection-local-variables'.
      
      * lisp/subr.el (start-file-process-shell-command):
      * lisp/progmodes/compile.el (compilation-start):
      Use `with-connection-local-variables'.  Do not set "/bin/sh" for
      remote buffers, trust settings of `shell-file-name'.  (Bug#24338),
      (Bug#29723)
      
      * lisp/net/ange-ftp.el (ange-ftp-compress, ange-ftp-uncompress):
      Use `shell-command-switch'.
      
      * lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
      New defvar.  Add it to connection-local profiles after loading "shell".
      
      * lisp/net/tramp-integration.el (tramp-compat): Require tramp-compat.
      (tramp-compat-exec-path): Do not declare anymore.
      (tramp-connection-local-safe-shell-file-names): New defvar.
      (tramp-connection-local-default-profile): New defconst.  Activate
      it after loading "shell".
      (shell-file-name, shell-command-switch): Add safe-local-variable
      property.
      
      * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
      Add tramp-autoload cookie.
      
      * test/lisp/files-x-tests.el (remote-shell-file-name):
      Add safe-local-variable property to remote-* variables.
      (tramp-connection-local-default-profile): Declare.
      (files-x-test-with-connection-local-variables):
      Rename from `files-x-test-with-connection-local-profiles'.  Adapt
      implementation.
      
      * test/lisp/net/tramp-tests.el
      (tramp-test34-connection-local-variables): New test.
      (tramp-test34-explicit-shell-file-name): Run it also for tramp-adb.
      Bind connection-local-{profile,criteria}-alist.  Use tramp-adb
      specific `shell-file-name'.  Add safe-local-variable property to
      `explicit-shell-file-name' and `explicit-sh-args'.
      21f54fee
  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. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 24 Jan, 2019 1 commit
  14. 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
  15. 21 Jan, 2019 2 commits
  16. 20 Jan, 2019 1 commit
  17. 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
  18. 01 Jan, 2019 2 commits
  19. 31 Dec, 2018 1 commit
  20. 28 Dec, 2018 1 commit
  21. 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
  22. 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
  23. 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
  24. 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
  25. 19 Dec, 2018 1 commit
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 24 Nov, 2018 2 commits
  33. 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
  34. 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
  35. 27 Oct, 2018 1 commit