* src/w32fns.c (globals_of_w32fns) <w32-follow-system-dark-mode>:
New variable.
(w32_applytheme): Disable application of Dark mode if
'w32-follow-system-dark-mode' is nil.
* etc/NEWS:
* doc/emacs/msdos.texi (Windows Misc): Document
'w32-follow-system-dark-mode'.
* lisp/ls-lisp.el (ls-lisp-verbosity): Add `modes` on GNU & Unix
(ls-lisp-format): When `modes` is not in `ls-lisp-verbosity',
keep just the 1st character of `drwxrwxrwx`.
* src/w32fns.c (DWMWA_USE_IMMERSIVE_DARK_MODE_OLD): Define only if
undefined.
(w32_applytheme, w32_createwindow, globals_of_w32fns): Minor
stylistic copyedits.
* etc/NEWS: Reword the entry about using dark mode on MS-Windows.
* doc/emacs/msdos.texi (Windows Misc): Fix wording and markup in
the last change.
* src/w32font.c (struct font_callback_data): New member
'known_fonts'.
(w32font_list_internal, w32font_match_internal): Set up
match_data.known_fonts if the font spec includes :script that
names one of the non-USB scripts.
(add_font_entity_to_list): If font_matches_spec returns zero
for a font, and we have some fonts in match_data->known_fonts,
consider the font to be a match if it is named in known_fonts.
(font_supported_scripts): Update the Unicode Subranges. In
particular, map bit 74 to 'burmese', as this is the name Emacs
uses, not 'myanmar'. Add a list of scripts that have no USBs
defined for them.
(syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
<Qaegean_number, Qw32_non_USB_fonts>: New symbols.
* lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
(w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
(w32-non-USB-fonts): New defvar.
* lisp/international/fontset.el (setup-default-fontset): Add
more scripts to automatic setup by representative characters.
* doc/emacs/msdos.texi (Windows Fonts): Document
'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.
* etc/NEWS: Mention 'w32-find-non-USB-fonts' and
'w32-non-USB-fonts'.
* src/w32uniscribe.c [HAVE_HARFBUZZ]: Include math.h and
hb.h.
(bswap_32): Define for GCC 4.3.0 and later; else include
<byteswap.h> from Gnulib.
(struct uniscribe_font_info): Extend for HarfBuzz; 'cache' is
now a 'void *' (all users changed).
[HAVE_HARFBUZZ]: Define typedefs for HarfBuzz functions to be
loaded dynamically from the HarfBuzz DLL. Define macros to
call those functions via function pointers.
(uniscribe_open) [HAVE_HARFBUZZ]: Use the HarfBuzz font driver
if the type of the font entity is 'harfbuzz'.
(uniscribe_close) [HAVE_HARFBUZZ]: For fonts using the
HarfBuzz backend, call hb_font_destroy to free memory used for
the cached hb_font data.
(uniscribe_shape): Fix assignment of character codepoints to
glyphs from a single cluster.
(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
(w32uni_combining, w32uni_general, w32uni_mirroring)
(get_hb_unicode_funcs, w32hb_shape)
(w32hb_combining_capability, load_harfbuzz_funcs)
[HAVE_HARFBUZZ]: New functions.
(syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: Load the
HarfBuzz DLL and register the HarfBuzz backend with its
functions.
* src/w32font.c (syms_of_w32font) <Qharfbuzz>: New DEFSYM.
* src/w32fns.c (Fx_create_frame, w32_create_tip_frame)
[HAVE_HARFBUZZ]: Register the harfbuzz font backend.
* src/lisp.h (get_unicode_property): Declare prototype.
* src/font.h (harfbuzz_font_driver) [HAVE_NTGUI]: Declare.
* src/chartab.c (get_unicode_property): New function, body
taken from get-unicode-property-internal.
(Fget_unicode_property_internal): Call get_unicode_property
after validating input.
* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/msdos.texi (Windows Fonts): Document support for
HarfBuzz text shaping on MS-Windows.
* configure.ac (HAVE_HARFBUZZ): Move out of the X-specific
part, and consider HarfBuzz also for HAVE_W32 systems.
Require HarfBuzz v1.2.3 for w32.
* src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to
zero. For the details, see this discussion:
http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html.
* src/w32.c (_sys_read_ahead): Update the commentary for
w32-pipe-read-delay usage.
* doc/emacs/msdos.texi (Windows Processes): Document
w32-pipe-read-delay.
* etc/NEWS: Mention the change of the value of w32-pipe-read-delay.
* doc/emacs/msdos.texi (Windows Startup): Describe the pinned
shortcuts for starting Emacs.
(Text and Binary): Minor wording changes.
(Windows Files): Mention 'read-file-name-completion-ignore-case'.
(ls in Lisp): Update the list of supported 'ls' switches.
Document 'ls-lisp-use-string-collate' and
'ls-lisp-UCA-like-collation'.
(Windows HOME): Mention warnings displayed at startup when
deprecated locations of HOME and/or deprecated names for init
files are used.
(Windows Keyboard): Mention delete-selection-mode.
* doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
typos.
* doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
typos.
* doc/emacs/help.texi (Help Files): Improve @uref usage. Reported
by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
(ForIndent Commands, Fortran Columns): Add empty lines between
@items in a @table.
(ForIndent Cont, ForIndent Num, Fortran Columns): Mention
'column-number-indicator-zero-based'.
(ForIndent Vars): Fix a typo.
(Fortran Comments): Fix punctuation.
(ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
* doc/emacs/programs.texi (Comments): Fix a typo.
(Comment Commands): More accurate description of the commands.
(Options for Comments): Don't mention "hook".
(Man Page): Prefer "M-x man" if available.
(Hideshow): Fix the command key sequence.
(Semantic): Update supported languages.
(Semantic, Hungry Delete, Other C Commands): Fix markup of
commands.
(Misc for Programs): Fix a typo.
(Electric C, Hungry Delete): More accurate description of
mode-line lighters of CC submodes.
(Asm Mode): Add empty lines between @items in a @table.
* doc/emacs/programs.texi (Program Modes): Add a few more modes.
Reported by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
* doc/emacs/msdos.texi (Windows Misc): A minor rewording.
Suggested by Isaac Carter <icarter1391@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/search.texi (Regexp Backslash): Say that
symbol-constituent characters are determined by the syntax table.
(Lax Search): Fix example of case-insensitive search. Fix a
typo.
(Unconditional Replace): Improve wording.
(Regexp Replace): More consistent wording. Reported by Michael
Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
* doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
Windows versions. Reported by Isaac Carter
<icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
* doc/emacs/msdos.texi (Windows Keyboard):
* doc/emacs/mark.texi (Using Region):
* doc/emacs/frames.texi (Menu Mouse Clicks):
* doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
keys. Reported by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
* doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
misspelling. Reported by Robert Pluim <rpluim@gmail.com>.
Various minor wording improvements. Suggested by Toon Claes
<toon@iotcl.com> in emacs-manual-bugs@gnu.org.
More minor changes. Suggested by Michael Albinus
<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
* doc/emacs/cmdargs.texi (Title X): Improve wording.
* doc/emacs/building.texi (Grep Searching, Compilation): Avoid
passive tense.
* doc/emacs/basic.texi (Moving Point): Move the description of the
bidi-related effects of the arrow keys from here ...
* doc/emacs/mule.texi (Bidirectional Editing): ... to here.
Explain the behavior of arrow keys between paragraphs.
* doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
* src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
fix. (Bug#25204)
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert
# Conflicts:
# doc/emacs/cmdargs.texi
# etc/NEWS
# etc/PROBLEMS
# lisp/auth-source.el
# lisp/net/tramp-sh.el