]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix last change related to shorthands
authorEli Zaretskii <eliz@gnu.org>
Tue, 12 Oct 2021 13:20:47 +0000 (16:20 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 12 Oct 2021 13:20:47 +0000 (16:20 +0300)
* src/lread.c (read1): Minor stylistic fixes of the last change,
including the wording of the comment.

* doc/lispref/symbols.texi (Shorthands): Fix wording and typos.

doc/lispref/symbols.texi
src/lread.c

index ed7dce1c09146bdc9034ac5b1516be483b3e20e6..32590d4f99e13525c41a3c2f3de4da794a2f6037 100644 (file)
@@ -742,13 +742,12 @@ There are two exceptions to rules governing Shorthand transformations:
 
 @itemize @bullet
 @item
-Symbol forms comprised entirely of symbol constituents (@pxref{Syntax
-Class Table}) are exempt not transform.  For example, it's possible to
-use @code{-} or @code{/=} as shorthand prefixes, but that won't shadow
-the arithmetic @emph{functions} that have exactly that prefix as their
-full name.;
+Symbol forms comprised entirely of symbol and punctuation characters
+(@pxref{Syntax Class Table}) are not transformed.  For example,
+it's possible to use @code{-} or @code{/=} as shorthand prefixes, but
+that won't shadow the arithmetic @emph{functions} of those names.
 
 @item
-Symbol forms whose name starts with the the characters @code{#_} are
-also exempted.
+Symbol forms whose names start with @samp{#} or @samp{_} are not
+transformed.
 @end itemize
index 128b46aefefadb00e8a8cc95576a0bc601afc119..b3f9e6ff5275e016ac30a10e113965b406a121eb 100644 (file)
@@ -3805,12 +3805,13 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list)
              ptrdiff_t longhand_bytes = 0;
 
              Lisp_Object tem;
-             if (skip_shorthand ||
+             if (skip_shorthand
                  /* The following ASCII characters are used in the
-                    only "core" Emacs Lisp symbols that are
-                    exclusively comprised of 'symbol constituent'
-                    syntax. */
-                 strspn(read_buffer, "^*+-/<=>_|") >= nbytes)
+                    only "core" Emacs Lisp symbols that are comprised
+                    entirely of characters that have the 'symbol
+                    constituent' syntax.  We exempt them from
+                    transforming according to shorthands.  */
+                 || strspn (read_buffer, "^*+-/<=>_|") >= nbytes)
                tem = oblookup (obarray, read_buffer, nchars, nbytes);
              else
                tem = oblookup_considering_shorthand (obarray, read_buffer,