GNU bug report logs - #17355
#:getter procedure returns unexpected value in GOOPS

Previous Next

Package: guile;

Reported by: "Diogo F. S. Ramos" <dfsr <at> riseup.net>

Date: Sun, 27 Apr 2014 04:54:01 UTC

Severity: important

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

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: Andy Wingo <wingo <at> pobox.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#17355: closed (#:getter procedure returns unexpected value in
 GOOPS)
Date: Tue, 21 Jun 2016 13:13:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 21 Jun 2016 15:12:22 +0200
with message-id <8760t2znwp.fsf <at> pobox.com>
and subject line Re: bug#17355: #:getter procedure returns unexpected value in GOOPS
has caused the debbugs.gnu.org bug report #17355,
regarding #:getter procedure returns unexpected value in GOOPS
to be marked as done.

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


-- 
17355: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17355
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Diogo F. S. Ramos" <dfsr <at> riseup.net>
To: bug-guile <at> gnu.org
Subject: #:getter procedure returns unexpected value in GOOPS
Date: Sat, 26 Apr 2014 22:43:41 -0300
When using GOOPS, if a class has a second slot, the #:getter procedure
of the first slot returns the value of the second slot when applied to
an instance of a subclass.

--8<---------------cut here---------------start------------->8---
(use-modules (oop goops))

(define-class <foo> ()
  (a #:init-form 'foo #:getter foo-a)
  (b #:init-form 42))

(define-class <bar> (<foo>)
  (a #:init-form 'bar))
--8<---------------cut here---------------end--------------->8---

  (foo-a (make <foo>)) => foo
  (foo-a (make <bar>)) => 42

I expected:

  (foo-a (make <bar>)) => bar

I'm using Guile 2.0.11.


[Message part 3 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: "Diogo F. S. Ramos" <dfsr <at> riseup.net>
Cc: 17355-done <at> debbugs.gnu.org
Subject: Re: bug#17355: #:getter procedure returns unexpected value in GOOPS
Date: Tue, 21 Jun 2016 15:12:22 +0200
Thanks for the report!  This is fixed in Guile 2.0.11 and in 2.1.x,
though the full situation is a bit strange.

See: http://thread.gmane.org/gmane.lisp.guile.user/11218/focus=11813

Regards,

Andy

On Sun 27 Apr 2014 03:43, "Diogo F. S. Ramos" <dfsr <at> riseup.net> writes:

> When using GOOPS, if a class has a second slot, the #:getter procedure
> of the first slot returns the value of the second slot when applied to
> an instance of a subclass.
>
> (use-modules (oop goops))
>
> (define-class <foo> ()
>   (a #:init-form 'foo #:getter foo-a)
>   (b #:init-form 42))
>
> (define-class <bar> (<foo>)
>   (a #:init-form 'bar))
>
>   (foo-a (make <foo>)) => foo
>   (foo-a (make <bar>)) => 42
>
> I expected:
>
>   (foo-a (make <bar>)) => bar
>
> I'm using Guile 2.0.11.


This bug report was last modified 8 years and 340 days ago.

Previous Next


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