Clean up some markup cruft.  A number of the macros that take no
parameters (like \UNIX) are commonly entered using an empty group to
separate the markup from a following inter-word space; this is not
needed when the next character is punctuation, or the markup is the
last thing in the enclosing group.  These cases were marked
inconsistently; the empty group is now *only* used when needed.
diff --git a/Doc/ref/ref2.tex b/Doc/ref/ref2.tex
index 8b96055..7faaf01 100644
--- a/Doc/ref/ref2.tex
+++ b/Doc/ref/ref2.tex
@@ -14,7 +14,7 @@
 hexadecimal escape sequences.
 
 The run-time character set depends on the I/O devices connected to the
-program but is generally a superset of \ASCII{}.
+program but is generally a superset of \ASCII.
 
 \strong{Future compatibility note:} It may be tempting to assume that the
 character set for 8-bit characters is ISO Latin-1 (an \ASCII{}
@@ -52,7 +52,7 @@
 \subsection{Physical lines\label{physical}}
 
 A physical line ends in whatever the current platform's convention is
-for terminating lines.  On \UNIX{}, this is the \ASCII{} LF (linefeed)
+for terminating lines.  On \UNIX, this is the \ASCII{} LF (linefeed)
 character.  On DOS/Windows, it is the \ASCII{} sequence CR LF (return
 followed by linefeed).  On Macintosh, it is the \ASCII{} CR (return)
 character.
@@ -142,7 +142,7 @@
 First, tabs are replaced (from left to right) by one to eight spaces
 such that the total number of characters up to and including the
 replacement is a multiple of
-eight (this is intended to be the same rule as used by \UNIX{}).  The
+eight (this is intended to be the same rule as used by \UNIX).  The
 total number of spaces preceding the first non-blank character then
 determines the line's indentation.  Indentation cannot be split over
 multiple physical lines using backslashes; the whitespace up to the
@@ -308,7 +308,7 @@
 String literals are described by the following lexical definitions:
 \index{string literal}
 
-\index{ASCII@\ASCII{}}
+\index{ASCII@\ASCII}
 \begin{productionlist}
   \production{stringliteral}
              {[\token{stringprefix}](\token{shortstring} | \token{longstring})}
@@ -388,7 +388,7 @@
 \lineii{\e\var{ooo}} {\ASCII{} character with octal value \var{ooo}}
 \lineii{\e x\var{hh}} {\ASCII{} character with hex value \var{hh}}
 \end{tableii}
-\index{ASCII@\ASCII{}}
+\index{ASCII@\ASCII}
 
 As in Standard C, up to three octal digits are accepted.  However,
 exactly two hex digits are taken in hex escapes.
@@ -596,7 +596,7 @@
 The second half of the list, the augmented assignment operators, serve
 lexically as delimiters, but also perform an operation.
 
-The following printing ASCII characters have special meaning as part
+The following printing \ASCII{} characters have special meaning as part
 of other tokens or are otherwise significant to the lexical analyzer:
 
 \begin{verbatim}
@@ -606,7 +606,7 @@
 The following printing \ASCII{} characters are not used in Python.  Their
 occurrence outside string literals and comments is an unconditional
 error:
-\index{ASCII@\ASCII{}}
+\index{ASCII@\ASCII}
 
 \begin{verbatim}
 @       $       ?