Introduce `comp-async-jobs-number' to control async job number, this
can be now adjusted dynamically.
Also make `native-compile-async' able to dynamically queue new
compilations.
Add a feature that allows a user to save a gdb window
configuration (window layout) to a file with
'gdb-save-window-configuration' and load it back with
'gdb-load-window-configuration'. Set a default window configuration
by setting 'gdb-default-window-configuration-file'.
Add an option to make gdb preserve the window configuration
that the user had before starting gdb. In window.el, add
'with-window-non-dedicated'.
* lisp/progmodes/gdb-mi.el (top/level): Require 'pcase' and 'cl-seq'.
(gdb--window-configuration-before): New variable.
(gdb-restore-window-configuration-after-quit): New option.
(gdb-window-configuration-directory,
gdb-default-window-configuration-file): New variables.
(gdb): Save configuration on startup.
(gud-menu-map): Add "Load Layout" and "Save Layout" to menu. Add
"Restore Layout After Quit" button to menu. Rename "Restore Window
Layout" to "Restore Default Layout", add some help echo, and move it
from "GDB-MI" menu to "GDB-WINDOWs" menu.
(gdb-toggle-restore-window-configuration): New function.
(gdb-get-source-buffer): New function, extracted out of
'gdb-restore-window'.
(gdb-setup-windows): Add a condition branch that loads default window
configuration when available. Fix docstring.
(gdb-buffer-p, gdb-function-buffer-p, gdb--buffer-type,
gdb-save-window-configuration, gdb-load-window-configuration): New
functions.
(gdb-restore-windows): Edit docstring to mention
'gdb-default-window-configuration-file'.
(gdb-reset): Restore window configuration after quit.
* lisp/window.el (with-window-non-dedicated): New macro.
* src/alloc.c (live_buffer_holding): Rename ALL_BUFFERS ti
IGNORE_KILLED, and reverse the condition for returning killed
buffers.
(live_buffer_p): Add commentary.
(live_buffer_p, mark_maybe_object, mark_maybe_pointer): Reverse
the 2nd argument to live_buffer_holding. (Bug#39962)
Change: (comp-start-async-worker) Refactor slightly
Change: (comp-start-async-worker) Inline (comp-to-file-p)
Change: (comp-source-files) Rename from comp-src-pool
Add: (comp-start-async-worker) Assertion
Change: (comp-async-processes) Rename from comp-prc-pool
Tidy: (native-compile)
Rename variables, improve docstring, adjust log message, simplify
filename code.
Tidy: (batch-native-compile) Docstring
Tidy: whitespace-cleanup
Tidy: (comp-start-async-worker) Use () instead of nil
Tidy: (comp-files-queue) Rename from comp-source-files
Change: (native-compile-async) Improve paths support
Tidy: Comment
Save a line for one word. :)
Change: (comp-log) Rewrite without macro, follow tail
Change: (native-compile-async) Use end-of-string in filename regexps
Change: (native-compile-async) Use cl-loop instead of dotimes
Add/Change: (comp-log-to-buffer) And use in comp-log
Comment: Tidy comment
Fix: (configure.ac) Option description
Fix: (comp-log) Argument
Fix: (comp-start-async-worker) Variable name
Change: Undo whitespace changes
Some of them included incorrect indentation because the
macros' (declare (indent)) forms were not loaded. The
whitespace-cleanup should be run from Emacs 27+ with the file loaded.
* lisp/image/image-converter.el (image-converter--probe): Match
a possible additional second column in some ImageMagick versions
of "convert -list format".
Remove redundant `:group` args.
(sql-interactive-mode-map): `set-keymap-parent` is always fboundp.
(sql-get-product-feature): Prefer `symbol-value` over `eval`.
(sql--adjust-interactive-setup): New function, extracted from
`sql-interactive-mode`.
(sql-interactive-mode): Use it and `define-derived-mode`.
(sql-connect, sql-connection-menu-filter): Prefer `cl-progv` over `eval`.
Add Makefile target native-compile-clean removing all eln output
folders.
This is also triggered by make bootstrap to perform a clean bootstrap.
Also revert some modification of the build system against master not
effective anymore with the new directory layout.
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt: Updated files imported from
Unicode v13.0.
* admin/unidata/blocks.awk: Add "Symbols for Legacy Computing" to
known aliases.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Add new scripts.
* lisp/international/characters.el: Set syntax for Symbols for
Legacy Computing characters. Update setting of char-width-table.
* lisp/international/mule-cmds.el (ucs-names): Update ranges of
characters for which we want names in 'ucs-names'.
* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update according to
'ucs-normalize-check-failing-lines'.
* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
There may not be a current source file. In that case, don't try
to keep track of the number of expected conflicts (bug#39911).
* lisp/gnus/mml.el (mml-expand-html-into-multipart-related): This is
function is now called by a recursive
engine (mml-expand-all-html-into-multipart-related). The structure of
the returned value should be identical between an untouched part and a
expanded multipart (bug#39230).
* lisp/emacs-lisp/package.el (package-menu-toggle-hiding): Add
reference to 'package-menu-hidden-regexps'.
* lisp/emacs-lisp/package.el (package-menu-hide-package): Improve
docstring to say that hiding is saved in a user option. Fix a
typo. (Bug#39436)
* lisp/progmodes/gdb-mi.el (gdb--string-regexp):
Swap the or-clauses so that the rarely matching one comes first.
This avoids a build-up of backtrack points on the regexp stack.
* src/ftfont.c (fc_charset_table): Fix the value of the big-5
representative codepoint. Reported by Brian Schack
<bschack-cocoa@usa.net>. (Bug#40057)
* src/macfont.m (cf_charset_table): Adjust the comment.
* doc/emacs/frames.texi (Mouse Commands): More detailed
description of how tilting the mouse-wheel works.
* lisp/mwheel.el (mouse-wheel-tilt-scroll)
(mouse-wheel-flip-direction): Fix the wording of doc strings.
(Bug#39979)
* lisp/emacs-lisp/cl-extra.el (cl-equalp): Use compare-strings with
the IGNORE-CASE argument, rather than creating downcased copies of the
strings to be compared.
Reported by Jake Nelson <jake.nelson@gmail.com>.
* lisp/net/rcirc.el (rcirc-check-auth-status): NickServ will response
will show the nick in the same case used during registration, but
it allows case-insensitive matches when logging in. Therefore, we
should accept response messages regardless of case.
* lisp/tab-bar.el (tab-bar-mode): Check for non-nil
tab-bar-new-button and tab-bar-close-button.
(tab-bar-new-button-show): New defcustom.
(tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
(tab-bar-separator): Add docstring.
* lisp/frame.el (toggle-frame-fullscreen): Don't sleep on cocoa.
Fullscreen animation waiting is moved to src/nsterm.m.
* src/nsterm.h (EmacsView): Add in_fullscreen_transition,
inFullScreenTransition, waitFullScreenTransition.
(NSWindowCollectionBehaviorFullScreenAuxiliary): New define.
* src/nsterm.m (ns_make_frame_visible): Wait for fullscreen animation.
(ns_set_parent_frame): Set frame collection behavior; make child frames
non-fullscreen; make non-child frames fullscreen if parent was fullscreen.
([EmacsView initFrameFromEmacs]): Set in_fullscreen_transition; set frame
collection behavior according to parent frame.
([EmacsView windowDidMove]): Remove code by commenting with "fixme".
([EmacsView windowWillEnterFullScreen], [EmacsView windowDidEnterFullScreen])
([EmacsView windowWillExitFullScreen], [EmacsView windowDidExitFullScreen]):
Set in_fullscreen_transition.
([EmacsView inFullScreenTransition], [EmacsView waitFullScreenTransition]):
New methods.
([EmacsView updateCollectionBehavior]): Set collection behavior according to
parent frame.
([EmacsView toggleFullScreen]): Wait for fullscreen animation.
Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
since there might have been changes to the buffer since that `undo` command
and the `pending-undo-list` can hence be invalid for the current
buffer contents.