GNU bug report logs - #6891
`string-to-number' doesn't recognize `#'' read syntax

Previous Next

Package: emacs;

Reported by: MON KEY <monkey <at> sandpframing.com>

Date: Sat, 21 Aug 2010 00:01:01 UTC

Severity: wishlist

Tags: wontfix

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#6891: closed (`string-to-number' doesn't recognize `#'' read
 syntax)
Date: Wed, 26 Jun 2019 15:17:04 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 26 Jun 2019 18:15:27 +0300
with message-id <83zhm4js34.fsf <at> gnu.org>
and subject line Re: bug#6891: `string-to-number' doesn't recognize `#'' read syntax
has caused the debbugs.gnu.org bug report #6891,
regarding `string-to-number' doesn't recognize `#'' read syntax
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
6891: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6891
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: MON KEY <monkey <at> sandpframing.com>
To: bug-gnu-emacs <at> gnu.org
Subject: `string-to-number' doesn't recognize `#'' read syntax
Date: Fri, 20 Aug 2010 20:01:06 -0400
`string-to-number' takes an optional arg BASE but doesn't recognize lisp `#'
read syntax for binary, octal, hex, and radix, e.g.  `#o', `#b', `#x', and
`#<RADIX>r'. It should, these _are_ the respective read syntax for BASE.
For good measure it should also recognize the string output from
`format's `#' flag for octal and hex e.g `0x' for hex and `0' for octal.

The proposed behaviour should not pose a lisp dialect compatiblility problem as
Emacs lisp does not attempt to follow the Common Lisp spec, does not maintain a
duplicate for CL's `parse-integer' procedure and does not take a bounding START
END arg, but _does_ parse floats so it shouldn't be restricted by that specs
constraints w/re the `#' radix read syntax e.g:

,----
| `parse-integer' does not recognize the syntactic radix-specifier
| prefixes `#O', `#B', `#X', and `#nR', nor does it recognize a trailing
| decimal point.
`----

Besides, `string-to-number' already has a BASE argument, the C code already
strips whitespace, discards "junk", and exhibits a willingness to interpolate
sign in sometimes odd ways, so a little more DWIM can't hurt.

Current `string-to-number' DWIMness:
string-to-number "   -3777777777" 8) ;=> 536870911
(string-to-number "   -3777777777.007" 8) ;=> 536870911
(string-to-number "   -3777777777mmm#" 8) ;=> 536870911
(string-to-number "+   -3777777777mmm#" 8) ;=> 0

Following illustrates the additioanl DWIMing desired:

#o
(string-to-number "#o3777777777" 8) ;=> 536870911

#b
(string-to-number "#b11111111111111111111111111111" 2) ;=> 536870911

#x
(string-to-number "#x1fffffff" 16) ;=> 536870911

#<RDX>r
(string-to-number "#12r12B969227" 12) ;=> 536870911

0x
(string-to-number "0x1fffffff" 16) ;=> 536870911

0
(string-to-number "03777777777" 8) ;=> 536870911


--
/s_P\


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: stefan <at> marxist.se, 6891-done <at> debbugs.gnu.org
Subject: Re: bug#6891: `string-to-number' doesn't recognize `#'' read syntax
Date: Wed, 26 Jun 2019 18:15:27 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Wed, 26 Jun 2019 13:44:41 +0200
> Cc: 6891 <at> debbugs.gnu.org
> 
> Stefan Kangas <stefan <at> marxist.se> writes:
> 
> > This bug was tagged as wontfix three years ago.
> >
> > Is it desirable to close it too?
> 
> I think so.

Agreed and done.

Thanks.


This bug report was last modified 6 years and 21 days ago.

Previous Next


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