* doc/emacs/custom.texi (Init Rebinding):
* doc/emacs/dired.texi (Operating on Files):
* doc/emacs/emacs.texi (Top):
* doc/emacs/emerge-xtra.texi (Emerge):
* doc/emacs/files.texi (Files):
* doc/emacs/frames.texi (Drag and Drop):
* doc/emacs/misc.texi (Hyperlinking):
* doc/emacs/modes.texi (Modes):
* doc/emacs/mule.texi (Input Methods):
* doc/emacs/windows.texi (Window Tool Bar):
* doc/lispintro/emacs-lisp-intro.texi
(Lexical & Dynamic Binding Differences):
* doc/lispref/elisp.texi (Top):
* doc/lispref/functions.texi (Functions, Generic Functions):
* doc/lispref/hash.texi (Defining Hash):
* doc/lispref/keymaps.texi (Creating Keymaps):
* doc/lispref/lists.texi (Property Lists):
* doc/lispref/modes.texi (%-Constructs):
* doc/lispref/nonascii.texi (Character Properties):
* doc/lispref/processes.texi (Misc Network):
* doc/lispref/searching.texi (Regexp Functions):
* doc/lispref/syntax.texi (Syntax Table Internals):
* doc/lispref/text.texi (Filling, Checksum/Hash)
(JSONRPC deferred requests):
* doc/misc/calc.texi (What is Calc, Modes Tutorial):
* doc/misc/cc-mode.texi (List Line-Up, Operator Line-Up)
(Custom Macros, Indenting Directives):
* doc/misc/efaq.texi (Colors on a TTY, Security risks with Emacs):
* doc/misc/eglot.texi (Eglot Variables):
* doc/misc/erc.texi (Connecting):
* doc/misc/eshell.texi (Aliases, Completion):
* doc/misc/flymake.texi (Backend functions):
* doc/misc/gnus-faq.texi (FAQ 5 - Composing messages):
* doc/misc/gnus.texi (Gnus Unplugged, Window Layout)
(Filtering Incoming Mail, History):
* doc/misc/idlwave.texi (Online Help, Catalogs):
* doc/misc/wisent.texi (Wisent Overview): Be more consistent with
abbreviations. Use @: or comma or rewrite to avoid double spaces.
Ref: https://lists.gnu.org/r/emacs-devel/2025-01/msg00909.html
(cherry picked from commit
fb282da2a0756d4e6de16b5879e42204f0d33e5b)
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.
* 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 Conveniences:: Convenience features for finding files.
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.
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.
@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.
* 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 Conveniences:: Convenience features for finding files.
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
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.
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
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
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:
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.
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.
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
@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
@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)
@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
@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}.
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
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
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
@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}
@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:
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:
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
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.
@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.
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{})
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
@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
opening brace.
@end enumerate
-I.e. we have a construct like this:
+In other words, we have a construct like this:
@example
@group
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
opening brace.
@end enumerate
-I.e. we have a construct like this:
+In other words, we have a construct like this:
@example
@group
@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:
@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
@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}.
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)
@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
(@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}.
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
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
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
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?
@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.
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.
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
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.