GNU bug report logs - #19564
24.4; eieio backward compatibility

Previous Next

Package: emacs;

Reported by: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>

Date: Sun, 11 Jan 2015 08:04:02 UTC

Severity: normal

Done: Noam Postavsky <npostavs <at> users.sourceforge.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 19564 <at> debbugs.gnu.org
Subject: bug#19564: 24.4; eieio backward compatibility
Date: Wed, 14 Jan 2015 07:06:34 +0100
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> The confusion comes that slot-value as documented should use the quoted
>> slot (i.e 'slot) and oref should use the keyword slot (i.e :slot).
>
> I don't think so:
>
>    (defmacro oref (obj slot)
>      `(eieio-oref ,obj (quote ,slot)))
>    (defalias 'slot-value 'eieio-oref)
>
> They both accept the slot name (except that one needs it quoted and the
> other doesn't) and the initarg name (as an alternative name for the
> slot).

Yes right, I have ckecked too, thanks.

>> Note that it seems the documentation should be updated as slot-value
>> support both form for slot ('slot and :slot), and IIRC oref also support
>> both forms, but correct me if I am wrong, I am not sure about this one,
>> I will check.
>
> Could be, indeed.  I haven't looked enough at EIEIO's own documentation.

Probably it should be clarified:

(oref A :slot)
=> OK.
(oref A slot)
=> OK
(oref A 'slot)
=> Error: (wrong-type-argument symbolp (quote slot))
(slot-value A :slot)
=> OK
(slot-value A slot)
=> Symbol's value as variable is void: slot
(slot-value A 'slot)
=> OK

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 




This bug report was last modified 9 years and 40 days ago.

Previous Next


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