Merge from origin/emacs-30

67903f5909 Restore the old behavior of `bookmark-write-file'
062da7003f ; Improve prompts and error messages in 'info-look'
52dc01f1c8 ; * admin/admin.el (set-version): Note about Android.
fb282da2a0 Avoid double spaces around abbrevations in Texinfo
bc1ab8ac3d ; * doc/emacs/custom.texi (Init Rebinding): Fix spacing.
b41ef43af1 ; Fix previous change
5638b1d6bd Ispell: Use "personal dictionary" terminology consistently
cc791e7499 ; Check man pages for mistakes less frequently
4ed4792e3b ; * admin/release-process: Minor copy-edits.
4a867c823b Add language server "ruff server" for Python
9e687c2871 Fix go-ts-mode type declaration indentation (Bug#75785)
f751b3afa4 ; Minor improvements for doc strings in map.el
cda78edc7d ; Fix typos
ce50a1d3c1 ; * src/w32.c (w32_memory_info): Fix coding style of last...
58d3d4820a Fix bug in w32_memory_info
7738641205 Avoid crashes in redisplay due to problematic font setups
0e3687e600 Improve 'key-valid-p' docstring
9878092d2b Minor copyedits in internals.texi
4726900fdc Better document side-effect free and pure C functions
04c475a39f ; Fix documentation about faces of tool-tip text

# Conflicts:
#	admin/codespell/codespell.exclude
This commit is contained in:
Eli Zaretskii 2025-01-25 10:06:19 -05:00
commit 6016967e85
63 changed files with 185 additions and 154 deletions

View file

@ -47356,7 +47356,7 @@
possible bug.
* lisp/progmodes/flymake.el (flymake--mode-line-counter): Must
explicily create a new string unpropertized string
explicitly create a new string unpropertized string
2020-12-31 João Távora <joaotavora@gmail.com>
@ -160588,7 +160588,7 @@
to be replaced with an appropriate character reference. Make
sgml-quote do that.
While at it, fix entiteis not being unquoted if they lack closing
While at it, fix entities not being unquoted if they lack closing
semicolon (e.g. &amp) occurring at the very end of a region.
Even though unlikely, make sgml-quote handle this scenario.
@ -186568,7 +186568,7 @@
Delete a Flymake obsolete alias that can't possibly work
The function `flymake-ler-make-ler' can't possibly work as an backward
compatible interface to existing extensinos (even purely hypothetical
compatible interface to existing extensions (even purely hypothetical
ones, since none are known). This is because every diagnostic
considered by Flymake has to passed to a report-fn function.
@ -223233,7 +223233,7 @@
called any longer.
Furthermore, when newline has whitespace syntax, \s-$ regular
expression ends up matching empty lins since \s- matches newline
expression ends up matching empty lines since \s- matches newline
characetr of proceeding line. This leads to needless loop iterations.
Since previous change to delete-trailing-whitespace already introduced

View file

@ -342,7 +342,7 @@
Improve documentation for 'while-let'
* doc/lispref/control.texi (Conditionals): Reorganise describing
* doc/lispref/control.texi (Conditionals): Reorganize describing
what's overlapping between the macros (and between the macros
and let*), and then improve the documentation for 'while-let'.
@ -15155,7 +15155,7 @@
Remove unnecessary (delq nil...).
This is presumed to be an artifacto of an old default.
This is presumed to be an artifact of an old default.
* lisp/which-key.el (which-key-replacement-alist):
Remove unnecessary (delq nil...).
@ -50535,7 +50535,7 @@
The Emacs regexp engine interprets character ranges from ASCII to raw
bytes, such as [a-\xfe], as not including non-ASCII Unicode at all;
ranges from non-ACII Unicode to raw bytes, such as [ü-\x91], are
ranges from non-ASCII Unicode to raw bytes, such as [ü-\x91], are
ignored entirely.
To make rx produce a translation that works as intended, split ranges
@ -53275,7 +53275,7 @@
* lisp/emacs-lisp/cl-macs.el (cl--slet): Add `nowarn` arg.
(cl--defsubst-expand): Use it.
(cl-defstruct): Silence warnings abour lexical shadowing when a slot's
(cl-defstruct): Silence warnings about lexical shadowing when a slot's
name happens to be the same as a dynbound var.
2023-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
@ -68708,7 +68708,7 @@
works.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
Instead of re-using local variables through mutation, bind them at
Instead of reusing local variables through mutation, bind them at
point of use. This ensures that there is no value leakage by mistake
and actually reduces the static size of the bytecode of this function
somewhat.
@ -75501,7 +75501,7 @@
4004dde6ea Avoid positional arguments to define-minor-mode
cb85f9c274 Fix typo in use-package docstring
30b35d6d62 Update use-package.texi
9be2580f5f optimization: constand folding for read-kbd-macro
9be2580f5f optimization: constant folding for read-kbd-macro
1143f14d65 bind-keys-form: error for repeat sub-keywords without :rep...
c4bd2aa3b8 bind-key-form: allow :continue keyword inside repeat map
5ef327ce9f bind-key-form: allow :exit keyword inside repeat map

View file

