From d27497e33a7a90c593a4ece376151988547dc0ee Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 18 Apr 1997 19:12:24 +0000 Subject: [PATCH] (print): Symbols like e2 and 2e are not confusing. --- src/print.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/print.c b/src/print.c index 8a218e88105..933544467ca 100644 --- a/src/print.c +++ b/src/print.c @@ -1016,7 +1016,15 @@ print (obj, printcharfun, escapeflag) if (p != end && (*p == '-' || *p == '+')) p++; if (p == end) confusing = 0; - else + /* If symbol name begins with a digit, and ends with a digit, + and contains nothing but digits and `e', it could be treated + as a number. So set CONFUSING. + + Symbols that contain periods could also be taken as numbers, + but periods are always escaped, so we don't have to worry + about them here. */ + else if (*p >= '0' && *p <= '9' + && end[-1] >= '0' && end[-1] <= '9') { while (p != end && ((*p >= '0' && *p <= '9') /* Needed for \2e10. */ @@ -1024,6 +1032,8 @@ print (obj, printcharfun, escapeflag) p++; confusing = (end == p); } + else + confusing = 0; /* If we print an uninterned symbol as part of a complex object and the flag print-gensym is non-nil, prefix it with #n= to read the -- 2.39.5