GNU bug report logs - #40744
guile-2.2.4 (integer-length 0) erroneously returns 0, not 1

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Bengt Richter <bokr@HIDDEN>; merged with #40855; dated Tue, 21 Apr 2020 13:05:01 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 40744 <at> debbugs.gnu.org:


Received: (at 40744) by debbugs.gnu.org; 28 Apr 2020 18:41:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 28 14:41:13 2020
Received: from localhost ([127.0.0.1]:41454 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jTVAP-0004sP-AE
	for submit <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:41:13 -0400
Received: from m4s11.vlinux.de ([83.151.27.109]:59026 helo=bjoernhoefling.de)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1jTVAO-0004sH-0I
 for 40744 <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:41:12 -0400
Received: from alma-ubu (p508ACA3F.dip0.t-ipconnect.de [80.138.202.63])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by bjoernhoefling.de (Postfix) with ESMTPSA id 5B9353F861;
 Tue, 28 Apr 2020 20:41:11 +0200 (CEST)
Date: Tue, 28 Apr 2020 20:41:10 +0200
From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= <bjoern.hoefling@HIDDEN>
To: Bengt Richter <bokr@HIDDEN>
Subject: Re: bug#40744: guile-2.2.4 (integer-length 0) erroneously returns
 0, not 1
Message-ID: <20200428204110.50e47ad0@alma-ubu>
In-Reply-To: <20200428200810.7d619d27@alma-ubu>
References: <20200421130344.GA9369@LionPure> <20200425213350.GA10462@LionPure>
 <20200428200810.7d619d27@alma-ubu>
X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 boundary="Sig_/xhGgDPQdWEnS3g8=Ue2bxHh"; protocol="application/pgp-signature"
X-Spam-Score: 0.4 (/)
X-Debbugs-Envelope-To: 40744
Cc: 40744 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--Sig_/xhGgDPQdWEnS3g8=Ue2bxHh
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Tue, 28 Apr 2020 20:08:10 +0200
Bj=C3=B6rn H=C3=B6fling <bjoern.hoefling@HIDDEN> wrote:


> Bugreport was re-opened under the guile package here:
>=20
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D40855
>=20
> Closing this one.

Oh, I didn't realize they were merged. So, I reopened them again :-)

Bj=C3=B6rn

--Sig_/xhGgDPQdWEnS3g8=Ue2bxHh
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXqh4xgAKCRC/KGy2WT5f
/VrSAKCFtLo+YPVEcSR0r56/E89MH63n/wCgr/leaDIv1YcTerSkP6mDQ/vtloA=
=P55J
-----END PGP SIGNATURE-----

--Sig_/xhGgDPQdWEnS3g8=Ue2bxHh--




Information forwarded to bug-guile@HIDDEN:
bug#40744; Package guile. Full text available.
Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.

Message received at 40744-done <at> debbugs.gnu.org:


Received: (at 40744-done) by debbugs.gnu.org; 28 Apr 2020 18:08:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 28 14:08:29 2020
Received: from localhost ([127.0.0.1]:41424 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jTUei-0003xZ-BD
	for submit <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:08:28 -0400
Received: from m4s11.vlinux.de ([83.151.27.109]:59022 helo=bjoernhoefling.de)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1jTUeS-0003wp-RP
 for 40744-done <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:08:25 -0400
Received: from alma-ubu (p508ACA3F.dip0.t-ipconnect.de [80.138.202.63])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by bjoernhoefling.de (Postfix) with ESMTPSA id 747483F861;
 Tue, 28 Apr 2020 20:08:11 +0200 (CEST)
Date: Tue, 28 Apr 2020 20:08:10 +0200
From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= <bjoern.hoefling@HIDDEN>
To: Bengt Richter <bokr@HIDDEN>
Subject: Re: bug#40744: guile-2.2.4 (integer-length 0) erroneously returns
 0, not 1
Message-ID: <20200428200810.7d619d27@alma-ubu>
In-Reply-To: <20200425213350.GA10462@LionPure>
References: <20200421130344.GA9369@LionPure> <20200425213350.GA10462@LionPure>
X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 boundary="Sig_/pREdLAkfJ7Itw51TtQNF_R0"; protocol="application/pgp-signature"
X-Spam-Score: 0.4 (/)
X-Debbugs-Envelope-To: 40744-done
Cc: 40744-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--Sig_/pREdLAkfJ7Itw51TtQNF_R0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, 25 Apr 2020 23:33:50 +0200
Bengt Richter <bokr@HIDDEN> wrote:

> Apologies for my faux pas ;-/
>=20
> This was not a guix bug, and you have rightly ignored my report.
> (now submitted to bug-guile, with hopes of nz human acks :)
>=20
> (I guess it will get a new number, so 40744 can be closed?)
>=20
> (BTW, no offense intended in addressing you as "guix/guile
> bug-squashers" ;-/)=20

There is a significant overlap between both groups and all like bugs to
be gone :-)

Bugreport was re-opened under the guile package here:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D40855

Closing this one.

Bj=C3=B6rn

--Sig_/pREdLAkfJ7Itw51TtQNF_R0
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXqhxCwAKCRC/KGy2WT5f
/eejAJ0b7o/ia86yPuDcHdI95FghWdg40QCbBQvBALiXFfDPffDipXLNemQjY04=
=0lfM
-----END PGP SIGNATURE-----

--Sig_/pREdLAkfJ7Itw51TtQNF_R0--




Notification sent to Bengt Richter <bokr@HIDDEN>:
bug acknowledged by developer. Full text available.
Reply sent to Björn Höfling <bjoern.hoefling@HIDDEN>:
You have taken responsibility. Full text available.

Message received at 40744-done <at> debbugs.gnu.org:


Received: (at 40744-done) by debbugs.gnu.org; 28 Apr 2020 18:08:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 28 14:08:29 2020
Received: from localhost ([127.0.0.1]:41424 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jTUei-0003xZ-BD
	for submit <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:08:28 -0400
Received: from m4s11.vlinux.de ([83.151.27.109]:59022 helo=bjoernhoefling.de)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1jTUeS-0003wp-RP
 for 40744-done <at> debbugs.gnu.org; Tue, 28 Apr 2020 14:08:25 -0400
Received: from alma-ubu (p508ACA3F.dip0.t-ipconnect.de [80.138.202.63])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by bjoernhoefling.de (Postfix) with ESMTPSA id 747483F861;
 Tue, 28 Apr 2020 20:08:11 +0200 (CEST)
Date: Tue, 28 Apr 2020 20:08:10 +0200
From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= <bjoern.hoefling@HIDDEN>
To: Bengt Richter <bokr@HIDDEN>
Subject: Re: bug#40744: guile-2.2.4 (integer-length 0) erroneously returns
 0, not 1
Message-ID: <20200428200810.7d619d27@alma-ubu>
In-Reply-To: <20200425213350.GA10462@LionPure>
References: <20200421130344.GA9369@LionPure> <20200425213350.GA10462@LionPure>
X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 boundary="Sig_/pREdLAkfJ7Itw51TtQNF_R0"; protocol="application/pgp-signature"
X-Spam-Score: 0.4 (/)
X-Debbugs-Envelope-To: 40744-done
Cc: 40744-done <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--Sig_/pREdLAkfJ7Itw51TtQNF_R0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, 25 Apr 2020 23:33:50 +0200
Bengt Richter <bokr@HIDDEN> wrote:

> Apologies for my faux pas ;-/
>=20
> This was not a guix bug, and you have rightly ignored my report.
> (now submitted to bug-guile, with hopes of nz human acks :)
>=20
> (I guess it will get a new number, so 40744 can be closed?)
>=20
> (BTW, no offense intended in addressing you as "guix/guile
> bug-squashers" ;-/)=20

There is a significant overlap between both groups and all like bugs to
be gone :-)

Bugreport was re-opened under the guile package here:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D40855

Closing this one.

Bj=C3=B6rn

--Sig_/pREdLAkfJ7Itw51TtQNF_R0
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXqhxCwAKCRC/KGy2WT5f
/eejAJ0b7o/ia86yPuDcHdI95FghWdg40QCbBQvBALiXFfDPffDipXLNemQjY04=
=0lfM
-----END PGP SIGNATURE-----

--Sig_/pREdLAkfJ7Itw51TtQNF_R0--




Notification sent to Bengt Richter <bokr@HIDDEN>:
bug acknowledged by developer. Full text available.
Reply sent to Björn Höfling <bjoern.hoefling@HIDDEN>:
You have taken responsibility. Full text available.
Merged 40744 40855. Request was from Leo Famulari <leo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
bug reassigned from package 'guix' to 'guile'. Request was from Leo Famulari <leo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 40744 <at> debbugs.gnu.org:


Received: (at 40744) by debbugs.gnu.org; 25 Apr 2020 21:34:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 25 17:34:05 2020
Received: from localhost ([127.0.0.1]:60516 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jSSR3-0007zq-1Q
	for submit <at> debbugs.gnu.org; Sat, 25 Apr 2020 17:34:05 -0400
Received: from imta-37.everyone.net ([216.200.145.37]:43396
 helo=imta-38.everyone.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bokr@HIDDEN>) id 1jSSR1-0007zh-Dc
 for 40744 <at> debbugs.gnu.org; Sat, 25 Apr 2020 17:34:03 -0400
Received: from pps.filterd (localhost.localdomain [127.0.0.1])
 by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 03PLTxLE007856
 for <40744 <at> debbugs.gnu.org>; Sat, 25 Apr 2020 14:34:02 -0700
X-Eon-Originating-Account: ACsXzf8YmkZXa07vJAvbk2qxij-IGbzGj9chJ3UfMT4
X-Eon-Dm: m0116787.ppops.net
Received: by m0116787.mta.everyone.net (EON-AUTHRELAY2 - 5a81c6e6) id
 m0116787.5e67f91f.58a24e
 for <40744 <at> debbugs.gnu.org>; Sat, 25 Apr 2020 14:34:00 -0700
X-Eon-Sig: AQMHrIJepKzIQZ2k+wIAAAAB,c49e61b7f61d6e045cd5a99d1839b584
X-Eip: gR80SeKLTRv3UtxEvsWmn9NulnVOMSBQ6_NP_J0R0gk
Date: Sat, 25 Apr 2020 23:33:50 +0200
From: Bengt Richter <bokr@HIDDEN>
To: 40744 <at> debbugs.gnu.org
Subject: Re: bug#40744: guile-2.2.4 (integer-length 0) erroneously returns 0, 
 not 1
Message-ID: <20200425213350.GA10462@LionPure>
References: <20200421130344.GA9369@LionPure>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20200421130344.GA9369@LionPure>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676
 definitions=2020-04-25_13:2020-04-24,
 2020-04-25 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 priorityscore=1501 malwarescore=0
 suspectscore=13 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034
 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=775 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000
 definitions=main-2004250188
X-Spam-Score: -0.5 (/)
X-Debbugs-Envelope-To: 40744
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Bengt Richter <bokr@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

Apologies for my faux pas ;-/

This was not a guix bug, and you have rightly ignored my report.
(now submitted to bug-guile, with hopes of nz human acks :)

(I guess it will get a new number, so 40744 can be closed?)

(BTW, no offense intended in addressing you as "guix/guile bug-squashers" ;-/)
On +2020-04-21 15:03:44 +0200, Bengt Richter wrote:
> Hello guix/guile bug-squashers,
> 
> The tl;dr is:
>     (integer-length 0) should agree with:
>     (string-length (number->string 0 2)) =-> 1
>         -- and not:   (integer-length 0) =-> 0
-- 
Regards,
Bengt Richter




Information forwarded to bug-guix@HIDDEN:
bug#40744; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 21 Apr 2020 13:04:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 21 09:04:12 2020
Received: from localhost ([127.0.0.1]:49147 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jQsZM-00015I-V9
	for submit <at> debbugs.gnu.org; Tue, 21 Apr 2020 09:04:12 -0400
Received: from lists.gnu.org ([209.51.188.17]:39940)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bokr@HIDDEN>) id 1jQsZK-000159-Sx
 for submit <at> debbugs.gnu.org; Tue, 21 Apr 2020 09:04:07 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:45208)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <bokr@HIDDEN>) id 1jQsZJ-0002OE-Vj
 for bug-guix@HIDDEN; Tue, 21 Apr 2020 09:04:06 -0400
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,
 HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,
 RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=unavailable autolearn_force=no
 version=3.4.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1)
 (envelope-from <bokr@HIDDEN>) id 1jQsZI-0003R9-C7
 for bug-guix@HIDDEN; Tue, 21 Apr 2020 09:04:05 -0400
Received: from imta-36.everyone.net ([216.200.145.36]:53194
 helo=imta-38.everyone.net)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bokr@HIDDEN>) id 1jQsZG-0003OU-BR
 for bug-guix@HIDDEN; Tue, 21 Apr 2020 09:04:03 -0400
