• Paul Eggert's avatar
    Several fixes for formatting bignums · db2fed3b
    Paul Eggert authored
    * src/bignum.c: Include stdlib.h, for abs.
    (bignum_bufsize, bignum_to_c_string): New functions.
    * src/bignum.c (bignum_to_string):
    * src/print.c (print_vectorlike): Use them.
    * src/editfns.c (styled_format): Instead of having a separate
    buffer for sprintf (which does not work for bignums), just append
    to the main buffer.  When formatting bignums, add support for the
    standard integer flags -, #, 0, + and space.  Fix some comments.
    Capitalize properly when formatting bignums with %X.  Use
    functions like c_isdigit rather than reinventing the wheel.
    Simplify computation of excess precision.
    * src/print.c: Do not include bignum.h; no longer needed.
    (print_vectorlike): Avoid recalculating string length.
    * test/src/editfns-tests.el (format-bignum):
    Test some of the above fixes.
editfns.c 178 KB