Juri Linkov [Sat, 28 Apr 2018 20:20:33 +0000 (23:20 +0300)]
* lisp/subr.el (dotimes): Deprecate RESULT field. (Bug#16206)
* doc/lispref/control.texi (Iteration):
* doc/misc/cl.texi (Iteration): Document deprecation of its use.
* doc/lispintro/emacs-lisp-intro.texi (dotimes):
* test/src/emacs-module-tests.el (multiply-string):
* test/lisp/filenotify-tests.el (file-notify-test07-many-events):
Place RESULT field after the form.
* lisp/gnus/message.el (message-forward-included-headers): Change
the default to exclude most messages.
(message-remove-ignored-headers): Make
message-forward-included-headers actually work -- it's a list of
regexps, not a list of strings.
Ivan Shmakov [Fri, 23 Mar 2018 03:24:17 +0000 (03:24 +0000)]
Ensure woman2-roff-buffer restores functions on error (Bug#30908)
* lisp/woman.el (woman2-roff-buffer): Put the fallback paragraph
processing inside the protected part of the unwind-protect form,
rather than the cleanup forms. Attempting to format paragraphs again
after an error has been signaled is unlikely to be helpful. The
fallback processing should be triggered only in case the loop
terminated normally, but did not reach the end of the buffer for some
reason.
* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
element of list being printed onto cl-print--currently-printing.
* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
test.
Paul Eggert [Wed, 25 Apr 2018 19:20:04 +0000 (12:20 -0700)]
Don’t set print-escape-newlines in the minibuffer
This appears to be an unnecessary and possibly-confusing
revenant from ancient code (Bug#31251). See thread containing:
https://lists.gnu.org/r/emacs-devel/2018-04/msg00654.html
* src/minibuf.c (read_minibuf): Do not set print-escape-newlines.
* src/print.c (syms_of_print): Do not defsym print-escape-newlines
or print-escape-control-characters, as these symbols are not used
in C code.
Do not call interprogram-paste-function repeatedly
* lisp/simple.el (current-kill): Disable interprogram-paste-function
so that kill-new doesn't call it repeatedly when
save-interprogram-paste-before-kill is enabled. (bug#31209)
* lisp/subr.el (add-to-invisibility-spec)
(remove-from-invisibility-spec): Make the doc string say what
happens if `buffer-invisibility-spec' is an atom (bug#30171).
Paul Eggert [Mon, 23 Apr 2018 17:44:24 +0000 (10:44 -0700)]
Backspace is not a paragraph separator in Texinfo files
* lisp/textmodes/texinfo.el (texinfo-mode): Omit backspace from
paragraph separator and start. Perhaps there was some confusion
about .texi vs .info files long ago?
Michael Albinus [Mon, 23 Apr 2018 08:16:06 +0000 (10:16 +0200)]
Let Tramp save passwords
* lisp/auth-source.el (auth-source-secrets-saver): New defun.
(auth-source-secrets-create): Use it.
* lisp/net/secrets.el (secrets-struct-secret-content-type):
(secrets-create-item): Do not hard-code :xdg:schema.
* lisp/net/tramp.el (tramp-password-save-function): New defvar.
(tramp-read-passwd): Set it properly.
(tramp-process-actions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
Save password.
Juri Linkov [Sun, 22 Apr 2018 22:10:49 +0000 (01:10 +0300)]
Improve Isearch error handling
* lisp/isearch.el (isearch--momentary-message): Propertize message
suffix with minibuffer-prompt face.
(isearch--describe-regexp-mode): Do not omit description in case
of error in default non-literal search.
(isearch-message-prefix): Display “case-sensitive” in case of error.
(isearch-message-suffix): Propertize message suffix with
minibuffer-prompt face.
(isearch-search-fun-default): Remove unused error handling.
* lisp/vc/add-log.el (change-log-next-buffer): Better handle
errors during wrapping.
5de608f (origin/emacs-26) Update the documentation of 'perform-replace' 06245b6 * etc/NEWS: Another fix for the last change (noted by Juri Li... 8f6293c Fix use of @key in Texinfo manuals f4c9894 Improve documentation of actual arglist ce0e253 ; * etc/NEWS: Improve last change as proposed by Phil Sainty b89ff0e Don't assume term-current-row cache is valid (Bug#31193) 326a296 ; * etc/NEWS: Mention 'display-buffer-in-major-side-window' c... 3bdc9a1 Fix flyspell-auto-correct-previous-word broken by recent change a539eb5 * test/src/lread-tests.el (lread-test-bug-31186): New test. 3fa472b Fix undefined behaviour while looking for lexical-binding fil... 4341aac Minor wording improvement in "Bookmarks"
Juri Linkov [Thu, 19 Apr 2018 20:30:46 +0000 (23:30 +0300)]
Use text properties to save search parameters. (Bug#22479)
* lisp/isearch.el (isearch-update-ring): Call isearch-string-propertize.
Delete duplicates with possibly different text properties.
(isearch-string-propertize)
(isearch-update-from-string-properties): New functions.
(with-isearch-suspended, isearch-ring-adjust1):
Call isearch-update-from-string-properties.
(isearch-edit-string): Let-bind minibuffer-allow-text-properties to t.
(isearch-query-replace): Use propertized isearch-string.
(isearch--lax-regexp-function-p): Simplify.
* lisp/replace.el (query-replace-descr): Rewrite to keep text properties
non-destructively in the replacement string.
(query-replace--split-string): Don't remove text properties
by substring-no-properties.
(query-replace-read-args): Try to get isearch-regexp-function
from text-properties.
(perform-replace): Display parameters in the replacement message.
* lisp/desktop.el (desktop--v2s): Check if text properties are unreadable.
(Bug#30786)
Michael Albinus [Thu, 19 Apr 2018 09:04:01 +0000 (11:04 +0200)]
Handle chrooted environments in Tramp
* doc/misc/tramp.texi (Frequently Asked Questions): New item, chrooted
environments.
* lisp/net/tramp.el (tramp-local-host-regexp): Make it a defcustom.
Allow nil.
(tramp-local-host-p):
* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Handle this.
Eli Zaretskii [Thu, 19 Apr 2018 08:29:50 +0000 (11:29 +0300)]
Improve documentation of actual arglist
* doc/lispref/functions.texi (Function Documentation): Advise
against using '(fn ARGLIST)' method of advertising a calling
convention when the old calling convention is deprecated.
(Bug#31191)
Paul Eggert [Thu, 19 Apr 2018 00:12:56 +0000 (17:12 -0700)]
Fix botched merge of FQDNs in PROBLEMS
This text was originally removed in
2014-12-30T04:42:26Z!eggert@cs.ucla.edu but then was
mistakenly re-added in the merge in
2015-03-23T17:30:30Z!eggert@cs.ucla.edu.
* etc/PROBLEMS: Omit obsolete mention of FQDNs.
Don't assume term-current-row cache is valid (Bug#31193)
* lisp/term.el (term-down): Call `term-current-row' instead of
directly accessing the variable `term-current-row. Following a resize
of the terminal's window, `term-current-row' is reset to nil, so it is
not safe to assume it is a number.
Paul Eggert [Tue, 17 Apr 2018 23:23:16 +0000 (16:23 -0700)]
Fix signal for large integers with valid syntax
* src/lread.c (read_integer): If a radixed integer has valid syntax
but is waayyy too large, signal overflow instead of invalid syntax.
* test/src/lread-tests.el (lread-long-hex-integer): New test.
David Beswick [Tue, 17 Apr 2018 21:53:55 +0000 (23:53 +0200)]
Don't display an initial-buffer-choice buffer twice
* lisp/startup.el (command-line-1): Don't display an
initial-buffer-choice buffer twice if the user is also explicitly
specifying it on the mode line, but shift it to the initial place
(bug#29999).
Fix problem in `g' in Info with strings like "(foo)"
* lisp/info.el (Info-find-file): Add a new parameter to avoid
jumping to the directory if the user looks for a filename on the
form "(foo)" that doesn't exist.
(Info-read-node-name-1): Use it to allow completing over strings
like "(foo)" without losing focus (bug#30091).
* lisp/simple.el (next-error-buffer): New buffer-local variable
instead of making buffer-local next-error-last-buffer. (Bug#20489)
(next-error-found-function): New defcustom.
(next-error-buffer-on-selected-frame): Use t for avoid-current arg
of next-error-buffer-p.
(next-error-find-buffer): Add second rule for using the current
next-error-buffer if it's not visited by other navigation.
(next-error, next-error-internal): Call next-error-found.
(next-error-found): New function with body extracted mostly from
next-error.
* lisp/vc/add-log.el (change-log-goto-source-internal): New function
with body from change-log-goto-source.
(change-log-goto-source): Call change-log-goto-source-internal and
next-error-found.
(change-log-next-error): Call change-log-goto-source-internal
instead of change-log-goto-source.
(change-log-mode): Don't set next-error-last-buffer. (Bug#28864)
* lisp/net/shr.el (shr-insert-document): The computation of the
window width is apparently one pixel too wide for the shr line
folding algorithm (bug#31196).
Place point consistently in the Gnus group buffer on exit
* lisp/gnus/gnus-sum.el (gnus-summary-exit): Place point correctly
when exiting with `q' (and the like) from the article buffer when
only the article buffer is displayed (bug#31195). This is
apparently yet another fall-out from the "preserve-visible-point-
in-windows" patches of yesteryear...
Make mail-sendmail-undelimit-header actually remove the delimiter
* lisp/mail/sendmail.el (mail-sendmail-undelimit-header): Actually
remove the mail header separator (bug#17488). In all the cases
where this is called, the separator will probably already have
been removed, so the only thing this does is place point at the
end of the headers.