Received: from pps.filterd (omta002.sj2.proofpoint.com [127.0.0.1])
 by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 03LD1iSZ014245
 for <bug-guix@HIDDEN>; Tue, 21 Apr 2020 06:03:57 -0700
X-Eon-Originating-Account: i-h_PaSXDAFkwuy2p0jCcvm-XTwSApTPRg-Usrpt6ic
X-Eon-Dm: m0116293.ppops.net
Received: by m0116293.mta.everyone.net (EON-AUTHRELAY2 - 53b92cab) id
 m0116293.5e67f91c.3a7648
 for <bug-guix@HIDDEN>; Tue, 21 Apr 2020 06:03:55 -0700
X-Eon-Sig: AQMHrIJenu874HkkZgIAAAAB,9254880fbaed8d152fcefda3999ec14d
X-Eip: J0zbnjcn_FlGWfQZbncy5_Ug_RcAsNVrjTMlIdScGtI
Date: Tue, 21 Apr 2020 15:03:44 +0200
From: Bengt Richter <bokr@HIDDEN>
To: New-Bug <bug-guix@HIDDEN>
Subject: guile-2.2.4 (integer-length 0) erroneously returns 0, not 1
Message-ID: <20200421130344.GA9369@LionPure>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676
 definitions=2020-04-21_05:2020-04-20,
 2020-04-21 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 priorityscore=1501 malwarescore=0
 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034
 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000
 definitions=main-2004210104
