GNU bug report logs - #10621
Incorrect usage of hash procedures in (ice-9 mapping)

Previous Next

Package: guile;

Reported by: Mark H Weaver <mhw <at> netris.org>

Date: Fri, 27 Jan 2012 08:28:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10621 in the body.
You can then email your comments to 10621 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#10621; Package guile. (Fri, 27 Jan 2012 08:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mark H Weaver <mhw <at> netris.org>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Fri, 27 Jan 2012 08:28:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: bug-guile <at> gnu.org
Subject: Incorrect usage of hash procedures in (ice-9 mapping)
Date: Fri, 27 Jan 2012 03:25:15 -0500
These are genuine errors:

ice-9/mapping.scm:97:48: warning: possibly wrong number of arguments to `hashx-get-handle'
ice-9/mapping.scm:94:48: warning: possibly unbound variable `hashx-create-handle'

     Mark




Information forwarded to bug-guile <at> gnu.org:
bug#10621; Package guile. (Wed, 28 Nov 2012 15:59:02 GMT) Full text and rfc822 format available.

Message #8 received at 10621 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Hartwig <mandyke <at> gmail.com>
To: 10621 <at> debbugs.gnu.org
Cc: Mark H Weaver <mhw <at> netris.org>
Subject: Re: Bug#10621: Incorrect usage of hash procedures in (ice-9 mapping)
Date: Wed, 28 Nov 2012 23:56:43 +0800
Mark H Weaver <mhw <at> netris.org> wrote:
> ice-9/mapping.scm:97:48: warning: possibly wrong number of arguments to `hashx-get-handle'
> ice-9/mapping.scm:94:48: warning: possibly unbound variable `hashx-create-handle'

This module is quite ancient, and, in addition to these warnings, has
not worked for some time.  Some logic errors in hash-table-mapping
(detecting len) and mapping-ref (detecting dflt), for example.  Since
noone has reported the brokenness I guess that means the module has no
users.

There is no practical way to accomodate a separate delete-proc, as
hashx-remove! uses assoc.  The use of delq! and others to convey the
intended delete semantics is incorrect, since mapping-remove! actually
presents and expects a different interface, that of hashq-remove!.

There is no documentation.

It seems the main purpose of this module is to associate hash and assoc
procedures with a hash table, and so provide a single set of accessors
(rather than one for each of hashq, hashv, etc.).  This is more-or-less
handled by both srfi-69 and rnrs hashtables.

A short module, it is not hard to fix, though given all of the above it
makes sense to simply remove it.




Information forwarded to bug-guile <at> gnu.org:
bug#10621; Package guile. (Wed, 28 Nov 2012 16:35:02 GMT) Full text and rfc822 format available.

Message #11 received at 10621 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Hartwig <mandyke <at> gmail.com>
To: 10621 <at> debbugs.gnu.org
Subject: Re: bug#10621: Incorrect usage of hash procedures in (ice-9 mapping)
Date: Thu, 29 Nov 2012 00:32:09 +0800
[Message part 1 (text/plain, inline)]
On 28 November 2012 23:56, Daniel Hartwig <mandyke <at> gmail.com> wrote:
> A short module, it is not hard to fix

I was after a ten minute distraction, so tackled this.  See attached.
[0001-fix-and-update-ice-9-mapping.patch (application/octet-stream, attachment)]

Reply sent to Andy Wingo <wingo <at> pobox.com>:
You have taken responsibility. (Sun, 24 Feb 2013 14:13:02 GMT) Full text and rfc822 format available.

Notification sent to Mark H Weaver <mhw <at> netris.org>:
bug acknowledged by developer. (Sun, 24 Feb 2013 14:13:02 GMT) Full text and rfc822 format available.

Message #16 received at 10621-done <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Daniel Hartwig <mandyke <at> gmail.com>
Cc: 10621-done <at> debbugs.gnu.org
Subject: Re: bug#10621: Incorrect usage of hash procedures in (ice-9 mapping)
Date: Sun, 24 Feb 2013 15:10:21 +0100
On Wed 28 Nov 2012 16:56, Daniel Hartwig <mandyke <at> gmail.com> writes:

> A short module, it is not hard to fix, though given all of the above it
> makes sense to simply remove it.

I think removing it is the right thing.  Even with your patch it still
won't work because the default "table constructor" is a vector instead
of a hash table.

Regardless of whether it were new or old, I would much prefer to remove
this module than to document it properly, especially given the existence
of alternatives like srfi-69 and rnrs hash tables as you mention.

I will apply your patch (so that the compile warnings go away), add a
deprecation notice, and remove the module in master.

Andy
-- 
http://wingolog.org/




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 25 Mar 2013 11:24:02 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 85 days ago.

Previous Next


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