* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el: Don't say "Emacsen" when a different wording
would be clearer.
"Emacsen" is either a less clear way of saying "old versions of
Emacs", or an implicit reference to XEmacs. We recommend against
using it in the FAQ. So use the more clear wording instead.
* doc/misc/gnus.texi (Oort Gnus):
* doc/misc/widget.texi (Basic Types, toggle):
* lisp/cedet/semantic/bovine/c.el (semantic-c-skip-conditional-section):
* lisp/cedet/semantic/wisent/comp.el (wisent-compile-grammar):
* lisp/desktop.el (desktop-save):
* lisp/erc/erc-compat.el:
* lisp/erc/erc-log.el:
* lisp/gnus/gnus-util.el (gnus-replace-in-string):
* lisp/mail/footnote.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el:
(with-tramp-locked-connection):
* lisp/org/ol-eww.el:
* lisp/org/org-compat.el:
(org-define-error):
* lisp/shadowfile.el:
* lisp/winner.el: Don't use the word "Emacsen".
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November. Change these FTP URLs to https://ftp.gnu.org
instead. Make similar changes for URLs to other organizations moving
away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
* lisp/minibuffer.el (completion--nth-completion):
Do not bind `non-essential'.
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
`tramp-check-proper-method-and-host'.
* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
(tramp-maybe-open-connection): Do not use argument for
´tramp-completion-mode-p'.
* lisp/net/tramp.el (tramp-default-method-marker): New defconst.
(tramp-prefix-format, tramp-postfix-method-format)
(tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
(tramp-prefix-port-format, tramp-postfix-host-format)
(tramp-file-name-regexp, tramp-completion-file-name-regexp):
Use `eq' instead of `eqal'.
(tramp-method-regexp, tramp-domain-regexp)
(tramp-remote-file-name-spec-regexp)
(tramp-file-name-regexp-unified)
(tramp-completion-file-name-regexp-unified)
(tramp-completion-file-name-regexp-separate): Adapt regexp.
(tramp-completion-file-name-handler-alist)
(tramp-run-real-handler): Autoload them.
(tramp-find-method): Handle `tramp-default-method-marker'.
(tramp-check-proper-method-and-host)
(tramp-completion-run-real-handler): Remove them.
(tramp-error-with-buffer, tramp-connectable-p): Do not use
argument for ´tramp-completion-mode-p'.
(tramp-find-foreign-file-name-handler): Remove COMPLETION
argument. Do not apply heuristic for completion.
(tramp-file-name-handler): Do not modify `non-essential'.
(tramp-completion-file-name-handler): Change implementation.
(tramp-autoload-file-name-handler)
(tramp-completion-handle-file-name-all-completions):
Call `tramp-run-real-handler'.
(tramp-completion-mode-p): Do not autoload. Remove argument.
Do not apply heuristic for completion.
(tramp-completion-dissect-file-name): Simplify implementation.
(tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect)
(tramp-test03-file-name-defaults)
(tramp-test06-directory-file-name): Adapt to the new syntax.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp--test-check-files): Deactivate temporarily tests with
quoted file names.
(tramp-test16-directory-files, tramp-test17-insert-directory):
Adapt tests.
(tramp-test24-file-name-completion): Do not check for
completion mode.
(tramp-test31-make-auto-save-file-name): Deactivate temporarily
two tests.
(Bug#1529, Bug#5448, Bug#5705)
* Makefile.in (TRAMP_DIR, TRAMP_SRC): New variables.
($(TRAMP_DIR)/tramp-loaddefs.el): New target.
(LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.
* net/tramp.el (top): Remove all other tramp-* loads except
tramp-compat.el. Remove all changes to tramp-unload-hook for
other tramp-* packages. Rearrange defun order. Change calls of
`tramp-compat-call-process', `tramp-compat-decimal-to-octal',
`tramp-compat-octal-to-decimal' to new function names.
(tramp-terminal-type, tramp-initial-end-of-output)
(tramp-methods, tramp-foreign-file-name-handler-alist)
(tramp-tramp-file-p, tramp-completion-mode-p)
(tramp-send-command-and-check, tramp-get-remote-path)
(tramp-get-remote-tmpdir, tramp-get-remote-ln)
(tramp-shell-quote-argument): Set tramp-autoload cookie.
(with-file-property, with-connection-property): Move to
tramp-cache.el.
(tramp-local-call-process, tramp-decimal-to-octal)
(tramp-octal-to-decimal): Move to tramp-compat.el.
(tramp-handle-shell-command): Do not require 'shell.
(tramp-compute-multi-hops): No special handling for tramp-gw-*
symbols.
(tramp-unload-tramp): Do not call `tramp-unload-file-name-handlers'.
* net/tramp-cache.el (top): Require 'tramp. Add to
`tramp-unload-hook'.
(tramp-cache-data, tramp-get-file-property)
(tramp-set-file-property, tramp-flush-file-property)
(tramp-flush-directory-property, tramp-get-connection-property)
(tramp-set-connection-property, tramp-flush-connection-property)
(tramp-cache-print, tramp-list-connections): Set tramp-autoload
cookie.
(with-file-property, with-connection-property): New defuns, moved
from tramp.el.
(tramp-flush-file-function): Use `with-parsed-tramp-file-name'
macro.
* net/tramp-cmds.el (top): Add to `tramp-unload-hook'.
(tramp-version): Set tramp-autoload cookie.
* net/tramp-compat.el (top): Require 'tramp-loaddefs. Remove all
changes to tramp-unload-hook for other tramp-* packages. Add to
`tramp-unload-hook'.
(tramp-compat-decimal-to-octal, tramp-compat-octal-to-decimal)
(tramp-compat-call-process): New defuns, moved from tramp.el.
* net/tramp-fish.el (top) Require just 'tramp. Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add
to `tramp-unload-hook'. Change call of
`tramp-compat-decimal-to-octal' to new function name.
(tramp-fish-method): Make it a defconst.
(tramp-fish-file-name-p): Make it a defsubst.
(tramp-fish-method, tramp-fish-file-name-handler)
(tramp-fish-file-name-p): Set tramp-autoload cookie.
* net/tramp-ftp.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'. Add to
`tramp-unload-hook'.
(tramp-ftp-method): Make it a defconst.
(tramp-ftp-file-name-p): Make it a defsubst.
(tramp-ftp-method, tramp-ftp-file-name-handler)
(tramp-ftp-file-name-p): Set tramp-autoload cookie.
* net/tramp-gvfs.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'. Add to
`tramp-unload-hook'. Change checks, whether package can be
loaded.
(tramp-gvfs-file-name-p): Make it a defsubst.
(tramp-gvfs-methods, tramp-gvfs-file-name-handler)
(tramp-gvfs-file-name-p): Set tramp-autoload cookie.
(tramp-gvfs-handle-file-directory-p): New defun.
(tramp-gvfs-file-name-handler-alist): Use it.
* net/tramp-gw.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'. Add to
`tramp-unload-hook'.
(tramp-gw-tunnel-method, tramp-gw-default-tunnel-port)
(tramp-gw-socks-method, tramp-gw-default-socks-port): Make it a
defconst.
(tramp-gw-tunnel-method, tramp-gw-socks-method)
(tramp-gw-open-connection): Set tramp-autoload cookie.
* net/tramp-imap.el (top) Require just 'tramp. Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add
to `tramp-unload-hook'. Change checks, whether package can be
loaded.
(tramp-imap-file-name-p): Make it a defsubst.
(tramp-imap-method, tramp-imaps-method)
(tramp-imap-file-name-handler)
(tramp-imap-file-name-p): Set tramp-autoload cookie.
* net/tramp-smb.el (top) Require just 'tramp. Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'. Add
to `tramp-unload-hook'. Change checks, whether package can be
loaded. Change call of `tramp-compat-decimal-to-octal' to new
function name.
(tramp-smb-tunnel-method): Make it a defconst.
(tramp-smb-file-name-p): Make it a defsubst.
(tramp-smb-method, tramp-smb-file-name-handler)
(tramp-smb-file-name-p): Set tramp-autoload cookie.
* net/tramp-uu.el (top) Add to `tramp-unload-hook'.
(tramp-uuencode-region): Set tramp-autoload cookie.
* net/trampver.el (top) Add to `tramp-unload-hook'.
(tramp-version, tramp-bug-report-address): Set tramp-autoload
cookie. Update release number.
* net/tramp-cmds.el (tramp-cleanup-all-connections)
(tramp-reporter-dump-variable, tramp-load-report-modules)
(tramp-append-tramp-buffers): Use `tramp-compat-funcall'.
(tramp-bug): Recommend setting of `tramp-verbose' to 9.
* net/tramp-compat.el (top): Do not autoload
`tramp-handle-file-remote-p'. Load tramp-util.el and tramp-vc.el
only when `start-file-process' is not bound.
(byte-compile-not-obsolete-vars): Define if not bound.
(tramp-compat-funcall): New defmacro.
(tramp-compat-line-beginning-position)
(tramp-compat-line-end-position)
(tramp-compat-temporary-file-directory)
(tramp-compat-make-temp-file, tramp-compat-file-attributes)
(tramp-compat-copy-file, tramp-compat-copy-directory)
(tramp-compat-delete-file, tramp-compat-delete-directory)
(tramp-compat-number-sequence, tramp-compat-process-running-p):
Use it.
(tramp-advice-file-expand-wildcards): Do not use
`tramp-handle-file-remote-p'.
(tramp-compat-make-temp-file): Simplify fallback implementation.
(tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT.
(tramp-compat-copy-tree): Remove function.
(tramp-compat-delete-file): New defun.
(tramp-compat-delete-directory): Provide implementation for older
Emacsen.
(tramp-compat-file-attributes): Handle only
`wrong-number-of-arguments' error.
* net/tramp-fish.el (tramp-fish-handle-copy-file): Add
PRESERVE_SELINUX_CONTEXT.
(tramp-fish-handle-delete-file): Add TRASH arg.
(tramp-fish-handle-directory-files-and-attributes):
Do not use `tramp-fish-handle-file-attributes.
(tramp-fish-handle-file-local-copy)
(tramp-fish-handle-insert-file-contents)
(tramp-fish-maybe-open-connection): Use `with-progress-reporter'.
* net/tramp-gvfs.el (top): Require url-util.
(tramp-gvfs-mount-point): Remove.
(tramp-gvfs-file-name-handler-alist): Add `file-selinux-context'
and `set-file-selinux-context'.
(tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command)
(tramp-gvfs-handle-file-selinux-context)
(tramp-gvfs-handle-set-file-selinux-context): New defuns.
(with-tramp-dbus-call-method): Format trace message.
(tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT.
(tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file):
Implement backup call, when operation on local files fails. Use
progress reporter. Flush properties of changed files.
(tramp-gvfs-handle-delete-file): Add TRASH arg. Use
`tramp-compat-delete-file'.
(tramp-gvfs-handle-expand-file-name): Expand "~/".
(tramp-gvfs-handle-make-directory): Make more traces.
(tramp-gvfs-handle-write-region): Protect deleting tmpfile.
(tramp-gvfs-url-file-name): Hexify file name in url.
(tramp-gvfs-fuse-file-name): Take also prefix (like dav shares)
into account for the resulting file name.
(tramp-gvfs-handler-askquestion): Preserve current message, in
order to let progress reporter continue afterwards. (Bug#6257)
Return dummy mountpoint, when the answer is "no". See
`tramp-gvfs-maybe-open-connection'.
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p): Test also for new mountspec
attribute "default_location". Set "prefix" property. Handle
default-location.
(tramp-gvfs-mount-spec): Return both prefix and mountspec.
(tramp-gvfs-maybe-open-connection): Test, whether mountpoint
exists. Raise an error, if not (due to a corresponding answer
"no" in interactive questions, for example). Use
`tramp-compat-funcall'.
* net/tramp-imap.el (top): Autoload `epg-make-context'.
(tramp-imap-handle-copy-file): Add PRESERVE-SELINUX-CONTEXT.
(tramp-imap-do-copy-or-rename-file)
(tramp-imap-handle-insert-file-contents)
(tramp-imap-handle-file-local-copy): Use `with-progress-reporter'.
(tramp-imap-handle-delete-file): Add TRASH arg.
* net/tramp-smb.el (tramp-smb-handle-copy-file): Add
PRESERVE-SELINUX-CONTEXT.
(tramp-smb-handle-copy-file)
(tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
(tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
Use `with-progress-reporter'.
(tramp-smb-handle-delete-file): Add TRASH arg.
* net/tramp.el (tramp-methods): Move hostname to the end in all
ssh `tramp-login-args'. Add `tramp-async-args' attribute where
appropriate.
(tramp-verbose): Describe verbose level 9.
(tramp-completion-function-alist)
(tramp-file-name-regexp, tramp-chunksize)
(tramp-local-coding-commands, tramp-remote-coding-commands)
(with-connection-property, tramp-completion-mode-p)
(tramp-action-process-alive, tramp-action-out-of-band)
(tramp-check-for-regexp, tramp-file-name-p, tramp-equal-remote)
(tramp-exists-file-name-handler): Fix docstring.
(tramp-remote-process-environment): Use `format' instead of
`concat'. Protect version string by apostroph.
(tramp-shell-prompt-pattern): Do not use a shy group in case of
XEmacs.
(tramp-file-name-regexp-unified)
(tramp-completion-file-name-regexp-unified): On W32 systems, do
not regard the volume letter as remote filename. (Bug#5447)
(tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes): Don't pass "$3".
(tramp-vc-registered-read-file-names): Read input as
here-document, otherwise the command could exceed maximum length
of command line.
(tramp-file-name-handler-alist): Add `file-selinux-context' and
`set-file-selinux-context'.
(tramp-debug-message): Add `tramp-compat-funcall' to ignored
backtrace functions.
(tramp-error-with-buffer): Don't show the connection buffer when
we are in completion mode.
(tramp-progress-reporter-update, tramp-remote-selinux-p)
(tramp-handle-file-selinux-context)
(tramp-handle-set-file-selinux-context, tramp-process-sentinel)
(tramp-connectable-p, tramp-open-shell, tramp-get-remote-trash):
New defuns.
(with-progress-reporter): New defmacro.
(tramp-debug-outline-regexp): New defconst.
(top, tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times)
(tramp-handle-dired-compress-file, tramp-handle-shell-command)
(tramp-completion-mode-p, tramp-check-for-regexp)
(tramp-open-connection-setup-interactive-shell)
(tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd)
(tramp-time-diff, tramp-coding-system-change-eol-conversion)
(tramp-set-process-query-on-exit-flag, tramp-unload-tramp):
Use `tramp-compat-funcall'.
(tramp-handle-make-symbolic-link): Flush file properties.
(tramp-handle-load, tramp-handle-file-local-copy)
(tramp-handle-insert-file-contents, tramp-handle-write-region)
(tramp-handle-vc-registered, tramp-maybe-send-script)
(tramp-find-shell): Use `with-progress-reporter'.
(tramp-do-file-attributes-with-stat): Add space in format string,
in order to work around a bug in pdksh. Reported by Gilles Pion
<gpion@lfdj.com>.
(tramp-handle-verify-visited-file-modtime): Do not send a command
when the connection is not established.
(tramp-handle-set-file-times): Simplify the check for utc.
(tramp-handle-directory-files-and-attributes)
(tramp-get-remote-path): Use `copy-tree'.
(tramp-completion-handle-file-name-all-completions): Ensure, that
non remote files are still checked. Oops.
(tramp-handle-copy-file, tramp-do-copy-or-rename-file): Handle
PRESERVE-SELINUX-CONTEXT.
(tramp-do-copy-or-rename-file): Add progress reporter.
(tramp-do-copy-or-rename-file-directly): Do not use
`tramp-handle-file-remote-p'.
(tramp-do-copy-or-rename-file-out-of-band):
Use `tramp-compat-delete-directory'.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-compute-multi-hops, tramp-maybe-open-connection):
Use `format-spec-make'.
(tramp-handle-delete-file): Add TRASH arg.
(tramp-handle-dired-uncache): Flush directory cache, not only file
cache.
(tramp-handle-expand-file-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-completion-handle-file-name-completion): Use
`tramp-connectable-p'.
(tramp-handle-start-file-process): Set connection property "vec".
Use it, in order to invalidate file caches. Check only for
`remote-tty' process property.
Implement tty setting. (Bug#4604, Bug#6360)
(tramp-file-name-for-operation): Add `call-process-region' and
`set-file-selinux-context'.
(tramp-find-foreign-file-name-handler)
(tramp-advice-make-auto-save-file-name)
(tramp-set-auto-save-file-modes): Remove superfluous check for
`stringp'. This is done inside `tramp-tramp-file-p'.
(tramp-file-name-handler): Trace 'quit. Catch the error for some
operations when we are in completion mode. This gives the user
the chance to correct the file name in the minibuffer.
(tramp-completion-mode-p): Use `non-essential'.
(tramp-handle-file-name-all-completions): Backward/ XEmacs
compatibility: Use `completion-ignore-case' if
`read-file-name-completion-ignore-case' does not exist.
(tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'.
(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
`tramp-open-shell'.
(tramp-action-password): Hide password prompt before next run.
(tramp-process-actions): Widen connection buffer for the trace.
(tramp-open-connection-setup-interactive-shell): Set `remote-tty'
process property. Trace stty settings if `tramp-verbose' >= 9.
Apply workaround for IRIX64 bug. Move argument of last
`tramp-send-command' where it belongs to.
(tramp-maybe-open-connection): Use `async-args' and `gw-args' in
front of `login-args'.
(tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests
on "/dev/null" instead of "/".
(tramp-get-ls-command-with-dired): Make test for "--dired"
stronger.
(tramp-set-auto-save-file-modes): Adapt version check.
(tramp-set-process-query-on-exit-flag): Fix wrong parentheses.
(tramp-handle-process-file): Call the program in a subshell, in
order to preserve working directory.
(tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but
`tramp-remote-sh' from `tramp-methods'.
(tramp-get-ls-command): Make test for "--color=never" stronger.
(tramp-check-for-regexp): Use (forward-line 1).
* net/trampver.el: Update release number.
* net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass
empty argument to gvfs-copy.
* net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
handle new TRASH arg of `delete-file'.
* net/tramp.el (tramp-handle-insert-directory): Don't use
`forward-word', its default syntax could be changed.
Implement compression for inline methods.
* net/tramp.el (tramp-inline-compress-start-size): New defcustom.
(tramp-copy-size-limit): Allow also nil.
(tramp-inline-compress-commands): New defconst.
(tramp-find-inline-compress, tramp-get-inline-compress)
(tramp-get-inline-coding): New defuns.
(tramp-get-remote-coding, tramp-get-local-coding): Remove,
replaced by `tramp-get-inline-coding'.
(tramp-handle-file-local-copy, tramp-handle-write-region)
(tramp-method-out-of-band-p): Use `tramp-get-inline-coding'.
Detect ssh 'ControlMaster' argument automatically in some cases.
* net/tramp.el (tramp-detect-ssh-controlmaster): New defun.
(tramp-default-method): Use it.
* net/tramp.el (tramp-file-name-for-operation):
Add file-selinux-context.
* net/tramp.el:
* net/tramp-fish.el:
* net/tramp-smb.el:
* net/tramp-uu.el:
* net/trampver.el: Move compatibility code to tramp-compat.el.
Apply `mapc' instead of `mapcar' when the code needs side effects
only. Move utf-8 coding cookie to the second line.