unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: David Pirotte <david@altosw.be>
To: Panicz Maciej Godek <godek.maciek@gmail.com>
Cc: guile-devel <guile-devel@gnu.org>
Subject: Re: goops - guile-clutter unexpected bug while using #:virtual slot allocation for a <clutter-actor> subclass
Date: Sat, 20 Dec 2014 04:16:57 -0200	[thread overview]
Message-ID: <20141220041657.5a4d7325@capac> (raw)
In-Reply-To: <CAMFYt2YjhWk4VK2JZxA2j5XcD=MsyRgHQaH9LGg9rjwGFZRFLA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1476 bytes --]

Hi Panicz,

I don't think you did read the paste (3 parts) carefully, since the first part of
the paste is a goops example [no guile-gnome[clutter] code] that does work, as
expected.

> My first impression is that the error might be caused by using the
> combination of #:allocation #:virtual and #:init-keyword for the "colour"
> slot.

Your impression is wrong, please try the code from the 1st part of the paste.

> Since #:init-keyword initializes slot value with a given value, and
> virtual slots have no actual value, the semantics of such operation is
> rather unclear.

This is also wrong and there is nothing unclear here: when one uses the #:virtual
allocation option, one must also provide both #:slot-ref #:slot-set! options to
specify how to read and write values for this slot [see the manual]. so, no possible
ambiguity, if one also uses #:init-keyword, the system must call, at the right
initialization time, the provided code for the #:slot-set! option, which is what
goops does perfectly.

The problem is with/in guile-gnome, which for some reason I am unable clearly
identify and debug by myself, breaks goops.

> If your intention is to use the keyword as an argument to the constructor,
> you should rather provide a custom "initialize" method (and drop the
> "init-keyword" for the colour slot):

I don't agree, one should not have to provide any additional code, this a
guile-gnome related bug.

Happy hacking,
David

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  reply	other threads:[~2014-12-20  6:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-19 19:46 goops - guile-clutter unexpected bug while using #:virtual slot allocation for a <clutter-actor> subclass David Pirotte
2014-12-19 23:42 ` Panicz Maciej Godek
2014-12-20  6:16   ` David Pirotte [this message]
2015-01-26 21:35 ` Andy Wingo
2015-01-27  1:00   ` David Pirotte
2015-01-27  8:29     ` Andy Wingo
2015-01-27 19:11       ` David Pirotte
2015-01-27 19:35         ` David Pirotte
2015-01-27 20:44         ` Andy Wingo
2015-01-28  3:05           ` David Pirotte
2015-01-28  3:36             ` David Pirotte
2015-01-28 12:57             ` Andy Wingo
2015-01-28 19:24               ` David Pirotte
2015-01-30 13:50           ` David Pirotte
2015-02-06 13:33             ` Andy Wingo
2015-02-06 17:09               ` David Pirotte
2015-02-06 17:49                 ` Andy Wingo
2015-02-07  0:06                   ` David Pirotte
2015-02-07 15:37                     ` Andy Wingo
2015-02-07 17:13                       ` David Pirotte
2015-02-07 16:08                     ` David Pirotte
2015-02-04 16:12           ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141220041657.5a4d7325@capac \
    --to=david@altosw.be \
    --cc=godek.maciek@gmail.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).