comparison tests/automated/lisp-tests.el @ 5243:808131ba4a57

Print symbols with ratio-like names and the associated ratios distinctly. src/ChangeLog addition: 2010-08-15 Aidan Kehoe <kehoea@parhasard.net> * print.c (print_symbol): Escape any symbols that look like ratios, in the same way we do symbols that look like floats or integers. Prevents confusion in the Lisp reader. * lread.c (isratio_string): Make this available even on builds without HAVE_RATIO, so we can print symbols that look like ratios with the appropriate escapes. * lisp.h: Make isratio_string available even if HAVE_RATIO is not defined. tests/ChangeLog addition: 2010-08-15 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test that symbols with names that look like ratios are printed distinctly from the equivalent ratios.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 15 Aug 2010 13:29:10 +0100
parents d579d76f3dcc
children 04811a268716
comparison
equal deleted inserted replaced
5242:f3eca926258e 5243:808131ba4a57
2372 (and (eql called 5) 2372 (and (eql called 5)
2373 (setcdr (nthcdr 3 sequence) nil)) 2373 (setcdr (nthcdr 3 sequence) nil))
2374 (garbage-collect)))))) 2374 (garbage-collect))))))
2375 "checking we can amputate lists without crashing #'reduce") 2375 "checking we can amputate lists without crashing #'reduce")
2376 2376
2377 (when (featurep 'ratio)
2378 (Assert (not (eql '1/2 (read (prin1-to-string (intern "1/2")))))
2379 "checking symbols with ratio-like names are printed distinctly")
2380 (Assert (not (eql '1/5 (read (prin1-to-string (intern "2/10")))))
2381 "checking symbol named \"2/10\" not eql to ratio 1/5 on read"))
2382
2377 ;;; end of lisp-tests.el 2383 ;;; end of lisp-tests.el