summaryrefslogtreecommitdiff
path: root/src/lread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lread.c b/src/lread.c
index 128b46aefef..b3f9e6ff527 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -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,