Received-SPF: pass client-ip=216.200.145.36; envelope-from=bokr@HIDDEN;
 helo=imta-38.everyone.net
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/21 09:03:58
X-ACL-Warn: Detected OS   = Linux 3.x [generic]
X-Received-From: 216.200.145.36
X-Spam-Score: 0.5 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Bengt Richter <bokr@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

Hello guix/guile bug-squashers,

The tl;dr is:
    (integer-length 0) should agree with:
    (string-length (number->string 0 2)) =-> 1
        -- and not:   (integer-length 0) =-> 0

The integer length in bits (short for binary digits :)
is the number digits required to write the integer value
in conventional big-endian digit order, signifying coefficients
of successive powers of the radix used.

This applies irrespective of the radix. Thus "11" in decimal is
  "1*10^1 + 1*10^0"
or hex is
  "11*16^0"
or binary is
  "1*2^1 + 1*2^0"

So, the crux of the argument is that it takes one digit to write
either 1 or 0:
--8<---------------cut here---------------start------------->8---
Inputs: 1 (radix 10, decimal value unsigned 1) (output radix 2)
  Number as radix-2 glyph{0..1} string (unsigned)
  "1"
  Number as glyphs representing coefficient values of radix polynomial for number value:
  ("1")
  (1) -- corresponding coefficient values
  Number as polynomial expression:
  "1*2^0"
  (1) -- corresponding term values
  1 -- sum of term values
  The following should be equal to guile's (integer-length 1):
  1 integer-digit (radix 2)
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
Inputs: 0 (radix 10, decimal value unsigned 0) (output radix 2)
  Number as radix-2 glyph{0..1} string (unsigned)
  "0"
  Number as glyphs representing coefficient values of radix polynomial for number value:
  ("0")
  (0) -- corresponding coefficient values
  Number as polynomial expression:
  "0*2^0"
  (0) -- corresponding term values
  0 -- sum of term values
  The following should be equal to guile's (integer-length 0):
  1 integer-digit (radix 2)
