This fixes bug#80507.
* lisp/progmodes/cc-defs.el (c-make-keywords-re): When a mixed list
of symbols and non-symbols is presented to this function, put
"\_< .... \_>" brackets around the part which handles the symbols
in the resulting regexp.
* lisp/subr.el (any): Rename from this ...
(member-if): ... to this. All uses changed.
Implement '&key KEY-FN' for backwards compatibility.
(any): New function alias.
* lisp/emacs-lisp/cl-seq.el (cl-member-if): Make an alias for
'member-if'.
* lisp/obsolete/cl.el (member-if): Delete obsolete function
alias.
* doc/lispref/lists.texi (List Elements):
* doc/misc/cl.texi (Lists as Sets):
* etc/NEWS: Document the change.
* lisp/dired-aux.el (dired-diff): Use default-directory, not
dired-current-directory, to determine whether the default input
is in another directory (bug#80497). Use a relative file name
to improve readability.
Not a bug report, but this is from the emacs-devel thread
"Tree-sitter: Transcendental things".
Improve tree-sitter thing navigation functions to handle the
case where there are multiple nested parsers in the
buffer. Previously these functions just grab the node at point
and are limited to the parser of that node. Now these functions
will thoUrouly search through all parsers that covers point
before giving up.
* doc/lispref/parsing.texi: Mention the change.
* lisp/treesit.el (treesit--some): New macro.
(treesit--thing-sibling): Use the new macro, add a new PARSER
parameter.
(treesit-thing-prev):
(treesit-thing-next): Add PARSER parameter.
(treesit-thing-at):
(treesit-navigate-thing): Use the new macro, add a new PARSER
parameter. Also pass the PARSER arg to recursive calls and
calls to treesit-thing-prev, etc.
Its sole initialization seems to have been accidentally dropped as
part of bug#25979.
* lisp/help.el (help--window-setup): Set help-window-old-frame
before showing the help buffer (bug#80505).
* lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro):
Don't warn if calling the compiler-macro handler elicits an arity error.
This helps in two ways: no messy wrong-number-of-arguments errors during
macro-expansion, only the actual warnings emitted by the compiler, and
compiler-macros no longer need to be written defensively to avoid such
errors.
In Bash, the characters + and * are not valid in variable names.
In sh, they are also disallowed in both function and variable
names. Treating them as punctuation is appropriate, as they most
commonly appear as operators.
Examples:
. Arithmetic: $((var1*var2))
. Compound assignment: list_name+=("item")
* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Mark + and *
as punctuation in the syntax table. (Bug#80280)
Copyright-paperwork-exempt: yes
* admin/merge-gnulib (GNULIB_MODULES): Add memeq, streq and remove
stringeq, to adjust to a module splitup in Gnulib.
* lib/memeq.c, lib/streq.c, lib/strnul.c, m4/memeq.m4, m4/streq.m4:
New files.
* lib/string.c, m4/stringeq.m4: Remove.
* src/w32image.c (w32_gdip_export_frame): New function.
(gdiplus_init): Load 'GdipCreateBitmapFromHBITMAP' from GDI+ DLL.
* src/w32fns.c (Fw32_export_frame): New primitive.
* etc/NEWS: Announce the new primitive.
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Set connection-local value of `command-line-max-length'.
* lisp/net/tramp.el (tramp-get-connection-local-criteria): New defsubst.
(tramp-set-connection-local-variables): Use it.
(tramp-set-connection-local-variables-for-buffer):
Use `connection-local-criteria-for-default-directory'.
The code was moved, but without its comment, in this change:
Author: Dmitry Gutov <dgutov@yandex.ru>
AuthorDate: Thu May 28 02:16:00 2015 +0300
Delete the old process in vc-setup-buffer
* lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
process here.
(vc-do-command): Rather than here (bug#20608).
* src/keyboard.c (syms_of_keyboard):
<multiple_terminals_merge_keyboards>: New variable.
(read_event_from_main_queue): Mention it in message.
* lisp/cus-start.el: Make it customizable.
* src/callint.c (Ffuncall_interactively):
* src/keyboard.c (Frecursive_edit):
* src/minibuf.c (read_minibuf): When its value is true, don't
enter single-kboard mode (bug#79892).
* admin/notes/multi-tty:
* etc/NEWS: Document it.
Also, document stuffing better.
* src/keyboard.c (stuff_buffered_input):
Give up on stuffing if it fails.
* src/sysdep.c (stuff_char): Return failure indication.
* lisp/progmodes/project.el (project--read-file-name): Signal a
user-error and don't call project-read-file-name-function if the
file name collection is empty, since the default options for
project-read-file-name-function expect a cons (bug#80509).
(project-find-file-in): Avoid redundant consing for
vc-directory-exclusion-list in default case of include-all=nil.
We look for properties on the aliased functions as well so there is no
need for them on the aliases themselves (unless we want the alias to
have different semantics but that's not the case for these).
* lisp/emacs-lisp/byte-opt.el: Don't set compilation-related properties
on 'string=', 'string>', 'not' or 'wholenump'.
(byte-optimize-null): Rename from 'byte-optimize-not'.
Calls to some functions, such as 'cdr' and '%', would generate two
slightly different complaints if given the wrong number of arguments.
* lisp/emacs-lisp/bytecomp.el (byte-compile-subr-wrong-args): Remove.
Calls are replaced with 'byte-compile-normal-call'.
* src/keyboard.c (kbd_buffer_get_event): Pass the event's frame
up to the caller by means of a new 'struct frame **' argument.
(read_event_from_main_queue): Show a message in locked frames in
single-kboard mode (bug#79892).
* src/xdisp.c (log_message): Factor out of message3.
(message3): Call it.
(message3_nolog): Rename to ...
(message3_frame_nolog): ... this. New 'struct frame *' argument
which causes temporarily switching to another frame when
displaying the message.
(message3_frame, message3_nolog): New functions.
* src/lisp.h: Declare message3_frame and message3_frame_nolog.
* admin/notes/multi-tty: Remove notes on showing a message.
* lisp/subr.el (command-line-max-length): Move from here ...
* src/callproc.c (syms_of_callproc): <Vcommand_line_max_length>:
... to here. Initialize by calling sysconf(3) if possible.
* lisp/emacs-lisp/package.el (package--query-desc): Load
'package-alist' if this hasn't already occurred.
(package-report-bug): Drop unnecessary ALIST argument when
invoking 'package--query-desc'.
* lisp/emacs-lisp/package.el (package-maintainers): Add
fallbacks if a package doesn't list a single maintainer.
(package-report-bug): Check if "emacs-devel@gnu.org" is listed
as a maintainer, in which case the message is redirected to
bug-gnu-emacs@gnu.org and the X-Debbugs-CC header is set.
(Bug#80478)