]> git.eshelyaron.com Git - emacs.git/commitdiff
Treat incomplete integer literals as errors
authorPhilipp Stephani <phst@google.com>
Sat, 10 Dec 2016 14:36:11 +0000 (15:36 +0100)
committerPhilipp Stephani <phst@google.com>
Fri, 23 Dec 2016 12:21:34 +0000 (13:21 +0100)
See Bug#25120.

* src/lread.c (read_integer): Treat incomplete integer literals as errors.
* test/src/lread-tests.el (lread-empty-int-literal): New unit test for
incomplete integer literals.

src/lread.c
test/src/lread-tests.el

index fdbf0329118b77d1e43e7fcb595c9ca80db8bff3..35348f1ddb8f8952cf86a29fe0a19c233f0a1302 100644 (file)
@@ -2536,7 +2536,7 @@ read_integer (Lisp_Object readcharfun, EMACS_INT radix)
       *p = '\0';
     }
 
-  if (! valid)
+  if (valid != 1)
     {
       sprintf (buf, "integer, radix %"pI"d", radix);
       invalid_syntax (buf);
index 1a82d133a44667c7e8c22b6f73fdd6a2f735bad1..609f82ec20bddc56d2a50144cbe78c1aeb152bdc 100644 (file)
 (ert-deftest lread-string-char-name ()
   (should (equal (read "\"a\\N{SYLOTI NAGRI  LETTER DHO}b\"") "a\uA817b")))
 
+(ert-deftest lread-empty-int-literal ()
+  "Check that Bug#25120 is fixed."
+  (should-error (read "#b") :type 'invalid-read-syntax)
+  (should-error (read "#o") :type 'invalid-read-syntax)
+  (should-error (read "#x") :type 'invalid-read-syntax)
+  (should-error (read "#24r") :type 'invalid-read-syntax)
+  (should-error (read "#") :type 'invalid-read-syntax))
+
 ;;; lread-tests.el ends here