GNU bug report logs - #19415
Compiler shares storage for assoc-lists even if some of them are mutated

Previous Next

Package: guile;

Reported by: Panicz Maciej Godek <godek.maciek <at> gmail.com>

Date: Fri, 19 Dec 2014 23:54:02 UTC

Severity: normal

Tags: notabug

Merged with 19417

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Panicz Maciej Godek <godek.maciek <at> gmail.com>
To: 19415 <at> debbugs.gnu.org
Subject: bug#19415: Compiler shares storage for assoc-lists even if some of them are mutated
Date: Sat, 20 Dec 2014 00:53:11 +0100
[Message part 1 (text/plain, inline)]
This bug was traced by Matt Wette and described here:

http://lists.gnu.org/archive/html/guile-user/2014-12/msg00023.html

In short, the bug manifests itself when at least two consecutive let forms
are used with an assoc list argument which starts with identical elements,
and the first appearance gets mutated before the second:

(begin
  (let ((l '((a . X)(b . Y)(c . 7))))
    (assoc-set! l 'b 'Z))
  (let ((l '((a . X)(b . Y))))
    l))
===> ((a . X) (b . Z))

The issue is known to appear in guile 2.0.11 and 2.0.5
[Message part 2 (text/html, inline)]

This bug report was last modified 10 years and 249 days ago.

Previous Next


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