1. 02 May, 2019 1 commit
    • Michael Albinus's avatar
      Fix tramp-compat-file-name-quoted-p · cd3a7f35
      Michael Albinus authored
      * lisp/net/tramp-compat.el (tramp-compat-file-local-name)
      (tramp-compat-file-name-quoted-p): Declare them.
      (top): Do not use `eval-and-compile'.
      (tramp-compat-file-name-quoted-p): Check also func-arity of
      `file-name-quoted-p'.
      cd3a7f35
  2. 26 Apr, 2019 1 commit
    • Michael Albinus's avatar
      Handle quoted file names in tramp-archive.el · cc70501a
      Michael Albinus authored
      * lisp/net/tramp-archive.el (tramp-archive-file-name-p):
      Suppress quoted file names.
      (tramp-archive-file-name-handler): Handle quoted file names.
      
      * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p):
      Add optional TOP argument.
      cc70501a
  3. 19 Apr, 2019 2 commits
  4. 14 Apr, 2019 1 commit
    • Michael Albinus's avatar
      Fix Bug#35055 · dcfe1c4a
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-handle-shell-command):
      Handle `shell-command-width'.  (Bug#35055)
      dcfe1c4a
  5. 13 Apr, 2019 2 commits
    • Michael Albinus's avatar
      Fix error in tramp-sh.el · c2c9ef2c
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
      Revert "simplification", which was an error.
      c2c9ef2c
    • Paul Eggert's avatar
      Omit/rewrite useless regexp repetitions · 7ddd08bd
      Paul Eggert authored
      Problem reported by Mattias Engdegård in:
      https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html
      * lisp/align.el (align-rules-list):
      * lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords):
      * lisp/emacs-lisp/copyright.el (copyright-regexp):
      * lisp/erc/erc-backend.el (JOIN):
      * lisp/erc/erc-goodies.el (erc-unmorse):
      * lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
      * lisp/net/tramp-adb.el (tramp-adb-prompt):
      * lisp/org/org-table.el (org-table-range-regexp):
      * lisp/progmodes/idlwave.el (idlwave-where):
      * lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro)
      (verilog-declaration-re-2-macro, verilog-delete-auto-buffer)
      (verilog-auto-inst-port):
      * lisp/url/url-misc.el (url-data):
      Omit or rewrite useless repetitions that risk being very slow in
      the backtracking regexp engine in Emacs.
      7ddd08bd
  6. 08 Apr, 2019 1 commit
    • Michael Albinus's avatar
      Fix file-readable-p and file-executable-p in some Tramp backends · a20845c1
      Michael Albinus authored
      * lisp/net/tramp-archive.el (tramp-archive-handle-file-readable-p):
      Use tramp-gvfs.
      
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-executable-p):
      Check that FILENAME exists.
      (tramp-gvfs-handle-file-readable-p): Check that FILENAME exists.
      Use heuristic in case it cannot be determined correctly.
      a20845c1
  7. 07 Apr, 2019 1 commit
  8. 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
  9. 02 Apr, 2019 1 commit
  10. 28 Mar, 2019 1 commit
  11. 27 Mar, 2019 3 commits
    • Michael Albinus's avatar
    • Michael Albinus's avatar
      Use connection-local setting for tramp-remote-path · 907d11fc
      Michael Albinus authored
      * doc/misc/tramp.texi (Remote programs): Mention connection-local
      settings for `tramp-remote-path'.
      
      * lisp/net/tramp-sh.el (tramp-get-remote-path): Expand connection-local
      variables.
      907d11fc
    • Paul Eggert's avatar
      2019-03-26 regex cleanup · 5d6a3144
      Paul Eggert authored
      Problems reported by Mattias Engdegård in:
      https://lists.gnu.org/r/emacs-devel/2019-03/msg01028.html
      * lisp/align.el (align-rules-list):
      * lisp/speedbar.el (speedbar-check-read-only, speedbar-check-vc):
      * lisp/vc/diff-mode.el (diff-add-change-log-entries-other-window):
      * lisp/woman.el (woman-parse-numeric-arg):
      Put "-" at end of character alternatives, since a range was not intended.
      * lisp/erc/erc.el (font-lock):
      * lisp/mail/footnote.el (cl-seq):
      Avoid duplicate character alternatives by using cl-seq API.
      * lisp/mail/footnote.el (footnote--current-regexp):
      * lisp/textmodes/css-mode.el (css--font-lock-keywords):
      Avoid repetition of repetition.
      * lisp/net/webjump.el (webjump-url-encode):
      Add ~ to character alternatives, and rewrite confusing range.
      * lisp/progmodes/verilog-mode.el (verilog-compiler-directives)
      (verilog-assignment-operator-re):
      Remove duplicate.
      * lisp/progmodes/verilog-mode.el (verilog-preprocessor-re):
      * lisp/textmodes/css-mode.el (css--font-lock-keywords):
      Don’t escape a char that doesn’t need it.
      * lisp/textmodes/picture.el (picture-tab-chars): In docstring,
      do not say regexp characters will be quoted; merely say in
      another way that the syntax is that of character alternatives.
      (picture-set-tab-stops, picture-tab-search): Don’t attempt
      to regexp-quote picture-tab-chars.
      (picture-tab-search): Quote \ in picture-tab-chars for
      skip-chars-backwards, which treats \ differently than
      regexp character alternatives do.
      5d6a3144
  12. 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
  13. 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
  14. 12 Mar, 2019 1 commit
  15. 10 Mar, 2019 1 commit
    • Michael Albinus's avatar
      Changes in Tramp adb process handling · de0dc6b8
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-remote-shell'
      and `tramp-remote-shell-args'.
      (tramp-adb-file-name-handler-alist): Use `tramp-handle-shell-command'
      rather than `tramp-adb-handle-shell-command'.
      (tramp-adb-handle-shell-command): Remove.
      (tramp-adb-handle-make-process): Use a proper prompt.
      (tramp-adb-wait-for-output): Simplify.
      de0dc6b8
  16. 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
  17. 07 Mar, 2019 2 commits
    • Paul Eggert's avatar
      ab9ae2fd
    • Paul Eggert's avatar
      Be safer about "%" in message formats · 3739d51e
      Paul Eggert authored
      * lisp/calc/calc-store.el (calc-copy-special-constant):
      * lisp/net/rcirc.el (rcirc-handler-PART, rcirc-handler-KICK):
      * lisp/org/org-agenda.el (org-agenda):
      * lisp/org/org-clock.el (org-clock-out, org-clock-display):
      * lisp/org/org.el (org-refile):
      * lisp/progmodes/ada-xref.el (ada-goto-declaration):
      * lisp/progmodes/idlwave.el (idlwave-scan-library-catalogs):
      Don’t trust arbitrary strings to not contain "%" or "`" in
      (message (concat STRING1 STRING2 ...)).
      3739d51e
  18. 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
  19. 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.el (viper-get-ex-token)
      (viper-get-ex-pat, ex-set-read-variable):
      * lisp/epg.el (epg--status-SIG_CREATED):
      * lisp/erc/erc-speedbar.el (erc-speedbar-expand-user):
      (erc-speedbar-expand-channel, erc-speedbar-expand-server)
      * lisp/erc/erc.el (erc-is-message-ctcp-and-not-action-p)
      (erc-banlist-update):
      * lisp/eshell/em-dirs.el (eshell-parse-drive-letter, eshell/pwd):
      * lisp/find-dired.el (find-dired):
      * lisp/frame.el (frame-set-background-mode):
      * lisp/generic-x.el (apache-log-generic-mode):
      * lisp/gnus/gnus-art.el (gnus-button-valid-localpart-regexp):
      * lisp/gnus/gnus.el (gnus-short-group-name):
      * lisp/gnus/message.el (message-mailer-swallows-blank-line):
      * lisp/ibuffer.el (ibuffer-fontification-alist):
      * lisp/ido.el (ido-set-matches-1):
      * lisp/info-xref.el (info-xref-lock-file-p):
      * lisp/info.el (Info-dir-remove-duplicates)
      (Info-unescape-quotes, Info-split-parameter-string)
      (Info-speedbar-expand-node):
      * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
      * lisp/isearch.el (isearch-pre-command-hook):
      * lisp/language/ethio-util.el (ethio-fidel-to-tex-buffer):
      * lisp/mail/rmail.el (rmail-collect-deleted):
      * lisp/mh-e/mh-alias.el (mh-alias-suggest-alias):
      * lisp/mh-e/mh-comp.el (mh-forward):
      * lisp/mh-e/mh-search.el (mh-index-next-folder)
      (mh-index-create-imenu-index):
      * lisp/mh-e/mh-xface.el (mh-picon-get-image):
      * lisp/minibuffer.el (completion--embedded-envvar-re):
      * lisp/net/ange-ftp.el (ange-ftp-ls-parser):
      * lisp/net/goto-addr.el (goto-address-mail-regexp)
      (goto-address-find-address-at-point):
      * lisp/net/pop3.el (pop3-read-response, pop3-user)
      (pop3-pass, pop3-apop):
      * lisp/net/tramp.el (tramp-ipv6-regexp)
      (tramp-replace-environment-variables):
      * lisp/nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
      * lisp/nxml/rng-uri.el (rng-uri-escape-multibyte):
      * lisp/nxml/rng-xsd.el (rng-xsd-convert-any-uri):
      * lisp/obsolete/pgg.el (pgg-fetch-key):
      * lisp/obsolete/vip.el (vip-get-ex-token):
      * lisp/org/ob-core.el (org-babel-string-read):
      * lisp/org/org-agenda.el:
      (org-agenda-add-entry-to-org-agenda-diary-file):
      * lisp/org/org-element.el (org-element-keyword-parser):
      * lisp/org/org-list.el (org-list-indent-item-generic):
      * lisp/org/org-mhe.el (org-mhe-get-message-folder-from-index):
      * lisp/org/org-mobile.el (org-mobile-apply):
      * lisp/org/org-mouse.el (org-mouse-context-menu):
      * lisp/org/org-plot.el (org-plot/gnuplot):
      * lisp/org/org-protocol.el (org-protocol-flatten-greedy):
      * lisp/org/org-table.el (org-table-copy-down)
      (org-table-formula-make-cmp-string)
      (org-table-get-stored-formulas, org-table-recalculate)
      (org-table-edit-formulas):
      * lisp/org/org.el (org-translate-link-from-planner)
      (org-fill-line-break-nobreak-p):
      * lisp/org/ox-ascii.el (org-ascii-item):
      * lisp/org/ox-latex.el (org-latex-clean-invalid-line-breaks):
      * lisp/org/ox.el (org-export-expand-include-keyword):
      * lisp/progmodes/ada-xref.el (ada-treat-cmd-string):
      * lisp/progmodes/cfengine.el (cfengine2-font-lock-keywords):
      * lisp/progmodes/cperl-mode.el (cperl-to-comment-or-eol)
      (cperl-find-pods-heres, cperl-fix-line-spacing)
      (cperl-have-help-regexp, cperl-word-at-point-hard)
      (cperl-make-regexp-x):
      * lisp/progmodes/dcl-mode.el (dcl-option-value-offset):
      * lisp/progmodes/etags.el (tag-implicit-name-match-p):
      * lisp/progmodes/fortran.el (fortran-fill):
      * lisp/progmodes/gdb-mi.el (gdb-speedbar-expand-node)
      (gdb-locals-handler-custom):
      * lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
      * lisp/progmodes/gud.el (gud-jdb-find-source-using-classpath):
      * lisp/progmodes/js.el (js--continued-expression-p):
      * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
      * lisp/progmodes/meta-mode.el (meta-indent-level-count):
      * lisp/progmodes/mixal-mode.el (mixal-font-lock-keywords):
      * lisp/progmodes/opascal.el (opascal-find-unit-in-directory):
      * lisp/progmodes/pascal.el (pascal-progbeg-re):
      * lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re)
      (ruby-expr-beg, ruby-parse-partial)
      (ruby-toggle-string-quotes, ruby-font-lock-keywords):
      * lisp/progmodes/sql.el (sql--make-help-docstring):
      * lisp/progmodes/verilog-mode.el (verilog-coverpoint-re)
      (verilog-skip-forward-comment-p)
      (verilog-read-sub-decls-gate)
      (verilog-read-auto-template-middle):
      * lisp/progmodes/vhdl-mode.el (vhdl-resolve-env-variable)
      (vhdl-speedbar-expand-project, vhdl-speedbar-expand-entity)
      (vhdl-speedbar-expand-architecture)
      (vhdl-speedbar-expand-config, vhdl-speedbar-expand-package)
      (vhdl-speedbar-dired):
      * lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
      (speedbar-tag-expand):
      * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
      * lisp/textmodes/flyspell.el (flyspell-debug-signal-word-checked):
      * lisp/textmodes/ispell.el (ispell-process-line):
      * lisp/textmodes/reftex-cite.el (reftex-end-of-bib-entry):
      * lisp/textmodes/reftex-ref.el (reftex-replace-prefix-escapes):
      * lisp/url/url-parse.el (url-generic-parse-url):
      * lisp/url/url-util.el (url-truncate-url-for-viewing):
      * lisp/vc/diff-mode.el (diff-unified->context):
      * lisp/vc/vc-bzr.el (vc-bzr-error-regexp-alist):
      * lisp/vc/vc-cvs.el (vc-cvs-parse-status):
      * lisp/woman.el (woman0-el, woman-if-ignore)
      (woman-change-fonts):
      * lisp/xdg.el (xdg--substitute-home-env):
      Fix regular-expression infelicities and typos.
      
      Fix regular expression typos
      Fix typos reported by Mattias Engdegård in:
      that occurred in preloaded modules.
      * lisp/frame.el (frame-set-background-mode):
      * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
      * lisp/isearch.el (isearch-pre-command-hook):
      * lisp/minibuffer.el (completion--embedded-envvar-re):
      3c94c7bc
  20. 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
  21. 27 Feb, 2019 2 commits
  22. 25 Feb, 2019 1 commit
    • Michael Albinus's avatar
      Adapt hooks in Tramp · cedc3410
      Michael Albinus authored
      * lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
      Remove autoload cookie.
      (tramp-cleanup-all-connections-hook): Add `tramp-archive-cleanup-hash'.
      
      * lisp/net/tramp-cmds.el (tramp-cleanup-connection-hook)
      (tramp-cleanup-all-connections-hook): New hook variables.
      (tramp-cleanup-connection): Set `tramp-current-connection' always
      to nil.
      (tramp-cleanup-connection): Do not call `tramp-recentf-cleanup'.
      Run ´tramp-cleanup-connection-hook`.
      (tramp-cleanup-all-connections): Do not call
      `tramp-archive-cleanup-hash' and ´tramp-recentf-cleanup'.  Run
      `tramp-cleanup-all-connections-hook'.
      
      * lisp/net/tramp-ftp.el (top): Simply call `tramp-disable-ange-ftp'.
      
      * lisp/net/tramp-integration.el (tramp-recentf-cleanup-all): New defun.
      (top): Adapt `tramp-integration-unload-hook',
      `tramp-cleanup-connection-hook' and
      `tramp-cleanup-all-connections-hook'.
      cedc3410
  23. 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
  24. 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
  25. 22 Feb, 2019 2 commits
    • Paul Eggert's avatar
      Remove some timestamp format assumptions · eba66c1e
      Paul Eggert authored
      Don’t assume that current-time and plain encode-time return
      timestamps in (HI LO US PS) format.
      * lisp/gnus/gnus-art.el (article-make-date-line)
      (article-lapsed-string):
      * lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
      * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
      * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
      * lisp/net/pop3.el (pop3-uidl-dele):
      * lisp/org/ox-publish.el (org-publish-sitemap):
      * lisp/vc/vc-hg.el (vc-hg-state-fast):
      Simplify and remove assumptions about timestamp format.
      * lisp/gnus/gnus-art.el (article-lapsed-string):
      * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
      Do not worry about time-subtract returning nil; that's not possible.
      * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
      Avoid race due to duplicate current-time calls.
      * lisp/vc/vc-hg.el (vc-hg--time-to-integer): Remove; no longer used.
      eba66c1e
    • Nicholas Drozd's avatar
      Handle HTML 'ol' start attribute in shr.el · 8282c34f
      Nicholas Drozd authored
      * lisp/net/shr.el (shr-tag-ol): Don't automatically assume
      1-indexing for all ordered lists, use <ol> if given.
      
      * etc/NEWS: Announce change in shr behavior.
      
      * test/data/shr/ol.html:
      * test/data/shr/ol.txt: New test data files.
      8282c34f
  26. 20 Feb, 2019 1 commit
  27. 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
  28. 16 Feb, 2019 2 commits
    • Paul Eggert's avatar
      Update citations of Internet RFCs · b5e66f46
      Paul Eggert authored
      For example, RFC 822 has been obsoleted by RFC 2822, which in
      turn has been obsoleted by RFC 5322.
      * doc/emacs/ack.texi, doc/lispref/os.texi:
      * doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
      * doc/misc/gnus.texi, doc/misc/sc.texi:
      * lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
      * lisp/gnus/gnus-util.el, lisp/gnus/message.el:
      * lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
      * lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
      * lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
      * lisp/mail/mailclient.el, lisp/mail/mailheader.el:
      * lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
      * lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
      * lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
      * lisp/mh-e/mh-utils.el, lisp/net/imap.el:
      * lisp/net/newst-backend.el, lisp/org/org-id.el:
      * lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
      Update RFC citations.
      b5e66f46
    • Paul Eggert's avatar
      Port tramp-adb to various 'touch' platforms · aff0c585
      Paul Eggert authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
      Try nanoseconds first, then plain seconds, then touch -t.
      aff0c585
  29. 15 Feb, 2019 1 commit
  30. 14 Feb, 2019 1 commit
  31. 11 Feb, 2019 1 commit
    • Paul Eggert's avatar
      Don’t assume CURRENT_TIME_LIST · 93241242
      Paul Eggert authored
      Use timestamp accessors instead of delving into a timestamp
      format that is planned to change in a future version.
      * lisp/find-lisp.el (find-lisp-format-time):
      * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
      * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
      Use encode-time instead of delving into timestamp format.
      * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
      Use float-time instead of delving into timestamp format.
      * lisp/gnus/nnmaildir.el (nnmaildir-request-accept-article):
      Use format-time-string instead of delving into timestamp format.
      * lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
      Use time-less-p instead of delving into timestamp format.
      * lisp/ido.el (ido-wash-history, ido-file-name-all-completions):
      Use time-equal-p instead of delving into timestamp format.
      * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
      Use format-time-string to generate POSIX ‘test -t’ format instead
      of timestamp-format-dependent code along with shell arithmetic
      that can’t possibly do the right thing on a POSIX platform.
      93241242