GNU bug report logs - #32252
[PATCH] %o and %x now format signed numbers

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Mon, 23 Jul 2018 19:14:02 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Eli Zaretskii <eliz <at> gnu.org>, Helmut Eller <eller.helmut <at> gmail.com>
Cc: 32252 <at> debbugs.gnu.org
Subject: bug#32252: [PATCH] %o and %x now format signed numbers
Date: Tue, 24 Jul 2018 17:54:57 -0700
Eli Zaretskii wrote:

> Do we really need to have identical or consistent behavior for fixnums
> and bignums?  They are different beasts, so the behavior could be
> different, provided that it makes sense for each of the varieties.

I don't know what inconsistent behavior would make sense here. There's a 
longstanding tradition in Lisp that integer arithmetic just works, and I don't 
see why Emacs would want to fight against that tradition here. Although there 
may be some low-level functions that distinguish between fixnums and bignums for 
efficiency reasons, the vast majority of Lisp functions should not distinguish 
them, and 'format' should be one of those functions.
> Maybe we should merge the branch first, let the dust settle and let
> people use the new functionality, then revisit this stuff with more
> experience on our hands.

This particular patch is not primarily about bignums. It's more about (read 
(printf "#x%x" N)) returning N, which is basic functionality that should work 
even if we never add bignums. The fact that the patch also will make bignums 
easier is just icing on the cake.

Although I understand the concern about the patch, the concern doesn't seem to 
be warranted, and any compatibility issues can easily be addressed by setting 
binary-as-signed.




This bug report was last modified 2 years and 322 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.