--8<---------------cut here---------------end--------------->8---

BTW, this works for signed numbers as well, if you use a complement
representation making the sign digit 0 for positive and radix-1 for
negative (thus 0 and 1 for radix 2, and e.g. 0 and f for radix 16).

Decimal is just another radix:

Inputs: -11 (radix 10, decimal value minus 11) (output radix 10)
  Number as radix-10 glyph{0..9} string (radix-complement -sign prefix)
  "989" (complement notation)
   ^--(note that 0 and "9" (radix10 -1) are sign digits for 0 and -1 coefficient values in the polynomial)
  Number as glyphs representing coefficient values of radix polynomial for number value:
  ("-1" "8" "9")
  (-1 8 9) -- corresponding coefficient values
  Number as polynomial expression:
  "-1*10^2 + 8*10^1 + 9*10^0"
  (-100 80 9) -- corresponding term values
  -11 -- sum of term values
  Tip: for guile integer-length, enter unsigned value with output radix 2
  3 integer-digits (radix 10)

The extreme for this version is radix 36:

Inputs: -11 (radix 36, decimal value minus 37) (output radix 36)
  Number as radix-36 glyph{0..z} string (radix-complement -sign prefix)
  "zyz" (complement notation)
   ^--(note that 0 and "z" (radix36 -1) are sign digits for 0 and -1 coefficient values in the polynomial)
  Number as glyphs representing coefficient values of radix polynomial for number value:
  ("-1" "y" "z")
  (-1 34 35) -- corresponding coefficient values
  Number as polynomial expression:
  "-1*36^2 + 34*36^1 + 35*36^0"
  (-1296 1224 35) -- corresponding term values
  -37 -- sum of term values
  Tip: for guile integer-length, enter unsigned value with output radix 2
  3 integer-digits (radix 36)

