comparison src/lisp.h @ 5904:ee27ca517e90

Revise print_symbol(), never calling is{float,ratio}_string(). src/ChangeLog addition: 2015-05-08 Aidan Kehoe <kehoea@parhasard.net> * print.c (print_symbol): Revise this. No longer call isfloat_string() and isratio_string() on practically every symbol seen; check explicitly for the known float format in this function, which turns out to be a more limited and cheap job than you would think. Also check for integer and ratio syntax in passing. Use Vdigit_fixnum_map when working out whether a given character is a digit. * lisp.h: Make Vdigit_fixnum_map available generally. tests/ChangeLog addition: 2015-05-08 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: Check read and print handling of symbols that look like numbers. In passing, check the read and print handling of the associated numbers.
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 08 May 2015 14:33:46 +0100
parents 23178aa71f8b
children
comparison
equal deleted inserted replaced
5903:5afddd952c46 5904:ee27ca517e90
4603 4603
4604 Lisp_Object parse_integer (const Ibyte *buf, Ibyte **buf_end_out, 4604 Lisp_Object parse_integer (const Ibyte *buf, Ibyte **buf_end_out,
4605 Bytecount len, EMACS_INT base, 4605 Bytecount len, EMACS_INT base,
4606 Boolint junk_allowed, Lisp_Object base_table); 4606 Boolint junk_allowed, Lisp_Object base_table);
4607 4607
4608 extern Lisp_Object Vdigit_fixnum_map;
4609
4608 extern Lisp_Object Qarrayp, Qbitp, Qchar_or_string_p, Qcharacterp, 4610 extern Lisp_Object Qarrayp, Qbitp, Qchar_or_string_p, Qcharacterp,
4609 Qerror_conditions, Qerror_message, Qinteger_char_or_marker_p, 4611 Qerror_conditions, Qerror_message, Qinteger_char_or_marker_p,
4610 Qinteger_or_char_p, Qinteger_or_marker_p, Qlambda, Qlistp, Qnatnump, 4612 Qinteger_or_char_p, Qinteger_or_marker_p, Qlambda, Qlistp, Qnatnump,
4611 Qnonnegativep, Qnumber_char_or_marker_p, Qnumberp, Qquote, Qtrue_list_p; 4613 Qnonnegativep, Qnumber_char_or_marker_p, Qnumberp, Qquote, Qtrue_list_p;
4612 extern MODULE_API Lisp_Object Qintegerp; 4614 extern MODULE_API Lisp_Object Qintegerp;