changeset 17509:0c38918fbf13

(print): Symbols like e2 and 2e are not confusing.
author Richard M. Stallman <rms@gnu.org>
date Fri, 18 Apr 1997 19:12:24 +0000
parents 1c2392208ad9
children 2da99276d613
files src/print.c
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/print.c	Fri Apr 18 12:25:09 1997 +0000
+++ b/src/print.c	Fri Apr 18 19:12:24 1997 +0000
@@ -1016,7 +1016,15 @@
 	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 @@
 	      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