* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list)
(comp-bootstrap-deny-list, comp-never-optimize-functions)
(comp-async-env-modifier-form, comp-native-driver-options):
Fix :type (`list' on its own isn't even a valid type).
* src/xterm.c (x_create_toolkit_scroll_bar)
(x_create_horizontal_toolkit_scroll_bar): String constants for
XtSetArg are defined as const strings (in
/usr/include/X11/Xaw3d/ThreeD.h, for instance), but the argument
in XtSetArg is defined as either a const char* or a regular char*
in /usr/include/X11/Intrinsic.h. Cast the argument to String
(which should be correct on all platforms, hopefully) to avoid a
compilation warning (bug#47452).
Stefan Kangas [Tue, 27 Apr 2021 01:37:43 +0000 (03:37 +0200)]
Rename abnormal hook to comp-async-cu-done-functions
* lisp/emacs-lisp/comp.el (comp-async-cu-done-functions): Rename
from 'comp-async-cu-done-hook' to reflect that it is an abnormal
hook. Doc fix and update single caller.
Stefan Monnier [Mon, 26 Apr 2021 22:40:09 +0000 (18:40 -0400)]
* lisp/emacs-lisp/package.el: Fix use of `find-library-name`
That function caused a warning for a good reason.
Don't just declare it and hope it will be available.
(package--list-of-conflicts): Require `find-func` explicitly before
declaring the function. Also don't ignore all errors but only
the `file-error`s which will be emitted by `find-library-name`
in normal circumstances.
* lisp/emacs-lisp/find-func.el (find-library-name): Signal a `file-error`
Instead of a generic `error`.
Eric Abrahamsen [Fri, 5 Mar 2021 00:53:30 +0000 (16:53 -0800)]
Small tweaks to gnus-registry reindexing messaging
* lisp/gnus/gnus-registry.el (gnus-registry-fixup-registry): Use
`seq-set-equal-p' so we don't care about list element ordering. Don't
show messages within `registry-reindex' if we aren't at gnus-verbose
level 9.
Andrea Corallo [Mon, 26 Apr 2021 15:28:38 +0000 (17:28 +0200)]
* Use `expand-file-name' in place of `concat' in comp-tests.el
* test/src/comp-tests.el (comp-test-src,
comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure,
comp-test-src): Use `expand-file-name' in place of `concat'.
Michael Albinus [Mon, 26 Apr 2021 13:53:59 +0000 (15:53 +0200)]
Some rearrangement in gitlab-ci.yml
* test/infra/gitlab-ci.yml (test-filenotify-gio, test-gnustep):
Add 'needs:' clause.
(build-native-bootstrap-speed0, build-native-bootstrap-speed1)
(build-native-bootstrap-speed2): Rename from 'test-*'. Do not use
'--without-makeinfo'.
Alan Mackenzie [Sun, 25 Apr 2021 17:40:16 +0000 (17:40 +0000)]
CC Mode: Get proper search limits in c-font-lock-cut-off-declarators
* lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators): Instead of
using a crude 2,000 characters back limit for backward searching, which is
erroneous when that point is in a literal, use the already calculated
c-determine-limit result.
Daniel Mendler [Mon, 19 Apr 2021 22:01:44 +0000 (00:01 +0200)]
(completion-all-sorted-completions): Fix history use with boundaries
Preprocess the history (and the default) through the new function
`minibuffer--sort-preprocess-history` to filter out the completion
base for completion tables with boundaries (in particular the file
completion table).
* lisp/minibuffer.el (minibuffer--sort-preprocess-history_: New function.
(completion-all-sorted-completions): Use it.
* test/lisp/minibuffer-tests.el (completion-all-sorted-completions):
Add tests for various combinations of with/without history/base/default.
Stefan Monnier [Sat, 24 Apr 2021 19:57:22 +0000 (15:57 -0400)]
* lisp/mpc.el: Avoid (implicit) `eval`; prefer #' to quote function names
(mpc-format): Compose functions instead of constructing
source-code expressions at run time.
Rename `mpc-pred` property to `mpc--uptodate-p`.
(mpc-status-buffer-refresh): Adjust to the new property name.
Simlify top-level Makefile since admin is always included
* Makefile.in (clean_dirs, distclean_dirs, maintainer_clean_dirs):
Add admin directories.
(clean, distclean, bootstrap-clean, maintainer-clean): Simplify.
(maybeclean_dirs): Remove - this dates to when admin/ was not
included in tar files.
Stefan Kangas [Sat, 24 Apr 2021 13:18:03 +0000 (15:18 +0200)]
Redesign and improve the help-for-help (C-h C-h) command
* lisp/help.el (help-for-help): Redesign help screen; add sections,
rearrange and reword.
(help-for-help-header): New face.
(help--for-help-make-commands, help--for-help-make-sections): New
functions.
(help-for-help-buffer-name): New variable.
* lisp/help-macro.el (make-help-screen): New optional argument
BUFFER-NAME. Fontify keys.
This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01695.html
https://lists.gnu.org/r/emacs-devel/2021-03/msg00670.html
https://lists.gnu.org/r/emacs-devel/2021-04/msg00292.html
Eli Zaretskii [Sat, 24 Apr 2021 12:17:40 +0000 (15:17 +0300)]
Minor update for make-tarball.txt
* admin/make-tarball.txt (UPDATING THE EMACS WEB PAGES AFTER A
RELEASE): Update and enhance the section to make it easier to find
the banner and verify the updated pages are in place.
Fix thinko introduced in the last ERC patch (bug#47788)
* lisp/erc/erc-backend.el (erc-open-network-stream): Need to use apply
to call open-network-stream with the supplied arguments because of the
plist p of arguments. Thanks to neverwas for pointing it out.
Philipp Stephani [Fri, 23 Apr 2021 10:52:51 +0000 (12:52 +0200)]
Fix small bug in 'completion-table-subvert'.
Even for a trivial underlying completion table (where the 'boundaries'
action returns nil), we need to provide nontrivial boundaries so that
they match the behavior of 'all-completions'.
* lisp/minibuffer.el (completion-table-subvert): Return boundaries
even for trivial underlying completion table.
* test/lisp/minibuffer-tests.el (completion-table-subvert-test):
Amend unit test to also test boundaries. While there, also test
the other completion functions.
Add support for using a TLS client certificate with 'erc-tls' (bug#47788)
* lisp/erc/erc-backend.el (erc-session-client-certificate): New
buffer-local variable storing the TLS client certificate used for the
current connection.
(erc-open-network-stream): Use open-network-stream instead of
make-network-process, and pass any additional arguments to it.
(erc-server-connect): Add an optional client-certificate argument
that if present is passed with the :client-certificate keyword as part
of the arguments to erc-server-connect-function.
* lisp/erc/erc.el (erc-open): Add new optional client-certificate
argument, set it as erc-session-client-certificate, and pass it along
to erc-server-connect.
(erc): Clarify documentation string with respect to the full-name
argument.
(erc-tls): Add new client-certificate keyword argument and pass it in
the direct call to erc-open (instead of going through erc).
(erc-open-tls-stream): Pass any additional arguments (such as
:client-certificate) to open-network-stream. Also allow overriding
:nowait if desired.
* doc/misc/erc.texi: Add documentation for erc-tls, including the new
:client-certificate argument.
* lisp/progmodes/project.el (project-compilation-buffer-name-function):
New option.
(project-compile): Use it.
(project-prefixed-buffer-name): New function.
Eli Zaretskii [Thu, 22 Apr 2021 17:23:23 +0000 (20:23 +0300)]
Fix MS-Windows link switches for unexec
* configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Disable ASLR
when linking for unexec. Reported by Nikolay Kudryavtsev
<nikolay.kudryavtsev@gmail.com>.
Stefan Monnier [Thu, 22 Apr 2021 13:32:04 +0000 (09:32 -0400)]
Fix unload+reload of files using `custom-initialize-delay` (bug#47072)
* lisp/custom.el (custom-initialize-delay): Don't delay if
`custom-delayed-init-variables` has already been processed.
* lisp/startup.el (command-line): Mark `custom-delayed-init-variables`
as processed.
Alan Mackenzie [Thu, 22 Apr 2021 12:07:21 +0000 (12:07 +0000)]
Fix unclean "can't happen" error handling in read_minibuf_unwind
Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor
t, a minibuffer could appear in two frames at the same time.
* src/window.c (Fset_window_configuration): Add a new &optional parameter
DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from
the supplied window configuration.
(restore_window_configuration): Enhance to match the above.
* src/minibuf.c (read_minibuf): Enhance the argument list to the
restore_window_configuration calls to match the above. In the main case,
restoring the minibuffer is inhibited.
(read_minibuf_unwind): Should the frame with the expired minibuffer not be
found ("can't happen"), unwind the stacked data nevertheless, rather than just
exiting.
* src/keyboard.c (read_char_help_form_unwind): Amend a call of
Fset_window_configuration.
* doc/lispref/windows.texi (Window Configurations): Document the new form of
set-window-configuration.
* etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for
set-window-configuration.
Eli Zaretskii [Thu, 22 Apr 2021 11:01:42 +0000 (14:01 +0300)]
Fix Isearch hscrolling in a corner case
* lisp/isearch.el (isearch-update): When we start hscrolled,
consider also the case that point ends up being to the left of the
hscrolled window's edge. (Bug#46316)