* lisp/progmodes/project.el: Remove stale compilation-read-command
declarations. Autoload recompile for Emacs versions prior to 31, to
allow calling project-recompile before project-compile (bug#74631).
(project-recompile): Set compilation-directory to avoid recompile
using a value unrelated to the current project (bug#68570).
An alternative to setting window-height and preserve-size is to rely
on display-buffer--maybe-at-bottom's support for
temp-buffer-resize-mode.
* lisp/progmodes/project.el (project-kill-buffers): Set
window-height to a function, not a form/cons (bug#52148).
* lisp/emacs-lisp/comp.el (comp--func-unique-in-cu-p): Check
only the callee name instead of requiring global uniqueness.
* test/src/comp-resources/comp-test-direct-call.el: New file.
* test/src/comp-resources/comp-test-direct-call-dup.el: New file.
* test/src/comp-tests.el (comp-tests-has-direct-call-p)
(comp-tests-direct-call-with-lambdas)
(comp-tests-direct-call-with-duplicate-names): New tests.
* doc/emacs/maintaining.texi (Looking Up Identifiers): Document
it.
* etc/NEWS (bindings): Mention it.
* etc/themes/newcomers-presets-theme.el (newcomers-presets): Add
it.
* lisp/progmodes/xref.el (xref-mouse-mode-map, xref-mouse-mode)
(global-xref-mouse-mode): Implement it.
* lisp/emacs-lisp/package.el (package-maintainers): Detect if
:maintainers contains on a single cons-cell, denoting a single
maintainer, in which case we wrap it in a singleton list.
With bug#59527 we ensured that the open paren line string was fontified
which was broken again with bug#63089 because there, the opening paren
was fontified with a new face.
With this change, the returned string is fontified again. Only if
`blink-matching-paren-highlight-offscreen' is non-nil, the opening paren
is unfontified and then fontified again with the
`blink-matching-paren-offscreen' face.
* lisp/simple.el (blink-paren-open-paren-line-string): Keep returned
line string fontified with slight exception if
`blink-matching-paren-highlight-offscreen' is non-nil.
* lisp/emacs-lisp/package-activate.el (package--add-info-node):
Use 'Info-default-directory-list' if Info has not been
initialized, otherwise fall back to 'Info-directory-list'
without calling 'info-initialize' beforehand, since the function
initializes 'Info-directory-list'. (Bug#80495)
* etc/themes/newcomers-presets-theme.el
(newcomers-presets-mode-enabled-local-modes): Interpret the
variable as a proper alist without duplicate keys.
(newcomers-presets-mode): Handle new structure.
* lisp/progmodes/elisp-mode.el (elisp--read-symbol-shorthands):
New function, extracted from `elisp--completion-local-symbols`.
Remember the longhand symbol in `elisp--longhand` property.
(elisp--completion-local-symbols): Use it.
(elisp--shorthand-aware-fboundp, elisp--shorthand-aware-boundp):
Use the new `elisp--longhand` property.
This change is partially necessary due to the changes to
'package-maintainers' in 4b253c39b1.
* test/lisp/emacs-lisp/package-vc-tests.el (prepare-patch): Do
not match exact order of headers, and do not match exact syntax
of email address.
* lisp/vc/smerge-mode.el (smerge--refine-chopup-region):
Replace `beg..end` arg with an overlay.
(smerge-refine-regions): Replace `beg` arg with an overlay.
(smerge--refine-prepare-regions, smerge--refine-apply-diff-1):
New functions, extracted from `smerge-refine-regions`.
(smerge--refine-apply-diff): New function.
(smerge-refine-regions): Use them. Also delete temp files right after
running `diff` rather than after applying diff's output.
* lisp/simple.el (next-line, previous-line): Remove useless
`condition-case` handler, and hence the whole `condition-case`, and
then simplify.
* lisp/emacs-lisp/comp.el (comp--error-add-context): New function.
(comp--native-compile): Use it.
* lisp/gnus/nnrss.el (nnrss-insert): Use `with-demoted-errors`.
* lisp/textmodes/emacs-news-mode.el (emacs-news-find-heading):
HEADING must be a complete line, otherwise we have false positives
and false negatives. (Bug#80569)
* lisp/progmodes/flymake.el (flymake-goto-next-error): Use
cl-member-if not member-if and cl-plusp not plusp because this
is a `:core' ELPA package (bug#79930).
* lisp/progmodes/flymake.el (flymake-diagnostics-buffer-mode-map):
Only bind 'n' and 'p' when 'next-error-this-buffer-no-select' is
defined. For releasing on ELPA (bug#79930).
Bump the package version to 1.4.4.
* lisp/startup.el (startup-insert-newcomers-theme): Factor out
new function from 'normal-no-mouse-startup-screen'.
(normal-mouse-startup-screen, normal-no-mouse-startup-screen):
Call new function.