I got a little carried away exploring the complement notation, and wrote
a thing to explain the meanings. Please copy snip to int2poly and chmod 755 it.
Then run once without args for usage help.

I hope it will convince you that guile (integer-length 0) should be 1 ;-)

--8<---------------cut here---------------start------------->8---
#!/usr/bin/env -S guile -e main -s
!#
;; run without arguments for usage, or read below
;; int2poly-0.1.0 -- 2020-04-21 

(use-modules (ice-9 format)
	     (ice-9 regex))

(define self (basename (car (command-line))))
(define verbose #f)

(define (usage)
  (begin
    (let*((selfxxx (basename (car (command-line)))))
      (begin
	(format (current-error-port)
		"Usage:
        ~a  [-v ] | NUMSTR  [out-radix] [inp-radix]
        where *-radix are entered in decimal, and
        out-radix defaults to 2 and inp-radix defaults to 10,
        but may set independently to 2..36 to demo generality.

        -v for verbose output explanations

        NUMSTR will be written in radix digits representing
        polynomial coefficients, which is presented in series terms
        and evaluated back to the original number.

        The NUMSTR character set is the same as for (number->string radix)
        but could be any chosen set of distinct glyphs for values {0..<radix -1>}.

        guile integer-length can be considered a special case of
        coefficient count for radix 2, which is  printed in the last
        line of output as \"N integer-digits (radix N)\n"
		self ))
      (if (= (integer-length 0) 0)
	  (begin
	  (format #t "\nGuile[1] bug:
    (integer-length 0) should agree with:
    (string-length (number->string 0 2)) =-> ~s
        -- and not:   (integer-length 0) =-> ~s
    And it should agree with integer-digits for ~a 1 and ~a 0
    Try ~a 0, and note that it is 1 for any radix 2-36
    and numstr is 10 for ~a radix radix also for any radix ;-)\n\n"
		  (string-length (number->string 0 2))
		  (integer-length 0)
		  self self self self)
	  (display "[1] ----\n")
	  (system "guile -v")
	  (display "----\n ")
	  )))))

