changeset 762:852a2f5838da

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Mon, 13 Jul 1992 18:39:10 +0000
parents 4dffad9d353d
children f2efaa0394de
files lisp/simple.el src/lread.c
diffstat 2 files changed, 25 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Mon Jul 13 18:33:54 1992 +0000
+++ b/lisp/simple.el	Mon Jul 13 18:39:10 1992 +0000
@@ -829,7 +829,7 @@
 	     (eq last-command 'kill-region)
 	     (eq beg end)))
     ;; Don't let the undo list be truncated before we can even access it.
-    (let ((undo-high-threshold (+ (- (max beg end) (min beg end)) 100)))
+    (let ((undo-strong-limit (+ (- (max beg end) (min beg end)) 100)))
       (delete-region beg end)
       ;; Take the same string recorded for undo
       ;; and put it in the kill-ring.
--- a/src/lread.c	Mon Jul 13 18:33:54 1992 +0000
+++ b/src/lread.c	Mon Jul 13 18:39:10 1992 +0000
@@ -821,7 +821,6 @@
 
     case ')':
     case ']':
-    case '.':
       {
 	register Lisp_Object val;
 	XSET (val, Lisp_Internal, c);
@@ -906,6 +905,27 @@
 	  return make_string (read_buffer, p - read_buffer);
       }
 
+    case '.':
+      {
+#ifdef LISP_FLOAT_TYPE
+	/* If a period is followed by a number, then we should read it
+	   as a floating point number.  Otherwise, it denotes a dotted
+	   pair.  */
+	int next_char = READCHAR;
+	UNREAD (next_char);
+
+	if (! isdigit (next_char))
+#endif
+	  {
+	    register Lisp_Object val;
+	    XSET (val, Lisp_Internal, c);
+	    return val;
+	  }
+
+	/* Otherwise, we fall through!  Note that the atom-reading loop
+	   below will now loop at least once, assuring that we will not
+	   try to UNREAD two characters in a row.  */
+      }
     default:
       if (c <= 040) goto retry;
       {
@@ -917,7 +937,9 @@
 	  while (c > 040 && 
 		 !(c == '\"' || c == '\'' || c == ';' || c == '?'
 		   || c == '(' || c == ')'
-#ifndef LISP_FLOAT_TYPE		/* we need to see <number><dot><number> */
+#ifndef LISP_FLOAT_TYPE
+		   /* If we have floating-point support, then we need
+		      to allow <digits><dot><digits>.  */
 		   || c =='.'
 #endif /* not LISP_FLOAT_TYPE */
 		   || c == '[' || c == ']' || c == '#'