even evaluating its argument.
The @var{modes} list allows specifying which modes the command is
-meant to be used in. See @ref{Command Modes} for more details about
+meant to be used in. @xref{Command Modes} for more details about
the effect of specifying @var{modes}, and when to use it.
By convention, you should put the @code{interactive} form in the
Specify how to decide whether an inline value matches the type. The
corresponding value, @var{function}, should be a function that accepts
two arguments, a widget and an inline value; it should return
-non-@code{nil} if the value is acceptable. See @ref{Splicing into
+non-@code{nil} if the value is acceptable. @xref{Splicing into
Lists} for more information about inline values.
@item :validate @var{function}
To debug a Lisp program with Edebug, you must first @dfn{instrument}
the Lisp code that you want to debug. A simple way to do this is to
first move point into the definition of a function or macro and then do
-@kbd{C-u C-M-x} (@code{eval-defun} with a prefix argument). See
-@ref{Instrumenting}, for alternative ways to instrument code.
+@kbd{C-u C-M-x} (@code{eval-defun} with a prefix argument).
+@xref{Instrumenting}, for alternative ways to instrument code.
Once a function is instrumented, any call to the function activates
Edebug. Depending on which Edebug execution mode you have selected,
@cindex preventing backtracking
No argument is matched but backtracking through the gate is disabled
while matching the remainder of the specifications at this level. This
-is primarily used to generate more specific syntax error messages. See
-@ref{Backtracking}, for more details. Also see the @code{let} example.
+is primarily used to generate more specific syntax error messages.
+@xref{Backtracking}, for more details. Also see the @code{let} example.
@item &error
@code{&error} should be followed by a string, an error message, in the
rule: A @dfn{minibuffer-less frame} contains a root window only and does
not contain a minibuffer window. A @dfn{minibuffer-only frame} contains
only a minibuffer window which also serves as that frame's root window.
-See @ref{Initial Parameters} for how to create such frame
-configurations.
+@xref{Initial Parameters} for how to create such frame configurations.
@item Text Area
@cindex text area
low-level interface to operating system services, or because it needs
to run fast. Unlike functions defined in Lisp, primitives can be
modified or added only by changing the C sources and recompiling
-Emacs. See @ref{Writing Emacs Primitives}.
+Emacs. @xref{Writing Emacs Primitives}.
@item special form
A primitive that is like a function but does not evaluate all of its
@table @code
@item apply
-See @ref{Calling Functions}.
+@xref{Calling Functions}.
@item autoload
-See @ref{Autoload}.
+@xref{Autoload}.
@item call-interactively
-See @ref{Interactive Call}.
+@xref{Interactive Call}.
@item called-interactively-p
-See @ref{Distinguish Interactive}.
+@xref{Distinguish Interactive}.
@item commandp
-See @ref{Interactive Call}.
+@xref{Interactive Call}.
@item documentation
-See @ref{Accessing Documentation}.
+@xref{Accessing Documentation}.
@item eval
-See @ref{Eval}.
+@xref{Eval}.
@item funcall
-See @ref{Calling Functions}.
+@xref{Calling Functions}.
@item function
-See @ref{Anonymous Functions}.
+@xref{Anonymous Functions}.
@item ignore
-See @ref{Calling Functions}.
+@xref{Calling Functions}.
@item indirect-function
-See @ref{Function Indirection}.
+@xref{Function Indirection}.
@item interactive
-See @ref{Using Interactive}.
+@xref{Using Interactive}.
@item interactive-p
-See @ref{Distinguish Interactive}.
+@xref{Distinguish Interactive}.
@item mapatoms
-See @ref{Creating Symbols}.
+@xref{Creating Symbols}.
@item mapcar
-See @ref{Mapping Functions}.
+@xref{Mapping Functions}.
@item map-char-table
-See @ref{Char-Tables}.
+@xref{Char-Tables}.
@item mapconcat
-See @ref{Mapping Functions}.
+@xref{Mapping Functions}.
@item undefined
-See @ref{Functions for Key Lookup}.
+@xref{Functions for Key Lookup}.
@end table
minor modes so that they don't interfere with each other. If you do
this properly, the order will not matter.
-See @ref{Keymaps and Minor Modes}, for more information about minor
-modes. See also @code{minor-mode-key-binding} (@pxref{Functions for Key
+@xref{Keymaps and Minor Modes}, for more information about minor modes.
+See also @code{minor-mode-key-binding} (@pxref{Functions for Key
Lookup}).
@end defvar
@cindex string in keymap
The array (either a string or a vector) is a keyboard macro. The events
used so far in the lookup form a complete key, and the array is its
-binding. See @ref{Keyboard Macros}, for more information.
+binding. @xref{Keyboard Macros}, for more information.
@item @var{keymap}
@cindex keymap in keymap
@end table
@noindent
-See @ref{Programmed Completion}, for a complete list of metadata entries.
+@xref{Programmed Completion}, for a complete list of metadata entries.
@end defopt
@defvar completion-local-styles
@cindex terminal input
This section describes functions and variables for recording or
-manipulating terminal input. See @ref{Display}, for related
-functions.
+manipulating terminal input. @xref{Display}, for related functions.
@menu
* Input Modes:: Options for how input is processed.
subclass, see @ref{Inheritance,Inheritance,,eieio}.). Users of the
application-building interface can then instantiate objects of this
concrete class (using the @code{make-instance} function) and connect
-to JSONRPC endpoints using that strategy. See @ref{Process-based
+to JSONRPC endpoints using that strategy. @xref{Process-based
JSONRPC connections} for a built-in transport implementation.
This API has mandatory and optional parts.
invisible in the final printed copy. Certain major modes have different
delimiters to ensure that the ``plain'' version will be
in a comment for those modes, also.
-See @ref{Customizing Embedded Mode} to see how to change the ``plain''
+@xref{Customizing Embedded Mode} to see how to change the ``plain''
formula delimiters.
There are several notations which Calc's parser for ``big''
Some of the customizable variables are regular expressions. A regular
expression is basically a pattern that Calc can search for.
-See @ref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual}
+@xref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual}
to see how regular expressions work.
@defvar calc-settings-file
@end defvar
@defvar calc-gnuplot-name
-See @ref{Graphics}.@*
+@xref{Graphics}.@*
The variable @code{calc-gnuplot-name} should be the name of the
GNUPLOT program (a string). If you have GNUPLOT installed on your
system but Calc is unable to find it, you may need to set this
@defvar calc-gnuplot-plot-command
@defvarx calc-gnuplot-print-command
-See @ref{Devices, ,Graphical Devices}.@*
+@xref{Devices, ,Graphical Devices}.@*
The variables @code{calc-gnuplot-plot-command} and
@code{calc-gnuplot-print-command} represent system commands to
display and print the output of GNUPLOT, respectively. These may be
@end defvar
@defvar calc-language-alist
-See @ref{Basic Embedded Mode}.@*
+@xref{Basic Embedded Mode}.@*
The variable @code{calc-language-alist} controls the languages that
Calc will associate with major modes. When Calc embedded mode is
enabled, it will try to use the current major mode to
@defvar calc-embedded-announce-formula
@defvarx calc-embedded-announce-formula-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variable @code{calc-embedded-announce-formula} helps determine
what formulas @kbd{C-x * a} will activate in a buffer. It is a
regular expression, and when activating embedded formulas with
@defvar calc-embedded-open-formula
@defvarx calc-embedded-close-formula
@defvarx calc-embedded-open-close-formula-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variables @code{calc-embedded-open-formula} and
@code{calc-embedded-close-formula} control the region that Calc will
activate as a formula when Embedded mode is entered with @kbd{C-x * e}.
@defvar calc-embedded-word-regexp
@defvarx calc-embedded-word-regexp-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variable @code{calc-embedded-word-regexp} determines the expression
that Calc will activate when Embedded mode is entered with @kbd{C-x *
w}. It is a regular expressions.
@defvar calc-embedded-open-plain
@defvarx calc-embedded-close-plain
@defvarx calc-embedded-open-close-plain-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variables @code{calc-embedded-open-plain} and
@code{calc-embedded-open-plain} are used to delimit ``plain''
formulas. Note that these are actual strings, not regular
@defvar calc-embedded-open-new-formula
@defvarx calc-embedded-close-new-formula
@defvarx calc-embedded-open-close-new-formula-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variables @code{calc-embedded-open-new-formula} and
@code{calc-embedded-close-new-formula} are strings which are
inserted before and after a new formula when you type @kbd{C-x * f}.
@defvar calc-embedded-open-mode
@defvarx calc-embedded-close-mode
@defvarx calc-embedded-open-close-mode-alist
-See @ref{Customizing Embedded Mode}.@*
+@xref{Customizing Embedded Mode}.@*
The variables @code{calc-embedded-open-mode} and
@code{calc-embedded-close-mode} are strings which Calc will place before
and after any mode annotations that it inserts. Calc never scans for
@defvar calc-lu-power-reference
@defvarx calc-lu-field-reference
-See @ref{Logarithmic Units}.@*
+@xref{Logarithmic Units}.@*
The variables @code{calc-lu-power-reference} and
@code{calc-lu-field-reference} are unit expressions (written as
strings) which Calc will use as reference quantities for logarithmic
@end defvar
@defvar calc-note-threshold
-See @ref{Musical Notes}.@*
+@xref{Musical Notes}.@*
The variable @code{calc-note-threshold} is a number (written as a
string) which determines how close (in cents) a frequency needs to be
to a note to be recognized as that note.
@defvar calc-highlight-selections-with-faces
@defvarx calc-selected-face
@defvarx calc-nonselected-face
-See @ref{Displaying Selections}.@*
+@xref{Displaying Selections}.@*
The variable @code{calc-highlight-selections-with-faces}
determines how selected sub-formulas are distinguished.
If @code{calc-highlight-selections-with-faces} is @code{nil}, then
@end defvar
@defvar calc-gregorian-switch
-See @ref{Date Forms}.@*
+@xref{Date Forms}.@*
The variable @code{calc-gregorian-switch} is either a list of integers
@code{(@var{YEAR} @var{MONTH} @var{DAY})} or @code{nil}.
If it is @code{nil}, then Calc's date forms always represent Gregorian dates.
These functions are analogous to the Emacs built-in commands
@code{beginning-of-defun} and @code{end-of-defun}, except they
eliminate the constraint that the top-level opening brace of the defun
-must be in column zero. See @ref{Defuns,,,@emacsman{},
+must be in column zero. @xref{Defuns,,,@emacsman{},
@emacsmantitle{}}, for more information.
@item @kbd{C-M-a} (AWK Mode) (@code{c-awk-beginning-of-defun})
such as after a @samp{@}} when you're about to type a @samp{;}.
Hungry deletion can help here (@pxref{Hungry WS Deletion}), or you can
activate an appropriate @dfn{clean-up}, which will remove the excess
-whitespace after you've typed the @samp{;}. See @ref{Clean-ups} for a
+whitespace after you've typed the @samp{;}. @xref{Clean-ups} for a
full description. See also @ref{Electric Keys} for a summary of
clean-ups listed by key.
@end group
@end example
-See @ref{CC Hooks} for more details on the use of @ccmode{} hooks.
+@xref{CC Hooks} for more details on the use of @ccmode{} hooks.
@item Styles
A @ccmode{} @dfn{style} is a coherent collection of customizations
(other . "free-group-style")))
@end example
-See @ref{Styles} for fuller details on using @ccmode{} styles and how
+@xref{Styles} for fuller details on using @ccmode{} styles and how
to create them.
@item File Local Variable setting
an alist. This element specifies where to put newlines: this is any
combination of before and after the brace or colon. If no alist
element is found, newlines are inserted both before and after a brace,
-but none are inserted around a colon. See @ref{Hanging Braces} and
+but none are inserted around a colon. @xref{Hanging Braces} and
@ref{Hanging Colons}.
@item Semicolons and Commas
This section describes a special mail back end called @code{nndiary},
and its companion library @code{gnus-diary}. It is ``special'' in the
sense that it is not meant to be one of the standard alternatives for
-reading mail with Gnus. See @ref{Choosing a Mail Back End} for that.
+reading mail with Gnus. @xref{Choosing a Mail Back End} for that.
Instead, it is used to treat @emph{some} of your mails in a special way,
namely, as event reminders.
(htmlfontify-run-etags @var{srcdir})
@end lisp
-Load the etags cache for @var{srcdir}. See @ref{hfy-load-tags-cache}.
+Load the etags cache for @var{srcdir}. @xref{hfy-load-tags-cache}.
@item htmlfontify-copy-and-link-dir
@findex htmlfontify-copy-and-link-dir
@code{face-attr-construct} returns; i.e., the current specification in
effect for @var{face}.
-See @ref{hfy-display-class} for details of valid values for @var{class}.
+@xref{hfy-display-class} for details of valid values for @var{class}.
@item hfy-face-at
@findex hfy-face-at
i.e., an alist mapping (relative) file paths to line and character offsets.
-See @ref{hfy-load-tags-cache}.
+@xref{hfy-load-tags-cache}.
@item hfy-tags-rmap
@vindex hfy-tags-rmap
Instead of connecting to a remote host, @command{su} program allows
editing as another user. The host can be either @samp{localhost} or
-the host returned by the function @command{(system-name)}. See
-@ref{Multi-hops} for an exception to this behavior.
+the host returned by the function @command{(system-name)}.
+@xref{Multi-hops} for an exception to this behavior.
@cindex method @option{androidsu}
@cindex @option{androidsu} method
The @command{sg} program allows editing as different group. The host
can be either @samp{localhost} or the host returned by the function
@command{(system-name)}. The user name must be specified, but it
-denotes a group name. See @ref{Multi-hops} for an exception to this
+denotes a group name. @xref{Multi-hops} for an exception to this
behavior.
@cindex method @option{sshx}
Access via @option{rclone} is slow. If you have an alternative method
for accessing the system storage, you should use it.
-@ref{GVFS-based methods} for example, methods @option{gdrive} and
+@xref{GVFS-based methods} for example, methods @option{gdrive} and
@option{nextcloud}.
@cindex method @option{sshfs}
The temporary directory on the remote host. If not specified, the
default value is @t{"/data/local/tmp"} for the @option{adb} method,
@t{"/C$/Temp"} for the @option{smb} method, and @t{"/tmp"} otherwise.
-@ref{Temporary directory}.
+@xref{Temporary directory}.
@item @t{"posix"}
@end lisp
This works only for connection methods which allow overriding the
-remote login shell, like @option{sshx} or @option{plink}. See
-@ref{Inline methods} and @ref{External methods} for connection methods
+remote login shell, like @option{sshx} or @option{plink}.
+@xref{Inline methods} and @ref{External methods} for connection methods
which support this.
@vindex tramp-sh-extra-args
another value for @env{TERM}, change @code{tramp-terminal-type} and
this line accordingly.
-Alternatively, you can set the remote login shell explicitly. See
-@ref{Remote shell setup} for discussion of this technique,
+Alternatively, you can set the remote login shell explicitly.
+@xref{Remote shell setup} for discussion of this technique,
When using fish shell on remote hosts, disable fancy formatting by
adding the following to @file{~/.config/fish/config.fish}:
This user option may be overridden if @code{:mode-line-format} is passed
when creating a new prefix with @code{transient-define-prefix}.
-Otherwise this can be any mode-line format. See @ref{Mode Line Format,,,elisp,}, for details.
+Otherwise this can be any mode-line format. @xref{Mode Line Format,,,elisp,}, for details.
@end defopt
@defopt transient-semantic-coloring
history not only on a global level (``this command was invoked using
these arguments, and previously it was invoked using those other
arguments''), but also remembers the values of individual arguments
-independently. See @ref{Using History}.
+independently. @xref{Using History}.
After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
show the documentation for the infix or suffix command that @kbd{@var{KEY}} is
bound to (see @ref{Getting Help for Suffix Commands}), and infixes and
suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
and suffixes that are disabled by default can be enabled the same way.
-See @ref{Enabling and Disabling Suffixes}.
+@xref{Enabling and Disabling Suffixes}.
Transient ships with support for a few different types of specialized
infix commands. A command that sets a command line option, for example,
Finally, details can be specified using optional @var{KEYWORD}-@var{VALUE} pairs.
Each keyword has to be a keyword symbol, either @code{:class} or a keyword
-argument supported by the constructor of that class. See @ref{Suffix Slots}.
+argument supported by the constructor of that class. @xref{Suffix Slots}.
@node Defining Suffix and Infix Commands
@section Defining Suffix and Infix Commands
@item
The behavior for non-suffixes can be set for a particular prefix,
by the prefix's @code{transient-non-suffix} slot to a boolean, a suitable
-pre-command function, or a shorthand for such a function. See
-@ref{Pre-commands for Non-Suffixes}.
+pre-command function, or a shorthand for such a function.
+@xref{Pre-commands for Non-Suffixes}.
@item
The common behavior for the suffixes of a particular prefix can be
@code{transient-suffix}, @code{transient-non-suffix} and @code{transient-switch-frame}
play a part when determining whether the currently active transient
prefix command remains active/transient when a suffix or arbitrary
-non-suffix command is invoked. See @ref{Transient State}.
+non-suffix command is invoked. @xref{Transient State}.
@item
@code{refresh-suffixes} Normally suffix objects and keymaps are only setup
By default these predicates run when the prefix command is invoked,
but this can be changes, using the @code{refresh-suffixes} prefix slot.
-See @ref{Prefix Slots}.
+@xref{Prefix Slots}.
One more slot is shared between group and suffix classes, @code{level}. Like
the slots documented above, it is a predicate, but it is used for a