If the value is 'truncate-sym-name-if-fit andthe single docstring
doesn't fit in the echo area even when the symbol name is elided, that
step shouldn't be attempted. Also if the value is nil, really ensure
that only the first line is shown.
* lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework
'truncate-sym-name-if-fit case of eldoc-echo-area-use-multiline-p.
* lisp/net/eww.el (eww-open-file): Allow opening non-local Tramp
files (bug#40425).
(eww): Adjust calling convention to allow passing in data directly
via a buffer.
* lisp/net/shr.el (shr-max-width, shr-width): Fix typo and wording
of the doc strings.
* etc/NEWS: Fix the wording of the 'shr-max-width's entry, and
move it to the SHR section.
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
New defvar for configuring bug regexp and URL based on IRC channel and
server names.
(bug-reference--maybe-setup-from-irc): New defun doing the setup given
channel and server.
(bug-reference-try-setup-from-rcirc): New defun calling the above for
rcirc buffers.
(bug-reference--run-auto-setup): Enable the auto-setup for rcirc.
* etc/NEWS: Extend entry describing bug-reference auto-setup.
* lisp/emacs-lisp/text-property-search.el
(text-property-search-backward): Fix inconsistent behaviour of
S-TAB in eww (and other callers that use the NOT-CURRENT
behaviour) when there are adjacent elements
(bug#39239).
* src/image.c (gif_load): When unable to parse a GIF specified
via a data attribute, don't message the complete binary, because
that's not useful (bug#40850).
These still referred to XDG as being preferred.
* doc/emacs/custom.texi (Init File): Correct description of init
file preference order (Bug#42388).
* doc/emacs/custom.texi (Find Init): Correct description of
default init-file.
* lisp/gnus/gnus.el (gnus-slave-no-server, gnus-slave): Mark as
obsolete in a way that still lets them be used as interactive
commands before Gnus is loaded.
* lisp/gnus/gnus-agent.el (gnus-slave-unplugged): Ditto (bug#42401).
* lisp/net/eww.el (eww-list-bookmarks): Don't show buffer if there
are no bookmarks. (Bug#41385)
(eww-bookmark-prepare): Move signalling an error if there are no
bookmarks from here...
(eww-read-bookmarks): ...to here. Add new argument `error-out' to
control this.
(eww-next-bookmark, eww-previous-bookmark): Call
`eww-read-bookmarks'.
* doc/misc/gnus.texi (Child Gnusae): Rename node from "Slave
Gnusae" and adjust wording. Also remove at least one joke.
* lisp/gnus/gnus-start.el (gnus-no-server-1, gnus-1)
(gnus-setup-news, gnus-save-newsrc-file): Adjust parameter names.
(gnus-child-mode): Rename and add alias.
(gnus-child-save-newsrc): Rename.
(gnus-parent-read-child-newsrc): Ditto.
* lisp/gnus/gnus-group.el (gnus-group-mode)
(gnus-group-get-new-news): Ditto.
* lisp/gnus/gnus-agent.el (gnus-child-unplugged): Rename function
from gnus-slave-unplugged (and add the latter as an obsolete alias).
* lisp/gnus/gnus.el (gnus-other-frame-function): Adjust function
names in the defcustom to new naming scheme.
(gnus-other-frame-resume-function): Ditto.
(gnus): Adjust parameter names.
* src/w32proc.c (sys_kill): Test the status of the left Ctrl key
for the purpose of restoring it after simulating Ctrl-C. This
avoids leaving the left Ctrl key status in depressed state when
the user actually pressed the right Ctrl key. (Bug#42350)
Also add a TODO that I should implement something similar for
IRC (rcirc/ERC).
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
Auto-setup also with groups matching orgmode and tramp.
* src/comp.c (compile_function): Allocate function frame as array
if non local exits are present to retain correct Elisp semantic.
(emit_limple_call_ref): Directly use the frame array for ref calls
to have GCC spills into it before calling.
Users can move in `epa-key-list-mode' buffers using either
`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
When using the first set of commands, then the cursor stays in the
current column and that normally is the first column. The key
widgets do not begin until the third character of their respective
lines.
All `epa' commands work regardless of whether the cursor is on the
widget or before them. The `epa-show-key' command did not exist until
now because the `widget-button-press' already performs its task. But
because the widgets don't span complete lines we actually need this
command too.
Normally when one keymap is to be treated as the parent of another,
then that relationship is setup once at the time when the child is
being defined, i.e. at birth. For some reason, this was not done
here; instead `widget-keymap' is set as `epa-key-list-mode-map'
parent every time the former is setup to be used as the local map.
This appears to be a mistake. A few other keymaps use `widget-keymap'
as their parent and in those cases the relationship is established
just once. `epa-key-list-mode-map' is the only exception and because
there is absolutely no indication that that is justified, we remove
this inconsistency.
* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
while defining it.
* lisp/epa.el (epa--list-keys): Do not set the parent of the local
keymap here.
These changes make the code more readable.
* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify)
(epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead
of while.
* lisp/epa-file.el (epa-file-passphrase-callback-function):
Set just one variable per setq call.
We can assume that `encode-coding-string' and `decode-coding-string'
are available; they were added in 1997.
* lisp/epa-file.el (epa-file--encode-coding-string)
(epa-file--decode-coding-string): Remove aliases for
encode-coding-string and decode-coding-string.
* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
instead of removed epa-file--encode-coding-string.
`epa-validity-face-alist' isn't actually a face but belongs
in that group anyway.
* lisp/epa.el (epa-field-name, epa-field-body)
(epa-validity-face-alist): Add to epa-faces Custom group.
Previously option `epa-mail-aliases' was the only option that was
defined right after the group `epa-faces' and right before all the
faces. Now it is defined with all the other options and thus before
the definition of the `epa-faces' group, which it does not belong to.
* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): New const.
(comp-limple-mode): New major mode.
(comp-log-to-buffer): Enable `comp-limple-mode' in the log buffer.
This fixes new occurrences of "Eldoc" since emacs-27.
* doc/lispref/modes.texi (Major Mode Conventions):
* etc/NEWS:
* lisp/descr-text.el (describe-char-eldoc):
* lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p)
(eldoc-prefer-doc-buffer, eldoc--documentation-strategy-defcustom):
Consistently capitalize eldoc as ElDoc rather than Eldoc in
documentation and commentary.
* lisp/emacs-lisp/comp.el (comp-passes): Rename `comp-propagate'
-> `comp-fwprop'.
(comp-fwprop-prologue): Rename from `comp-propagate-prologue'.
(comp-fwprop-insn): Rename from `comp-fwprop-insn'.
(comp-propagate*): Rename from `comp-propagate*' and update.
(comp-fwprop): Rename from `comp-propagate' and update.
All frame slots are now simple automatic variables given the array
allocation and fill is done in 'emit_limple_call_ref'.
* src/comp.c (comp_t): Remove 'f_frame' 'arrays' slots, add
'frame'.
(emit_mvar_lval): Simplify to make use of 'comp.frame'.
(compile_function): Clean-up and add comp.frame initialization.
* src/comp.c (comp_t): Add 'zero' field.
(emit_limple_call_ref): Allocate an array to host the parametes
and generate the code moving values into.
(Fcomp__init_ctxt): Initialize comp.zero.
* lisp/descr-text.el (describe-char): On GUI frames, display the
Unicode names of the composed characters like they are displayed
on TTY frames. (Bug#42256)