(define (main argl)
  (begin
    (set! argl (cdr argl))
    (if (not (pair? argl)) (begin (usage) (exit)))
    (if (string=? "-v" (car argl)) (begin (set! verbose #t) (set! argl (cdr argl))))
    (if (not (pair? argl)) (begin (usage) (exit)))
    (let*((matstr (string-match "[0-9a-z]+" (string-join argl " "))) ;; for <prefix><substring><suffix>
	  (sgnstr (match:prefix matstr))    ;; [<sign>]
	  (absstr (match:substring matstr)) ;;         <inpnum> [<out-radix>] [<in-radix>] 

	  (matst2 (string-match "[0-9]+" (match:suffix matstr))) ;; demo radix (spec in decimal)  [<out-radix>] [<inp-radix>]
          (radix (if matst2 (string->number (match:substring matst2)) 2)) ;; default demo radix is 2

	  (matst3 (if matst2 (string-match "[0-9]+" (match:suffix matst2)) #f)) ;;                                [<inp-radix>]
	  (iradix (if matst3 (string->number (match:substring matst3)) 10)) ;; default input radix 10

	  (absnum (string->number absstr iradix)) ;; abs math value of input
	  (abswid (string-length (number->string absnum radix)))
	  (radixp (integer-expt radix (+ 1 abswid))) ;; 2nd bit above msb of absnum
	  (usenum (if (string=? "-" sgnstr) (- radixp absnum) (+ radixp absnum))) ;; 10abs or 10000-abs
	                                                                          ;;          _1xyx
	                                                                          ;;      or  10000 if abs=0
	  (numstr1 (number->string usenum radix))
	  (numoff (if (string=? "" sgnstr)
		      2
		      (- (string-length numstr1) (+ 1 abswid))))

	  (numstr (substring numstr1 numoff))
	  (coeffs (map match:substring  (list-matches "(.)" numstr)))
	  (coeffs (if (string=? "" sgnstr)
		      coeffs
		      (begin
			(if (char=? (string-ref numstr 0)
				    (string-ref (number->string (- radix 1) radix) 0))
			    (cons "-1" (cdr coeffs))
			    coeffs))))
	  (coeffv (map (lambda (s) (string->number s radix)) coeffs))
	  (ncoeff (length coeffs))
	  (terms (string-join (reverse (map (lambda (coeff power)
				 (begin (format #f "~d*~d^~d" coeff radix power))) (reverse coeffv) (iota ncoeff))) " + "))
	  (termv (reverse (map (lambda (coeff power)
				 (begin (* coeff (integer-expt radix power)))) (reverse coeffv) (iota ncoeff))))
	  (polyv (apply + termv))

	  (signword (begin (cond
			    ((string=? "" sgnstr) "unsigned")
			    ((string=? "+" sgnstr) "plus")
			    ((string=? "-" sgnstr) "minus")
			    (else (throw 'int2poly "bad sign:" sgnstr)))))
	  (sgnnote (begin (cond
			    ((string=? "" sgnstr) "(unsigned)")
			    ((string=? "+" sgnstr) "(radix-complement +sign prefix)")
			    ((string=? "-" sgnstr) "(radix-complement -sign prefix)")
			    (else (throw 'int2poly "bad sign:" sgnstr)))))
	  )
      (begin
	(format #t "Inputs: ~a~a (radix ~s, decimal value ~a ~s) (output radix ~s)\n" sgnstr absstr iradix signword absnum radix)
        (if verbose (format #t "  Number as radix-~s glyph{~a..~a} string ~a\n"
	 		    radix  (number->string 0 radix) (number->string (- radix 1) radix)  sgnnote))
	(format #t "  ~s~a\n" numstr (if (string=? "" sgnstr) "" " (complement notation)"))
	(if (and verbose (not (string=? sgnstr "")))
	    (format #t "   ^--(note that 0 and ~s (radix~a -1) are sign digits for 0 and -1 coefficient values in the polynomial)\n"
							     (number->string (- radix 1) radix) radix))
	(format #t "~a  ~s\n" (if verbose "  Number as glyphs representing coefficient values of radix polynomial for number value:\n" "") coeffs)
	(format #t "  ~s~a\n" coeffv (if verbose  " -- corresponding coefficient values" ""))
	(format #t "~a  ~s\n" (if verbose "  Number as polynomial expression:\n" "") terms)
	(format #t "  ~s~a\n" termv (if verbose " -- corresponding term values" ""))
	(format #t "  ~s~a\n" polyv (if verbose " -- sum of term values" ""))
	(if verbose
	    (if (and (= radix 2) (string=? sgnstr ""))
		(format #t "  The following should be equal to guile's (integer-length ~s):\n" absnum)
		(format #t "  Tip: for guile integer-length, enter unsigned value with output radix 2\n")))
	(format #t "  ~s integer-digit~a (radix ~a)\n" ncoeff (if (> ncoeff 1) "s" "") radix))
      )))
--8<---------------cut here---------------end--------------->8---

-- 
Regards,
Bengt Richter




Acknowledgement sent to Bengt Richter <bokr@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#40744; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 28 Apr 2020 18:45:02 UTC

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