GNU bug report logs -
#38611
Guile 2.9.7 regression: "duplicate" record field names
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#38611: Guile 2.9.7 regression: "duplicate" record field names
which was filed against the guile package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 38611 <at> debbugs.gnu.org.
--
38611: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38611
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On Sat 14 Dec 2019 14:31, Göran Weinholt <goran <at> weinholt.se> writes:
> The following program works in Guile 2.2.6 (and other R6RS
> implementations), but raises an exception in Guile 2.9.7. A field called
> "name" exists in record type a and record type b, but there is no actual
> naming conflict as I understand it.
>
> (import (rnrs))
>
> (define-record-type a
> (fields name))
>
> (define-record-type b
> (parent a)
> (fields name))
>
> (let ((x (make-b 'a 'b)))
> (write (list (a-name x)
> (b-name x)))
> (newline))
Fixed in master. Thanks for the report!
Andy
[Message part 3 (message/rfc822, inline)]
Hello schemers,
The following program works in Guile 2.2.6 (and other R6RS
implementations), but raises an exception in Guile 2.9.7. A field called
"name" exists in record type a and record type b, but there is no actual
naming conflict as I understand it.
--8<---------------cut here---------------start------------->8---
(import (rnrs))
(define-record-type a
(fields name))
(define-record-type b
(parent a)
(fields name))
(let ((x (make-b 'a 'b)))
(write (list (a-name x)
(b-name x)))
(newline))
--8<---------------cut here---------------end--------------->8---
It should print (a b). The backtrace:
--8<---------------cut here---------------start------------->8---
Backtrace:
In ice-9/boot-9.scm:
1722:10 8 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
7 (apply-smob/0 #<thunk 56291f86b320>)
In ice-9/boot-9.scm:
718:2 6 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
619:8 5 (_ #(#(#<directory (guile-user) 56291f8eff00>)))
In ice-9/boot-9.scm:
2792:4 4 (save-module-excursion _)
4336:12 3 (_)
In /tmp/foo.sps:
6:0 2 (_)
In ice-9/boot-9.scm:
1090:10 1 (make-record-type b ((immutable name)) _ #:parent _ # _ ?)
1073:12 0 (append-fields _ _)
ice-9/boot-9.scm:1073:12: In procedure append-fields:
duplicate field name
--8<---------------cut here---------------end--------------->8---
Regards,
--
Göran Weinholt | https://weinholt.se/
Debian developer | 73 de SA6CJK
This bug report was last modified 5 years and 135 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.