Avoid double spaces around abbrevations in Texinfo

* 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
This commit is contained in:
Stefan Kangas 2025-01-24 17:32:17 +01:00
parent bc1ab8ac3d
commit fb282da2a0
33 changed files with 66 additions and 65 deletions

View file

@ -2044,7 +2044,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

@ -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

@ -2996,7 +2996,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

@ -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.
@ -1378,7 +1378,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

@ -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

@ -2608,7 +2608,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

@ -3159,7 +3159,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

@ -1695,7 +1695,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:
@ -4970,7 +4970,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
@ -6136,7 +6136,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

@ -6047,7 +6047,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
@ -6081,7 +6081,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
@ -6089,7 +6089,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
@ -6123,7 +6123,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
@ -6131,7 +6131,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
@ -6445,7 +6445,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:
@ -7018,7 +7018,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
@ -7210,7 +7210,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)
@ -3687,9 +3687,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

@ -1593,7 +1593,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
@ -2536,8 +2536,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

@ -18611,7 +18611,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.
@ -23348,7 +23348,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.
@ -24858,7 +24858,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
@ -26979,7 +26979,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