@ -131,6 +131,11 @@ Root must be the root of an Emacs source tree."
(set-version-in-file root "etc/refcards/ru-refcard.tex" newmajor
"\\\\newcommand{\\\\versionemacs}\\[0\\]\
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")))
;; Note: There's also the "android:versionCode=" property in
;; java/AndroidManifest.xml, whose value is the major Emacs version,
;; but if we increase it, upgraded installation will be unable to be
;; downgraded to previous Emacs releases. (The corresponding
;; "android:versionName=" value there is updated by configure.)
(let* ((oldversion
(with-temp-buffer
(insert-file-contents (expand-file-name "README" root))

View file

@ -1749,3 +1749,16 @@ All the characters whose Unicode general-category is Nd now have the
(skipp (or (erc--memq-msg-prop 'erc--skip 'stamp)
(when (and fullp culled (not skipp) (< 1 beg 3 end))
((not skipp))
(elisp--safe-macroexpand-all): Make the warning more discrete.
|PACK|UNPK|INDX|BLD |LEN |... |
@key{INDX} removes an integer @var{n}, then builds a vector of
integers from 1 to @var{n}. @kbd{INV INDX} takes three numbers
(sref STRING INDX) returns the character in STRING at INDEX. INDEX
;; |PACK|UNPK|INDX|BLD |LEN |... |
( "INDX" (progn calc-num-prefix calc-index) "\C-u\excalc-index\r" )
(calc-enter-result 3 "indx" (cons 'calcFunc-index (calc-top-list-n 3)))
(calc-enter-result 0 "indx" (list 'calcFunc-index
(elisp--safe-macroexpand-all): Make the warning more discreet.
dee6b36286 If use-package-verbose is t, show loading times when :afte...
267fc6d00c4 ruby-smie-rules: Fix misindentation of a method call afte...
b0181dafb9e Improve documentation of 'enable-local-variables' in Emac...

View file

@ -172,11 +172,6 @@ General steps (for each step, check for possible errors):
4. autoreconf -i -I m4 --force
make bootstrap
The below script checks for any mistakes in the source text of
manual pages. Fix any errors and re-run the script to verify.
./admin/check-man-pages
Then do this:
make -C etc/refcards

View file

@ -30,7 +30,7 @@
# Base URI for the package sources mapped in PKG_REQ
SRC_REPO="https://repo.msys2.org/mingw/sources"
# Map items in `dynamic-library-alist' to source pakages
# Map items in `dynamic-library-alist' to source packages
PKG_REQ='''mingw-w64-x86_64-giflib
mingw-w64-x86_64-gnutls
mingw-w64-x86_64-harfbuzz
@ -47,7 +47,7 @@
mingw-w64-x86_64-tree-sitter
mingw-w64-x86_64-sqlite3'''.split()
# Emacs style path to dependancy DLLs on build system
# Emacs style path to dependency DLLs on build system
DLL_SRC="c:/msys64/mingw64/bin"
# libraries we never include
@ -110,7 +110,7 @@ def gather_deps():
print("Deps updated in", os.getcwd(), "as", zipfile)
os.chdir("../")
# Return dependancies listed in Emacs
# Return dependencies listed in Emacs
def init_deps():
return '''libXpm-nox4.dll
libpng16-16.dll
@ -382,7 +382,7 @@ def clean():
parser.add_argument("-l", help="list dependencies",
action="store_true")
parser.add_argument("-e", help="extract direct dependancies",
parser.add_argument("-e", help="extract direct dependencies",
action="store_true")
args = parser.parse_args()

View file

@ -92,7 +92,7 @@ Section "Uninstall"
# remove All Users shortcuts only
# SetShellVarContext all
# retreive/recalculate uninstaller location
# retrieve/recalculate uninstaller location
StrCpy $UninstallerPath "$INSTDIR\Uninstall-${VERSION_BRANCH}.exe"
# remove registry key
@ -101,7 +101,7 @@ Section "Uninstall"
# delete uninstaller
Delete "$INSTDIR\Uninstall-${VERSION_BRANCH}.exe"
# retreive/reclculate startmenu shortcuts location
# retrieve/recalculate startmenu shortcuts location
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
StrCpy $StartMenuFolder "$SMPROGRAMS\$StartMenuFolder"
@ -120,7 +120,7 @@ Section "Uninstall"
# we're basically using GOTO, above, so we should get here..
startMenuDeleteLoopDone:
# next we remove stuff from program-files/instalation path
# next we remove stuff from program-files/installation path
# start with recursive delete of the Emacs we installed
RMDir /r "$INSTDIR\emacs-${VERSION_BRANCH}"

View file

@ -90,7 +90,8 @@ documentation (or decide no updates are necessary) for those that aren't.
** Try to reorder NEWS: most important things first, related items together.
** For a major release, add a "New in Emacs XX" section to faq.texi.
** For a major release, add a "New in Emacs XX" section to efaq.texi.
This should highlight some of the more significant changes.
** cusver-check from admin.el can help find new defcustoms missing
:version tags. This asks for new and old Lisp directories; use the one
@ -113,14 +114,14 @@ Check for node names using problematic characters:
Sadly makeinfo does not warn about such characters.
Check for major new features added since the last release (e.g. new
lisp files), and add the relevant authors to the Acknowledgments in
Lisp files), and add the relevant authors to the Acknowledgments in
doc/emacs/ack.texi and emacs.texi. To find new files, you could run a
command such as this:
$ diff -rq emacs-NN.MM emacs-XX.YY | grep "^Only in emacs-XX"
$ git diff --name-status emacs-NN emacs-XX | grep -E "^A"
where NN.MM is the previous Emacs version, and XX.YY is the new version.
This assumes you have the source trees of both versions available.
where emacs-NN is the previous Emacs release branch, and emacs-XX is the
new one.
For major releases, rewrite the "Antinews" appendix of the User Manual
(doc/emacs/anti.texi) to describe features lost by downgrading to the
@ -129,10 +130,6 @@ significant changes and new features in the upcoming release, then
describe the "benefits" from losing those features. Be funny, use
humor. The text written for the previous releases can serve as an example.
The Emacs FAQ (doc/misc/efaq.texi) also has a "What's new" section;
for major releases a new section should be added listing the
significant changes.
Check cross-references between the manuals (e.g. from emacs to elisp)
are correct. You can use something like the following in the info
directory in the Emacs build tree:
@ -225,6 +222,13 @@ https://publicsuffix.org/list/public_suffix_list.dat
- leim/SKK-DIC/SKK-JISYO.L
https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
** Check for mistakes in man pages.
The below script checks for any mistakes in the source text of
manual pages. Fix any errors and re-run the script to verify.
./admin/check-man-pages
* BUGS
** Check for modes which bind M-s that conflicts with a new global binding M-s

View file

@ -2043,7 +2043,7 @@ sequences. For example, to bind @kbd{C-c h} to the string
@end example
Non-@acronym{ASCII} characters can be specified directly in the
string. To bind to e.g. @samp{ol@'a}, use:
string. To bind to, for example, @samp{ol@'a}, use:
@example
(keymap-global-set "C-c h" (key-description "ol@'a"))

View file

@ -749,7 +749,7 @@ window with a Dired buffer, or the most recently used window with
a Dired buffer, or to use any other function. When the value is
a function, it will be called with no arguments and is expected to
return a list of directories which will be used as defaults
(i.e. default target and ``future history'').
(i.e., default target and ``future history'').
Here are the file-manipulating Dired commands that operate on files.

View file

@ -462,7 +462,7 @@ File Handling
* Copying and Naming:: Copying, naming and renaming files.
* Misc File Ops:: Other things you can do on files.
* Compressed Files:: Accessing compressed files.
* File Archives:: Operating on tar, zip, jar etc. archive files.
* File Archives:: Operating on tar, zip, jar etc.@: archive files.
* Remote Files:: Accessing files on other machines.
* Quoted File Names:: Quoting special characters in file names.
* File Name Cache:: Completion against a list of files you often use.
@ -588,7 +588,7 @@ International Character Set Support
Major and Minor Modes
* Major Modes:: Text mode vs. Lisp mode vs. C mode...
* Major Modes:: Text mode vs.@: Lisp mode vs.@: C mode...
* Minor Modes:: Each minor mode is a feature you can turn on
independently of any others.
* Choosing Modes:: How modes are chosen when visiting files.
@ -909,7 +909,7 @@ Tags Tables
Merging Files with Emerge
* Overview of Emerge:: How to start Emerge. Basic concepts.
* Submodes of Emerge:: Fast mode vs. Edit mode.
* Submodes of Emerge:: Fast mode vs.@: Edit mode.
Skip Prefers mode and Auto Advance mode.
* State of Difference:: You do the merge by specifying state A or B
for each difference.
@ -1121,7 +1121,7 @@ Hyperlinking and Navigation Features
* Embedded WebKit Widgets:: Embedding browser widgets in Emacs buffers.
* Browse-URL:: Following URLs.
* Goto Address mode:: Activating URLs.
* FFAP:: Finding files etc. at point.
* FFAP:: Finding files etc.@: at point.
Emacs Lisp Packages

View file

@ -23,7 +23,7 @@ and @ref{Top,, Ediff, ediff, The Ediff Manual}.
@menu
* Overview of Emerge:: How to start Emerge. Basic concepts.
* Submodes of Emerge:: Fast mode vs. Edit mode.
* Submodes of Emerge:: Fast mode vs.@: Edit mode.
Skip Prefers mode and Auto Advance mode.
* State of Difference:: You do the merge by specifying state A or B
for each difference.

View file

@ -34,7 +34,7 @@ on file directories.
* Copying and Naming:: Copying, naming and renaming files.
* Misc File Ops:: Other things you can do on files.
* Compressed Files:: Accessing compressed files.
* File Archives:: Operating on tar, zip, jar etc. archive files.
* File Archives:: Operating on tar, zip, jar etc.@: archive files.
* Remote Files:: Accessing files on other machines.
* Quoted File Names:: Quoting special characters in file names.
* File Name Cache:: Completion against a list of files you often use.

View file

@ -371,7 +371,7 @@ Accept the incorrect word---treat it as correct, but only in this
editing session and for this buffer.
@item i
Insert this word in your private dictionary file so that it will be
Insert this word in your personal dictionary file so that it will be
considered correct from now on, even in future sessions.
@item m
@ -379,7 +379,7 @@ Like @kbd{i}, but you can also specify dictionary completion
information.
@item u
Insert the lower-case version of this word in your private dictionary
Insert the lower-case version of this word in your personal dictionary
file.
@item l @var{word} @key{RET}

View file

@ -1233,7 +1233,7 @@ or bottom of the window during drag.
Emacs can also optionally drag the region with the mouse into
another portion of this or another buffer. To enable that, customize
the variable @code{mouse-drag-and-drop-region} to a non-@code{nil}
value. Normally, the text is moved, i.e. cut and pasted, when the
value. Normally, the text is moved, i.e.@: cut and pasted, when the
destination is the same buffer as the origin; dropping the region on
another buffer copies the text instead. If the value of this variable
names a modifier key, such as @samp{shift}, @samp{control} or

View file

@ -3011,7 +3011,7 @@ URLs and other types of links occurring in Emacs buffer text.
* Embedded WebKit Widgets:: Embedding browser widgets in Emacs buffers.
* Browse-URL:: Following URLs.
* Goto Address mode:: Activating URLs.
* FFAP:: Finding files etc. at point.
* FFAP:: Finding files etc.@: at point.
@end menu
@node EWW

View file

@ -23,7 +23,7 @@ words as you type (@pxref{Auto Fill}). Minor modes are independent of
one another, and of the selected major mode.
@menu
* Major Modes:: Text mode vs. Lisp mode vs. C mode...
* Major Modes:: Text mode vs.@: Lisp mode vs.@: C mode...
* Minor Modes:: Each minor mode is a feature you can turn on
independently of any others.
* Choosing Modes:: How modes are chosen when visiting files.

View file

@ -516,8 +516,9 @@ do the highlighting in the buffer showing the possible characters,
rather than in the echo area.
To enter characters according to the @dfn{p@=iny@=in} transliteration
method instead, use the @code{chinese-sisheng} input method. This is
a composition based method, where e.g. @kbd{pi1} results in @samp{p@=i}.
method instead, use the @code{chinese-sisheng} input method. This is a
composition based method, where, for example, @kbd{pi1} results in
@samp{p@=i}.
In Japanese input methods, first you input a whole word using
phonetic spelling; then, after the word is in the buffer, Emacs

View file

@ -713,7 +713,7 @@ you customize the value of @code{tab-line-format} in Lisp to add
The command @code{global-window-tool-bar-mode} toggles the display of
a tool bar at the top of each window. When enabled, multiple windows
can display their own tool bar simultaneously. To conserve space, a
window tool bar is hidden if there are no buttons to show, i.e. if
window tool bar is hidden if there are no buttons to show, i.e.@: if
@code{tool-bar-map} is @code{nil}.
@findex window-tool-bar-mode

View file

@ -3812,7 +3812,7 @@ the @code{let} body finishes, it takes that binding off of the stack,
revealing the one it had (if any) before the @code{let} expression.
@node Lexical vs Dynamic Binding Example
@unnumberedsubsubsec Example of Lexical vs. Dynamic Binding
@unnumberedsubsubsec Example of Lexical vs.@: Dynamic Binding
In some cases, both lexical and dynamic binding behave identically.
However, in other cases, they can change the meaning of your program.
For example, see what happens in this code under lexical binding:

View file

@ -560,7 +560,7 @@ Multisession Variables
Functions
* What Is a Function:: Lisp functions vs. primitives; terminology.
* What Is a Function:: Lisp functions vs.@: primitives; terminology.
* Lambda Expressions:: How functions are expressed as Lisp objects.
* Function Names:: A symbol can serve as the name of a function.
* Defining Functions:: Lisp expressions for defining functions.

View file

@ -4759,7 +4759,7 @@ and secondary selections by saving the value supplied into a variable
subsequent calls to @code{gui-get-selection} return.
From the clipboard, @code{gui-get-selection} is capable of returning
UTF-8 string data of the type @code{STRING}, the @code{TAREGTS} data
UTF-8 string data of the type @code{STRING}, the @code{TARGETS} data
type, or image and application data of any MIME type.
@code{gui-set-selection} sets only string data, much as under
MS-Windows, although this data is not affected by the value of

View file

@ -11,7 +11,7 @@ explains what functions are, how they accept arguments, and how to
define them.
@menu
* What Is a Function:: Lisp functions vs. primitives; terminology.
* What Is a Function:: Lisp functions vs.@: primitives; terminology.
* Lambda Expressions:: How functions are expressed as Lisp objects.
* Function Names:: A symbol can serve as the name of a function.
* Defining Functions:: Lisp expressions for defining functions.
@ -1469,7 +1469,7 @@ that don't require them.
The type specializer, @code{(@var{arg} @var{type})}, can specify one
of the @dfn{system types} in the following list. When a parent type
is specified, an argument whose type is any of its more specific child
types, as well as grand-children, grand-grand-children, etc. will also
types, as well as grand-children, grand-grand-children, etc.@: will also
be compatible.
@table @code

View file

@ -291,10 +291,10 @@ the same integer.
@end defun
@defun sxhash-eql obj
This function returns a hash code for Lisp object @var{obj} suitable
for @code{eql} comparison. I.e. it reflects identity of @var{obj}
except for the case where the object is a bignum or a float number,
in which case a hash code is generated for the value.
This function returns a hash code for Lisp object @var{obj} suitable for
@code{eql} comparison. In other words, it reflects identity of
@var{obj} except for the case where the object is a bignum or a float
number, in which case a hash code is generated for the value.
If two objects @var{obj1} and @var{obj2} are @code{eql}, then
@code{(sxhash-eql @var{obj1})} and @code{(sxhash-eql @var{obj2})} are

View file

@ -1021,7 +1021,7 @@ comment. @xref{Documentation Basics}, for more details.
(@code{int} and @code{bool}), the name of the C variable is the name
of the Lisp variable with @code{-} replaced by @code{_}. When the
variable has type @code{Lisp_Object}, the convention is to also prefix
the C variable name with @code{V}. i.e.
the C variable name with @code{V}. This is an example:
@smallexample
DEFVAR_INT ("my-int-variable", my_int_variable,
@ -1038,7 +1038,6 @@ with @code{let}. In C sources, this is done by defining a
corresponding, constant symbol, and using @code{specbind}. By
convention, @code{Qmy_lisp_variable} corresponds to
@code{Vmy_lisp_variable}; to define it, use the @code{DEFSYM} macro.
i.e.
@smallexample
DEFSYM (Qmy_lisp_variable, "my-lisp-variable");
@ -1050,17 +1049,17 @@ DEFSYM (Qmy_lisp_variable, "my-lisp-variable");
specbind (Qmy_lisp_variable, Qt);
@end smallexample
In Lisp symbols sometimes need to be quoted, to achieve the same
effect in C you again use the corresponding constant symbol
In Lisp, symbols sometimes need to be quoted. To achieve the same
effect in C, you again use the corresponding constant symbol
@code{Qmy_lisp_variable}. For example, when creating a buffer-local
variable (@pxref{Buffer-Local Variables}) in Lisp you would write:
variable (@pxref{Buffer-Local Variables}) in Lisp, you would write:
@smallexample
(make-variable-buffer-local 'my-lisp-variable)
@end smallexample
In C the corresponding code uses @code{Fmake_variable_buffer_local} in
combination with @code{DEFSYM}, i.e.
In C, the corresponding code uses @code{Fmake_variable_buffer_local} in
combination with @code{DEFSYM}:
@smallexample
DEFSYM (Qmy_lisp_variable, "my-lisp-variable");
@ -1164,7 +1163,8 @@ functions.
If you define a function which is side-effect free or pure, give it
a non-@code{nil} @code{side-effect-free} or @code{pure} property,
respectively (@pxref{Standard Properties}).
respectively (@pxref{Standard Properties}). See the lists defined in
@samp{byte-opt.el}.
@node Writing Dynamic Modules
@section Writing Dynamically-Loaded Modules
@ -2745,7 +2745,7 @@ The window-relative vertical position of the line containing
@item window_end_valid
This field is set to a non-zero value if @code{window_end_pos} and
@code{window_end_vpos} are truly valid. This is zero if nontrivial
redisplay is pre-empted, since in that case the display that
redisplay is preempted, since in that case the display that
@code{window_end_pos} was computed for did not get onto the screen.
@item cursor

View file

@ -459,9 +459,9 @@ Here's an example:
@kindex :repeat
@kindex repeat-mode
@cindex repeatable key bindings
Each command in the keymap can be marked as `repeatable', i.e. usable
Each command in the keymap can be marked as `repeatable', i.e.@: usable
in @code{repeat-mode}, by putting a @code{repeat-map} property on it,
e.g.
for example:
@lisp
(put 'undo 'repeat-map 'undo-repeat-map)

View file

@ -1980,8 +1980,8 @@ valid property list.
@node Plists and Alists
@subsection Property Lists and Association Lists
@cindex plist vs. alist
@cindex alist vs. plist
@cindex plist vs.@: alist
@cindex alist vs.@: plist
@cindex property lists vs association lists
Association lists (@pxref{Association Lists}) are very similar to

View file

@ -2609,7 +2609,7 @@ The value of @code{global-mode-string} (which is part of
@item %o
The degree of @dfn{travel} of the window through (the visible portion
of) the buffer, i.e. the size of the text above the top of the window
of) the buffer, i.e.@: the size of the text above the top of the window
expressed as a percentage of all the text outside the window, or
@samp{Top}, @samp{Bottom} or @samp{All}.

View file

@ -644,7 +644,7 @@ be consulted instead.
Corresponds to Unicode language- and context-independent special
lower-casing rules. The value of this property is a string (which may
be empty). For example for U+0130 @sc{latin capital letter i
with dot above} the value is @code{"i\u0307"} (i.e. a 2-character string
with dot above} the value is @code{"i\u0307"} (i.e., a 2-character string
consisting of @sc{latin small letter i} followed by U+0307
@sc{combining dot above}). This mapping overrides the @code{lowercase}
property, and thus the current case table. For characters with no
@ -741,7 +741,7 @@ belongs, according to the Unicode Standard classification of the
Unicode code space into script-specific blocks. This char-table has a
single extra slot whose value is the list of all script symbols. Note
that Emacs's classification of characters into scripts is not a 1-for-1
reflection of the Unicode standard, e.g. there is no @samp{symbol}
reflection of the Unicode standard, for example there is no @samp{symbol}
script in Unicode.
@end defvar

View file

@ -3166,7 +3166,7 @@ machine you are using. The value is an alist whose elements have the
form @code{(@var{ifname} . @var{address})}. @var{ifname} is a string
naming the interface, @var{address} has the same form as the
@var{local-address} and @var{remote-address} arguments to
@code{make-network-process}, i.e. a vector of integers. By default
@code{make-network-process}, i.e.@: a vector of integers. By default
both IPv4 and IPv6 addresses are returned if possible.
Optional argument @var{full} non-@code{nil} means to instead return a

View file

@ -1835,7 +1835,7 @@ The optional argument @var{paren} can be any of the following:
@table @asis
@item a string
The resulting regexp is preceded by @var{paren} and followed by
@samp{\)}, e.g. use @samp{"\\(?1:"} to produce an explicitly
@samp{\)}. For example, use @samp{"\\(?1:"} to produce an explicitly
numbered group.
@item @code{words}

View file

@ -996,7 +996,7 @@ character (similar to the second character in a syntax descriptor).
@cindex syntax tables (accessing elements of)
Use @code{aref} (@pxref{Array Functions}) to get the raw syntax
descriptor of a character, e.g. @w{@code{(aref (syntax-table) ch)}}.
descriptor of a character, for example @w{@code{(aref (syntax-table) ch)}}.
Here are the syntax codes corresponding to the various syntax
classes:

View file

@ -1696,7 +1696,7 @@ The @code{pixel-fill-width} helper function can be used to compute the
pixel width to use. If given no arguments, it'll return a value
slightly less than the width of the current window. The first
optional value, @var{columns}, specifies the number of columns using
the standard, monospaced fonts, e.g. @code{fill-column}. The second
the standard, monospaced fonts, for example @code{fill-column}. The second
optional value is the window to use. You'd typically use it like
this:
@ -4971,7 +4971,7 @@ network. MD5 and SHA-1 are not collision resistant (i.e., it is
possible to deliberately design different pieces of data which have
the same MD5 or SHA-1 hash), so you should not use them for anything
security-related. For security-related applications you should use
the other hash types, such as SHA-2 (e.g. @code{sha256} or
the other hash types, such as SHA-2 (e.g., @code{sha256} or
@code{sha512}).
@defun secure-hash-algorithms
@ -6137,7 +6137,7 @@ communicating endpoints is a matter of correctly designing the RPC
application: when synchronization is needed, requests (which are
blocking) should be used; when it isn't, notifications should suffice.
However, when Emacs acts as one of these endpoints, asynchronous
events (e.g. timer- or process-related) may be triggered while there
events (e.g., timer- or process-related) may be triggered while there
is still uncertainty about the state of the remote endpoint.
Furthermore, acting on these events may only sometimes demand
synchronization, depending on the event's specific nature.

View file

@ -234,7 +234,7 @@ series of calculators, its many features include:
@itemize @bullet
@item
Choice of algebraic or Reverse Polish notation (RPN),
i.e. stack-based, entry of calculations.
i.e.@: stack-based, entry of calculations.
@item
Arbitrary precision integers and floating-point numbers.
@ -2630,8 +2630,8 @@ elements.) Calculations involving fractions will always
produce exact fractional results; Fraction mode only says
what to do when dividing two integers.
@cindex Fractions vs. floats
@cindex Floats vs. fractions
@cindex Fractions vs.@: floats
@cindex Floats vs.@: fractions
(@bullet{}) @strong{Exercise 4.} If fractional arithmetic is exact,
why would you ever use floating-point numbers instead?
@xref{Modes Answer 4, 4}. (@bullet{})

View file

@ -6164,7 +6164,7 @@ Line up the second entry of a brace block under the first, when the
first line is also contained in an arglist or an enclosing brace
@emph{on that line}.
I.e. handle something like the following:
In other words, handle something like the following:
@example
@group
@ -6225,7 +6225,7 @@ Line up the second entry of a class (etc.) initializer
@code{c-basic-offset} characters in from the identifier when:
@enumerate
@item
The type is a class, struct, union, etc. (but not an enum);
The type is a class, struct, union, etc.@: (but not an enum);
@item
There is a brace block in the type declaration, specifying it; and
@item
@ -6233,7 +6233,7 @@ The first element of the initializer is on the same line as its
opening brace.
@end enumerate
I.e. we have a construct like this:
In other words, we have a construct like this:
@example
@group
@ -6267,7 +6267,7 @@ Line up the second entry of a class (etc.) initializer after its
opening brace when:
@enumerate
@item
The type is a class, struct, union, etc. (but not an enum);
The type is a class, struct, union, etc.@: (but not an enum);
@item
There is a brace block in the type declaration, specifying it; and
@item
@ -6275,7 +6275,7 @@ The first element of the initializer is on the same line as its
opening brace.
@end enumerate
I.e. we have a construct like this:
In other words, we have a construct like this:
@example
@group
@ -6589,7 +6589,7 @@ function is the same as specifying a list @code{(c-lineup-assignments
@defun c-lineup-ternary-bodies
@findex lineup-ternary-bodies @r{(c-)}
Line up true and false branches of a ternary operator
(i.e. @code{?:}). More precisely, if the line starts with a colon
(i.e., @code{?:}). More precisely, if the line starts with a colon
which is a part of a said operator, align it with corresponding
question mark. For example:
@ -7162,7 +7162,7 @@ is @code{nil}, all lines inside macro definitions are analyzed as
@end defopt
Sometimes you may want to indent particular directives
(e.g. @code{#pragma}) as though they were statements. To do this, see
(e.g., @code{#pragma}) as though they were statements. To do this, see
@ref{Indenting Directives}.
Because a macro can expand into anything at all, near where one is
@ -7354,7 +7354,7 @@ after the mode hooks have run.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sometimes you may want to indent particular preprocessor directives
(e.g. @code{#pragma}) as though they were statements. To do this,
(e.g., @code{#pragma}) as though they were statements. To do this,
first set up @code{c-cpp-indent-to-body-directives} to include the
directive name(s), then enable the ``indent to body'' feature with
@code{c-toggle-cpp-indent-to-body}.

View file

@ -1889,8 +1889,8 @@ capabilities.
If by contrast you wish to @emph{disable} tty color support, either
start emacs with the @samp{--color=no} command-line option, or ensure
that the frame parameter @code{tty-color-mode} is @code{no}, e.g. by
putting the following in your init file:
that the frame parameter @code{tty-color-mode} is @code{no}, for example
by putting the following in your init file:
@lisp
(push '(tty-color-mode . no) default-frame-alist)
@ -3686,9 +3686,9 @@ You can tell Emacs the shell's current directory with the command
@item
Third party packages.
Any package you install into Emacs can run arbitrary code with the
same privileges as the Emacs process itself. Be aware of this when
you use the package system (e.g. @code{M-x list-packages}) with third
Any package you install into Emacs can run arbitrary code with the same
privileges as the Emacs process itself. Be aware of this when you use
the package system (for example, @code{M-x list-packages}) with third
party archives. Use only third parties that you can trust!
@item

View file

@ -872,7 +872,7 @@ If this is non-@code{nil}, and @kbd{M-.}
(@code{xref-find-definitions}) lands you in a file outside of your
project, such as a system-installed library or header file,
transiently consider that file as managed by the same language server.
That file is still outside your project (i.e. @code{project-find-file}
That file is still outside your project (i.e., @code{project-find-file}
won't find it), but Eglot and the server will consider it to be part
of the workspace. The default is @code{nil}.

View file

@ -851,7 +851,7 @@ Examples of use:
In the case of @code{:client-certificate t}, you will need to add a
line like the following to your authinfo file
(e.g. @file{~/.authinfo.gpg}):
(for example, @file{~/.authinfo.gpg}):
@example
machine irc.libera.chat key /home/bandali/my-cert.key cert /home/bandali/my-cert.crt

View file

@ -1642,7 +1642,7 @@ edited aliases.
Note that unlike aliases in Bash, arguments must be handled
explicitly. Within aliases, you can use the special variables
@samp{$*}, @samp{$0}, @samp{$1}, @samp{$2}, etc. to refer to the
@samp{$*}, @samp{$0}, @samp{$1}, @samp{$2}, etc.@: to refer to the
arguments passed to the alias.
@table @code
@ -2600,8 +2600,8 @@ glob patterns, the pattern will be removed from the input line, and
replaced by the completion.
@kindex M-?
If you want to see the entire list of possible completions (e.g. when it's
below the @code{completion-cycle-threshold}), press @kbd{M-?}.
If you want to see the entire list of possible completions (e.g., when
it's below the @code{completion-cycle-threshold}), press @kbd{M-?}.
@subsection pcomplete
Pcomplete, short for programmable completion, is the completion

View file

@ -582,7 +582,7 @@ function was called for the buffer. If the list is empty, this
indicates that no changes have been recorded. If it is the first time
that this backend function is called for this activation of
@code{flymake-mode}, then this argument isn't provided at all
(i.e. it's not merely nil).
(in other words, it's not merely nil).
Each element is in the form (@var{beg} @var{end} @var{text}) where
@var{beg} and @var{end} are buffer positions, and @var{text} is a

View file

@ -1054,7 +1054,7 @@ of the variables @code{shr-color-visible-distance-min} and
messages?
* FAQ 5-3:: How to set stuff like From, Organization, Reply-To,
signature...?
* FAQ 5-4:: Can I set things like From, Signature etc. group based on
* FAQ 5-4:: Can I set things like From, Signature etc.@: group based on
the group I post too?
* FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly
spell-checking?

View file

@ -18612,7 +18612,7 @@ sending the diary message to them as well.
@cindex Gnus agent
@cindex Gnus unplugged
In olden times (ca. February '88), people used to run their newsreaders
In olden times (ca.@: February '88), people used to run their newsreaders
on big machines with permanent connections to the net. News transport
was dealt with by news servers, and all the newsreaders had to do was to
read news. Believe it or not.
@ -23349,7 +23349,7 @@ windows resized.
Lastly, it's possible to make Gnus window layouts ``atomic''
(@pxref{Atomic Windows, , Atomic Windows, elisp, The GNU Emacs Lisp
Reference Manual}) by setting @code{gnus-use-atomic-windows} to
@code{t}. This will ensure that pop-up buffers (e.g. help or
@code{t}. This will ensure that pop-up buffers (e.g., help or
completion buffers), will appear below or to the side of the entire
Gnus window layout and not, for example, squashed between the summary
and article buffers.
@ -24859,7 +24859,7 @@ particular spam group. You don't have to throw all mail into all the
spam tests. Another reason why this is nice is that messages to
mailing lists you have rules for don't have to have resource-intensive
blackhole checks performed on them. You could also specify different
spam checks for your nnmail split vs. your nnimap split. Go crazy.
spam checks for your nnmail split vs.@: your nnimap split. Go crazy.
You should set the @code{spam-use-*} variables for whatever spam back
ends you intend to use. The reason is that when loading
@ -26980,7 +26980,7 @@ appropriate name, don't you think?)
In any case, after spending all that energy on coming up with a new and
spunky name, we decided that the name was @emph{too} spunky, so we
renamed it back again to ``Gnus''. But in mixed case. ``Gnus'' vs.
``@sc{gnus}''. New vs. old.
``@sc{gnus}''. New vs.@: old.
@menu
* Gnus Versions:: What Gnus versions have been released.

View file

@ -1333,7 +1333,7 @@ corresponding help (@pxref{Routine Info}).
When using completion and Emacs pops up a @file{*Completions*} buffer
with possible completions, clicking with @kbd{mouse-3} on a completion
item invokes help on that item (@pxref{Completion}). Items for which
help is available in the online system documentation (vs. just the
help is available in the online system documentation (vs.@: just the
program source itself) will be emphasized (e.g., colored blue).
@end itemize
@noindent
@ -3495,7 +3495,7 @@ Controls under what circumstances routine info is updated automatically.
@emph{Catalogs} are files containing scanned information on individual
routines, including arguments and keywords, calling sequence, file path,
class and procedure vs. function type, etc. They represent a way of
class and procedure vs.@: function type, etc. They represent a way of
extending the internal built-in information available for IDL system
routines (@pxref{Routine Info}) to other source collections.

View file

@ -126,7 +126,7 @@ It uses a fast but not so space-efficient encoding for the parse
tables, described in Corbett's PhD thesis from Berkeley:
@quotation
@cite{Static Semantics in Compiler Error Recovery}@*
June 1985, Report No. UCB/CSD 85/251.
June 1985, Report No.@: UCB/CSD 85/251.
@end quotation
@item

View file

@ -1600,7 +1600,7 @@ https://lists.gnu.org/r/emacs-devel/2016-07/msg00154.html.
*** In Emacs built with GTK+ toolkit, menu-bar background becomes transparent.
This happens when 'alpha-background' is less than 100. This is due a
This happens when 'alpha-background' is less than 100. This is due to a
GTK limitation, for which no workaround is currently known,
unfortunately.
@ -1622,7 +1622,7 @@ after switching back from another virtual desktop. Setting the variable
*** Gnome desktop does not respect frame size specified in .Xresources
This has been obeserved when running a GTK+ build of Emacs 29 from the
This has been observed when running a GTK+ build of Emacs 29 from the
launch pad on Ubuntu 24.04 with mutter as window manager. The problem
can be resolved by running Emacs from the command line instead.

View file

@ -30,7 +30,7 @@ comments when you write it (sometime in 2198 as I recall).
P.S. You'll be pleased to know that since (time-forward N) still works
for N >= 0, we've used it to pre-emptively update configure.ac.
for N >= 0, we've used it to preemptively update configure.ac.
Emacs now configures and builds on every platform that will ever
be made. It wasn't easy, but at least that's one problem out of
the way for good. If you'd like the patch, just ask.

View file

@ -1676,7 +1676,8 @@ for a file, defaulting to the file defined by variable
;; Rather than a single call to `pp' we make one per bookmark.
;; Apparently `pp' has a poor algorithmic complexity, so this
;; scales a lot better. bug#4485.
(dolist (i bookmark-alist) (pp i (current-buffer)))
(let ((pp-default-function #'pp-28))
(dolist (i bookmark-alist) (pp i (current-buffer))))
(insert ")\n")
;; Make sure the specified encoding can safely encode the
;; bookmarks. If it cannot, suggest utf-8-emacs as default.

View file

@ -102,7 +102,7 @@
;; the absolute format (see e.g. `calendar-iso-from-absolute' in
;; cal-iso.el). This representation is also useful for certain
;; calculations; e.g. `calendar-day-of-week' is simply the absolute
;; represention modulo 7, because December 31, 1BC is a Sunday.
;; representation modulo 7, because December 31, 1BC is a Sunday.
;; A note on free variables:

View file

@ -71,7 +71,7 @@ to match if any element of ARGS fails to match."
,@(map--make-pcase-bindings args)))
(defmacro map-let (keys map &rest body)
"Bind the variables in KEYS to the elements of MAP then evaluate BODY.
"Bind the variables in KEYS to the elements of MAP, then evaluate BODY.
KEYS can be a list of symbols, in which case each element will be
bound to the looked up value in MAP.
@ -192,7 +192,7 @@ or array."
"Associate KEY with VALUE in MAP and return VALUE.
If KEY is already present in MAP, replace the associated value
with VALUE.
When MAP is an alist, test equality with TESTFN if non-nil,
If MAP is an alist, test equality with TESTFN if non-nil,
otherwise use `equal'.
MAP can be an alist, plist, hash-table, or array."
@ -318,7 +318,7 @@ The default implementation delegates to `map-do'."
(cl-defgeneric map-apply (function map)
"Apply FUNCTION to each element of MAP and return the result as a list.
FUNCTION is called with two arguments, the key and the value.
FUNCTION is called with two arguments, the key of an element and its value.
The default implementation delegates to `map-do'."
(let ((res '()))
(map-do (lambda (k v) (push (funcall function k v) res)) map)
@ -339,7 +339,7 @@ The default implementation delegates to `map-apply'."
map))
(cl-defgeneric map-values-apply (function map)
"Return the result of applying FUNCTION to each value in MAP.
"Return the result of applying FUNCTION to the value of each key in MAP.
The default implementation delegates to `map-apply'."
(map-apply (lambda (_ val)
(funcall function val))
@ -407,8 +407,9 @@ If MAP is a plist, TESTFN defaults to `eq'."
(not (eq v (gethash key map v)))))
(cl-defgeneric map-some (pred map)
"Return the first non-nil (PRED key val) in MAP.
"Return the first non-nil value from applying PRED to elements of MAP.
Return nil if no such element is found.
PRED is called with two arguments: the key of an element and its value.
The default implementation delegates to `map-do'."
;; FIXME: Not sure if there's much benefit to defining it as defgeneric,
;; since as defined, I can't think of a map-type where we could provide an
@ -422,7 +423,8 @@ The default implementation delegates to `map-do'."
nil))
(cl-defgeneric map-every-p (pred map)
"Return non-nil if (PRED key val) is non-nil for all elements of MAP.
"Return non-nil if calling PRED on all elements of MAP returns non-nil.
PRED is called with two arguments: the key of an element and its value.
The default implementation delegates to `map-do'."
;; FIXME: Not sure if there's much benefit to defining it as defgeneric,
;; since as defined, I can't think of a map-type where we could provide an
@ -436,7 +438,7 @@ The default implementation delegates to `map-do'."
(defun map--merge (merge type &rest maps)
"Merge into a map of TYPE all the key/value pairs in MAPS.
MERGE is a function that takes the target MAP, a KEY, and a
MERGE is a function that takes the target MAP, a KEY and its
VALUE, merges KEY and VALUE into MAP, and returns the result.
MAP may be of a type other than TYPE."
;; Use a hash table internally if `type' is a list. This avoids
@ -466,7 +468,7 @@ See `map-into' for all supported values of TYPE."
(defun map-merge-with (type function &rest maps)
"Merge into a map of TYPE all the key/value pairs in MAPS.
When two maps contain the same key, call FUNCTION on the two
values and use the value returned by it.
values and use the value FUNCTION returns.
Each of MAPS can be an alist, plist, hash-table, or array.
See `map-into' for all supported values of TYPE."
(let ((not-found (list nil)))
@ -502,8 +504,8 @@ See `map-into' for all supported values of TYPE."
"Associate KEY with VALUE in MAP.
If KEY is already present in MAP, replace the associated value
with VALUE.
This operates by modifying MAP in place.
If it cannot do that, it signals a `map-not-inplace' error.
This operates by modifying MAP in place. If it cannot do that,
it signals the `map-not-inplace' error.
To insert an element without modifying MAP, use `map-insert'."
;; `testfn' only exists for backward compatibility with `map-put'!
(declare (advertised-calling-convention (map key value) "27.1")))

View file

@ -375,12 +375,13 @@ If optional argument QUERY is non-nil, query for the help mode."
(cons (symbol-name mode-spec) mode-spec)))
(info-lookup->topic-value topic)))
(mode (completing-read
(format "Use %s help mode: " topic)
(format "Major mode whose manuals to search for this %s: "
topic)
completions nil t nil 'info-lookup-history)))
(or (setq mode (cdr (assoc mode completions)))
(error "No %s help available" topic))
(error "No manuals available for %s" topic))
(or (info-lookup->mode-value topic mode)
(error "No %s help available for `%s'" topic mode))
(error "The manuals of `%s' have no %s help" mode topic))
(setq info-lookup-mode mode)))
(defun info-lookup--item-to-mode (item mode)

View file

@ -343,6 +343,9 @@ Here are some example of valid key sequences.
\"C-c o\" (a two-key sequence: the key `c' with the control modifier
followed by the key `o')
\"H-<left>\" (the cursor control key named \"left\" with the hyper modifier)
\"RET\" (the \"return\" key, also available as \"C-m\")
\"<return>\" (the \"<return>\" function key, which can be bound separately
from \"RET\" on some systems)
\"M-RET\" (the \"return\" key with a meta modifier)
\"C-M-<space>\" (the \"space\" key with both the control and meta modifiers)

View file

@ -249,7 +249,7 @@ automatically)."
. ,(eglot-alternatives
'("pylsp" "pyls" ("basedpyright-langserver" "--stdio")
("pyright-langserver" "--stdio")
"jedi-language-server" "ruff-lsp")))
"jedi-language-server" ("ruff" "server") "ruff-lsp")))
((js-json-mode json-mode json-ts-mode jsonc-mode)
. ,(eglot-alternatives '(("vscode-json-language-server" "--stdio")
("vscode-json-languageserver" "--stdio")

View file

@ -103,6 +103,7 @@
((parent-is "parameter_list") parent-bol go-ts-mode-indent-offset)
((parent-is "select_statement") parent-bol 0)
((parent-is "type_case") parent-bol go-ts-mode-indent-offset)
((parent-is "type_declaration") parent-bol go-ts-mode-indent-offset)
((parent-is "type_spec") parent-bol go-ts-mode-indent-offset)
((parent-is "type_switch_statement") parent-bol 0)
((parent-is "var_declaration") parent-bol go-ts-mode-indent-offset)

View file

@ -198,7 +198,7 @@
;;
;; The expected syntax of an item is either "word" or "symbol",
;; possibly ending with optional whitespace. Everything following
;; the item (but belonging to it) is expected to by skipable by
;; the item (but belonging to it) is expected to by skippable by
;; `forward-sexp'. The list of items is expected to be separated
;; by commas and terminated by semicolons or equals signs.
;;

View file

@ -56,7 +56,7 @@
;; Commands in ispell-region:
;; Character replacement: Replace word with choice. May query-replace.
;; ` ': Accept word this time.
;; `i': Accept word and insert into private dictionary.
;; `i': Accept word and insert into personal dictionary.
;; `a': Accept word for this session.
;; `A': Accept word and place in buffer-local dictionary.
;; `r': Replace word with typed-in value. Rechecked.
@ -2193,7 +2193,7 @@ Global `ispell-quit' is set to start location to continue spell session."
(insert (car guess) " ")
(setq guess (cdr guess)))
(insert (substitute-command-keys
"\nUse option `i' to accept this spelling and put it in your private dictionary.\n"))))
"\nUse option `i' to accept this spelling and put it in your personal dictionary.\n"))))
(while choices
(when (> (+ 7 (current-column)
(length (car choices))
@ -2448,7 +2448,7 @@ Selections are:
\\`0'..\\`9' Replace the word with a digit offered in the *Choices* buffer.
\\`SPC' Accept word this time.
\\`i' Accept word and insert into private dictionary.
\\`i' Accept word and insert into personal dictionary.
\\`a' Accept word for this session.
\\`A' Accept word and place in `buffer-local dictionary'.
\\`r' Replace word with typed-in value. Rechecked.
@ -2482,7 +2482,7 @@ Selections are:
\\`0'..\\`9' Replace the word with a digit offered in the *Choices* buffer.
\\`SPC' Accept word this time.
\\`i' Accept word and insert into private dictionary.
\\`i' Accept word and insert into personal dictionary.
\\`a' Accept word for this session.
\\`A' Accept word and place in `buffer-local dictionary'.
\\`r' Replace word with typed-in value. Rechecked.
@ -2502,7 +2502,7 @@ Selections are:
(let ((help-1 (concat "[r/R]eplace word; [a/A]ccept for this session; "
"[i]nsert into private dictionary"))
"[i]nsert into personal dictionary"))
(help-2 (concat "[l]ook a word up in alternate dictionary; "
"e[x/X]it; [q]uit session"))
(help-3 (concat "[u]ncapitalized insert into dict. "

View file

@ -135,8 +135,8 @@ of the `tooltip' face are used instead."
:inherit variable-pitch))
"Face for tooltips.
When using the GTK toolkit, this face will only be used if
`x-gtk-use-system-tooltips' is non-nil."
When using the GTK toolkit, NS, or Haiku, this face will only
be used if `use-system-tooltips' is nil."
:group 'tooltip
:group 'basic-faces)

View file

@ -116,8 +116,8 @@ then there is no minimum threshold; as soon as the scheduled time has
elapsed, the user will always be queried.
The second number is the maximum number of keystrokes that can be entered
before a typing break is requested immediately, pre-empting the originally
scheduled break. If this second value is nil, then no pre-emptive breaks
before a typing break is requested immediately, preempting the originally
scheduled break. If this second value is nil, then no preemptive breaks
will occur; only scheduled ones will.
Keys with bucky bits (shift, control, meta, etc) are counted as only one

View file

@ -14,7 +14,7 @@ OpenStep and then Rhapsody, which became Mac OS X. In 2004 it was
adapted to GNUstep, a free OpenStep implementation, and in 2008 it was
merged to the GNU Emacs trunk and released with Emacs 23. Around the
same time a separate Mac-only port using the Carbon APIs and
descending from a 2001 Mac OS 8/9 port of Emacs 21 was removed. (It
descending from a 2001 Mac OS 8/9 port of Emacs 21 was removed. (It
remains available externally under the name "mac".)
@ -48,12 +48,12 @@ Classes are declared like the following:
GUIDELINES
* Adhere the to the FSF philosophy that a feature in GNU software
should not only be available on non-free systems.
* Adhere to the FSF philosophy that a feature in GNU software should not
only be available on non-free systems.
* People with varying Cocoa and Objective-C skills will read and
modify the NS code over a long period of time. Keep the code simple
and avoid language constructs that makes the code hard to maintain.
and avoid language constructs that make the code hard to maintain.
* Don't use macros and types intended for the XCode Interface Builder,
like 'IBAction'.
@ -81,7 +81,7 @@ GNUstep. Even though they are less frequently used, this is important
for a number of reasons:
* It supports the GNUstep project and provides an Emacs with the same
look-and-feel as the rest of the system.
look and feel as the rest of the system.
* This allows other Emacs developers to test their changes on the NS
interface without having access to a macOS machine.
@ -93,7 +93,7 @@ for a number of reasons:
SEE ALSO
The src/ns... files contains the C and Objective-C parts.
The src/ns... files contain the C and Objective-C parts.
The lisp/term/ns-win.el file contains the lisp part of the NS
interface.

View file

@ -15583,7 +15583,7 @@
1989-04-29 Joe Arceneaux (jla@apple-gunkies.ai.mit.edu)
* xterm.c (x_term_init): Don't set visible bell, as it pre-empts
* xterm.c (x_term_init): Don't set visible bell, as it preempts
.emacs control.
1989-04-26 Richard Stallman (rms@sugar-bombs.ai.mit.edu)

View file

@ -7153,11 +7153,11 @@ Gtk+ tooltips are not used) and on Windows. */);
tooltip_reuse_hidden_frame = false;
DEFVAR_BOOL ("use-system-tooltips", use_system_tooltips,
doc: /* Use the toolkit to display tooltips.
This option is only meaningful when Emacs is built with GTK+ or Haiku
windowing support, and results in tooltips that look like those
displayed by other GTK+ or Haiku programs, but will not be able to
display text properties inside tooltip text. */);
doc: /* Whether to use the toolkit to display tooltips.
This option is only meaningful when Emacs is built with GTK+, NS or Haiku
windowing support, and, if it's non-nil (the default), it results in
tooltips that look like those displayed by other GTK+/NS/Haiku programs,
but will not be able to display text properties inside tooltip text. */);
use_system_tooltips = true;
DEFVAR_LISP ("iconify-child-frame", iconify_child_frame,

View file

@ -2675,7 +2675,7 @@ read_char (int commandflag, Lisp_Object map,
/* Normal case: no input arrived during redisplay. */
break;
/* Input arrived and pre-empted redisplay.
/* Input arrived and preempted redisplay.
Process any events which are not user-visible. */
swallow_events (false);
/* If that cleared input_pending, try again to redisplay. */

View file

@ -7681,7 +7681,7 @@ w32_memory_info (unsigned long long *totalram, unsigned long long *freeram,
{
MEMORYSTATUS memst;
MEMORY_STATUS_EX memstex;
memstex.dwLength = sizeof (memstex);
/* Use GlobalMemoryStatusEx if available, as it can report more than
2GB of memory. */
if (global_memory_status_ex (&memstex))
@ -7692,7 +7692,9 @@ w32_memory_info (unsigned long long *totalram, unsigned long long *freeram,
*freeswap = memstex.ullAvailPageFile;
return 0;
}
else if (global_memory_status (&memst))
memst.dwLength = sizeof (memst);
if (global_memory_status (&memst))
{
*totalram = memst.dwTotalPhys;
*freeram = memst.dwAvailPhys;

View file

@ -6194,7 +6194,9 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object,
{
struct face *face = FACE_FROM_ID (it->f, it->face_id);
it->voffset = - (XFLOATINT (value)
* (normal_char_height (face->font, -1)));
* (face->font
? normal_char_height (face->font, -1)
: FRAME_LINE_HEIGHT (it->f)));
}
#endif /* HAVE_WINDOW_SYSTEM */
}
@ -32168,7 +32170,8 @@ produce_stretch_glyph (struct it *it)
/* Compute height. */
if (FRAME_WINDOW_P (it->f))
{
int default_height = normal_char_height (font, ' ');
int default_height =
font ? normal_char_height (font, ' ') : FRAME_LINE_HEIGHT (it->f);
if ((prop = plist_get (plist, QCheight), !NILP (prop))
&& calc_pixel_width_or_height (&tem, it, prop, font, false, NULL))