* etc/NEWS: Mention the change.
* lisp/vc/vc.el (vc-switch-backend): Mark as obsolete (bug#50344).
(vc-transfer-file): Wrap the calls in 'with-suppressed-warnings'.
This addresses a FIXME comment in lisp/emacs-lisp/comp.el,
relating to the number of subsidiary processes used by
comp-run-async-workers in native compilation.
* admin/merge-gnulib (GNULIB_MODULES): Add nproc.
* doc/lispref/processes.texi (Process Information), etc/NEWS:
Document num-processors.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/nproc.c, lib/nproc.h, m4/nproc.m4:
New files, copied from Gnulib by admin/merge-gnulib.
* lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl.
(comp-effective-async-max-jobs): Use num-processors.
* src/process.c: Include nproc.h.
(Fnum_processors): New function.
(syms_of_process): Define ‘all’, ‘current’, ‘num-processors’.
* src/w32proc.c (Fw32_get_nproc): Add FIXME comment.
* test/src/process-tests.el (process-num-processors): New test.
* etc/ERC-NEWS: copy ERC NEWS items from etc/NEWS, etc/NEWS.27,
etc/NEWS.26, etc/NEWS.25, and etc/NEWS.24 to here. Future ERC NEWS
are also to be added here. This is in motivated by preparation for
addition of ERC to GNU ELPA, along with the ERC manual and NEWS.
* etc/NEWS: remove ERC-related entries, and refer the reader to
ERC-NEWS instead.
* doc/emacs/frames.texi (Creating Frames): Mention the cloned
window configuration for clone-frame.
* lisp/frame.el (clone-frame): Change second arg to 'no-windows'
and clone window configuration when it's nil.
* lisp/tab-bar.el (tab-bar-mouse-context-menu)
(tab-bar-detach-tab): Replace "Detach" with "Move" in help/doc strings.
https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00408.html
* src/xdisp.c (syms_of_xdisp) <nobreak-char-ascii-display>: New
variable.
(get_next_display_element): If 'nobreak-char-ascii-display' is
non-nil, display non-ASCII space and hyphen characters as their
ASCII equivalents. (Bug#50983)
* etc/NEWS:
* etc/PROBLEMS: Mention 'nobreak-char-ascii-display'.
Make the following changes by hand, and run 'admin/merge-gnulib'.
* .gitignore: Add lib/malloc/*.gl.h.
* admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h
directly from Gnulib, without worrying about Gnulib modules,
as these files are special cases.
(AVOIDED_MODULES): Remove malloc-posix.
* lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4:
* m4/year2038.m4: New files, copied from Gnulib.
* lib/malloca.c, lib/malloca.h:
* m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4:
Remove. These are either no longer present in Gnulib, or are no
longer needed by modules that Emacs uses.
* oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first;
needed for new Gnulib.
* src/xmenu.c: Call emacs_abort, not abort.
* doc/emacs/mark.texi (Shift Selection): Document the 'permanent'
value of 'shift-select-mode'. Add index entry for that variable.
(Bug#50954)
* etc/NEWS: Update the entry for 'shift-select-mode'.
To improve performance and flexibility (bug#50777).
* lisp/progmodes/xref.el (xref-location): Remove.
(xref-file-location): Change to cl-struct.
(xref-buffer-location, xref-bogus-location): Ditto.
(xref-item, xref-match-item): Same.
And update all method definitions accordingly.
(xref--insert-xrefs): Don't use 'oref', use 'xref-item-location'.
(xref--insert-xrefs, xref-show-definitions-completing-read):
Insetad of 'with-slots', use 'xref-item-summary' and
'xref-item-location'.
* lisp/progmodes/etags.el (xref-etags-location):
Change from EIEIO class into a cl-struct.
(xref-etags-apropos-location): Ditto.
Update all method definitions.
* test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run):
Avoid using 'oref'.
* etc/NEWS: Announce the addition of the command.
* lisp/erc/erc.el (erc-cmd-WII): Add '/wii' convenience command which
calls the '/whois' command with the given nick as both arguments,
which is useful for displaying the whois information for the nick
along with idle time, even if the nick is on a different server than
the one we are currently connected to.
* etc/NEWS: Remove unneeded entry.
* lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of
arguments sent to the server, so that there's no change in the
function's behavior. Instead, rename the arguments to be more
accurate, and expand upon them in the doc string.
* etc/NEWS: Describe the change.
* lisp/bindings.el (global-map): Add bindings for 'undo-redo'.
* lisp/simple.el (undo-no-redo): Turn into a user option.
* lisp/mpc.el (mpc-cover-image-re): New user option.
(mpc-format): Find cover image based on regexp given by above new user
option. Treat "folder.png" as a valid cover image name.
* lisp/erc/erc.el (erc-cmd-WHOIS): Switch the order of 'server' and
'user' arguments sent to the server. Per RFC 1459 and RFC 2812, the
optional 'server' argument command comes before the 'user' argument,
not after. While at it, update the doc string to explain why one may
want to specify the 'server' argument.
* etc/NEWS: Announce the change.
* lisp/obsolete/erc-compat.el: Move from here...
* lisp/erc/erc-compat.el: ...back to here. ERC will soon be added to
GNU ELPA, and erc-compat.el will be used to provide compatibility
functions and/or variables for using ERC on older Emacsen.
* etc/NEWS: Remove the previously added obsoletion news item.
If the codepoint that triggered composition is from the emoji script,
use the emoji font to check the string being composed, rather than the
font of the first character of the string. This makes e.g.
"emoji codepoint with Emoji_Presentation = No followed by VS-16 (FE0F)"
display the emoji version of the glyph for that codepoint.
* admin/unidata/blocks.awk: Add VS-1 through VS-16 to the emoji
script.
* src/composite.c (autocmp_chars): Accept additional argument CH for
the codepoint that triggered composition, pass it to font_range.
(composition_reseat_it, find_automatic_composition): Pass codepoint
that triggered composition to autocmp_chars.
* src/font.c (font_range): Accept additional argument CH for the
triggering codepoint. If the codepoint is from the 'emoji' script,
use Vscript_representative_chars to find the font to use for the
composition attempt.
(syms_of_font): Add Qemoji symbol.
* src/font.h: Update font_range prototype for argument CH.
* etc/NEWS: Announce change.
Allowing &rest without a variable name following turned out not to be
very useful, and it never worked properly. Disallow it.
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list):
* src/eval.c (funcall_lambda):
Signal error for &rest without variable name.
* doc/lispref/functions.texi (Argument List): Adjust manual.
* etc/NEWS (file): Announce.
* test/src/eval-tests.el (eval-tests--bugs-24912-and-24913):
Extend test, also checking with and without lexical binding.
(eval-tests-accept-empty-optional-rest): Reduce to...
(eval-tests-accept-empty-optional): ...this, again checking
with and without lexical binding.