* bug#20914: eieio/slot/group
@ 2015-06-28 6:02 Pierre Lorenzon
2015-06-29 4:31 ` Pierre Lorenzon
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Lorenzon @ 2015-06-28 6:02 UTC (permalink / raw)
To: 20914
Following code :
>>> -- Code
(require 'eieio)
(require 'cl)
(defun slot-groups (class slot)
(message "Slot `%s' of class `%s' has group `%s'"
slot class
(alist-get :group
(cl--slot-descriptor-props
(car-safe
(member* slot
(eieio-class-slots class)
:test (lambda (s1 s2)
(eq s1
(eieio-slot-descriptor-name s2))
)))))))
(defclass mybase ()
((name :custom string
:group ident))
)
(slot-groups 'mybase 'name)
(defclass mysub (mybase)
((name :group history)))
(slot-groups 'mysub 'name)
(slot-groups 'mybase 'name)
>>> -- End Code
Produces following sequence of messages :
>>> -- Messages
Slot `name' of class `mybase' has group `(ident)'
Slot `name' of class `mysub' has group `(history ident)'
Slot `name' of class `mybase' has group `(history ident)'
>>> -- End Messages
As definition of mysub alterates definition of mybase. It
should certainely not be the case ! Definition of a subclass
might not change anything of the definition of the base classe.
I suspect a list somewhere "taken as a pointer" and not copied
hence altered when it should not ! I'll investigate.
Pierre
In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
of 2015-06-28 on jabberwocky
Repository revision: bbf63ee00a3c263e3190320bc389bf0b72a5a9d5
Configured using:
`configure --prefix=/home/emacs'
Configured features:
JPEG SOUND NOTIFY ZLIB
Important settings:
value of $LANG: C
locale-coding-system: nil
Major mode: Messages
Minor modes in effect:
gpm-mouse-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
Saving file /home/emacs/Messages...
Wrote /home/emacs/Messages
Making completion list... [2 times]
user-error: Beginning of history; no preceding item [2 times]
Load-path shadows:
/home/emacs/share/emacs/site-lisp/edext/latex/regexp hides /home/emacs/share/emacs/site-lisp/edext/utils/regexp
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-pointed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/lists/j++-pointed
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-interface hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/misc/j++-interface
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-synchronized hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-synchronized
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-timed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-timed
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-file
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-test
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-object
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-target hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/j++-target
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-process hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-process
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-filtered hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-filtered
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-buffer hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-buffer
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-linked hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-linked
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-node
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-discid
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-author hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-author
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-discid
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-piece
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-project hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-project
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-performer hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-performer
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-person hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-person
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-flaggable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-flaggable
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-item
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-file
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/graphs/j++-element hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/spreadsheet/j++-element
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-latex hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/user/j++-latex
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/j++-loop hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-loop
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/j++-inline hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-inline
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/subsystems/j++-class hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-class
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-file
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-mastered hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-mastered
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/user/j++-files hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-files
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-node
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-driver
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-item
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-output
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-client
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-bar-title hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-bar-title
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-connection hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-connection
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-driver
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-parameters hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-parameters
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-client
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-mark hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-mark
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-piece
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/b/j++-style
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/div/j++-style
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/font/j++-style
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/a/j++-name hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/meta/j++-name
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/span/j++-style
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/body/j++-bgcolor hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/td/j++-bgcolor
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/template/j++-text
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-node
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-text
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-position
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-root hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-root
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-amplify
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-incdec
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-inout hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-inout
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-object
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-meta hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-meta
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-input
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chainsetup
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-operator hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-operator
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-item
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chain
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-output
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-position
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-highpass hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-highpass
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop-position
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-incdec
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-variable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-variable
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-run-group hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-run-group
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-record-position
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-container hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-container
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-play-position
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-chain
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-amplify
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-incdec
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-object
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-control hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-control
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-input
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chainsetup
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-play
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chain
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-output
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-position
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-preset hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-preset
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-play
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-record
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cross
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/data
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/boot
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cblfs
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tools
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tests
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cross
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/data
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/boot
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cblfs
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tools
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/grub hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/grub
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tests
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/bash hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/bash
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.10 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.10
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.25 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.25
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/eglibc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/eglibc
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.53 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.53
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.04 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.04
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/gcc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/gcc
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/05 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/05
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cross
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/07 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/07
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/06 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/06
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/data
/home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/09 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/09
/home/emacs/share/emacs/site-lisp/edext/utils/list hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/lfs/scripts/chapter05/list
/home/emacs/share/emacs/site-lisp/edext/latex/replace hides /home/emacs/share/emacs/25.0.50/lisp/replace
Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047
rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils cl-seq cl-macs
cl eieio byte-opt gv bytecomp byte-compile cl-extra seq cconv eieio-core
cl-loaddefs pcase cl-lib t-mouse time-date disp-table mule-util tooltip
eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select mouse jit-lock font-lock syntax
facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp
files text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote inotify multi-tty
make-network-process emacs)
Memory information:
((conses 16 85783 4012)
(symbols 48 18834 0)
(miscs 40 64 124)
(strings 32 14933 4721)
(string-bytes 1 445196)
(vectors 16 10259)
(vector-slots 8 372316 9859)
(floats 8 134 307)
(intervals 56 789 90)
(buffers 976 14)
(heap 1024 17185 684))
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-06-28 6:02 bug#20914: eieio/slot/group Pierre Lorenzon
@ 2015-06-29 4:31 ` Pierre Lorenzon
2015-06-29 17:29 ` Pierre Lorenzon
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Lorenzon @ 2015-06-29 4:31 UTC (permalink / raw)
To: 20914
OK situation seems to be worth than I thought.
The following code :
>>> -- More complete code
(require 'eieio)
(require 'cl)
(defvar slot-props
'(:group :custom :label :documentation))
(defun slot-prop (class slot prop)
(message "Slot `%s' of class `%s' has `%s' `%s'"
slot class prop
(alist-get prop
(cl--slot-descriptor-props
(car-safe
(member* slot
(eieio-class-slots class)
:test (lambda (s1 s2)
(eq s1
(eieio-slot-descriptor-name s2))
)))))))
(defun slot-props-msg (class)
(mapc (lambda (prop)
(slot-prop class 'name prop))
slot-props))
(defclass mybase ()
((name :custom string
:group ident
:label "Name"
:documentation
"My name"))
)
(slot-props-msg 'mybase)
(defclass mysub (mybase)
((name :group history
:custom item
:label "Your real name"
:documentation
"A suitable name")))
(slot-props-msg 'mysub)
(slot-props-msg 'mybase)
>>> -- End More complete code
produces following sequence of messages :
>>> -- Messages
Slot `name' of class `mybase' has `:group' `(ident)'
Slot `name' of class `mybase' has `:custom' `string'
Slot `name' of class `mybase' has `:label' `Name'
Slot `name' of class `mybase' has `:documentation' `My name'
Slot `name' of class `mysub' has `:group' `(history ident)'
Slot `name' of class `mysub' has `:custom' `item'
Slot `name' of class `mysub' has `:label' `Your real name'
Slot `name' of class `mysub' has `:documentation' `A suitable name'
Slot `name' of class `mybase' has `:group' `(history ident)'
Slot `name' of class `mybase' has `:custom' `item'
Slot `name' of class `mybase' has `:label' `Your real name'
Slot `name' of class `mybase' has `:documentation' `A suitable name'
>>> -- End Messages
In fact not only property group but documentation, label and
even custom have been modified in superclass by definition of
subclass.
Things probably lie in `eieio--slot-override' in eieio-core.el
or maybe in call of this function.
Regards
Pierre
From: Pierre Lorenzon <devel@pollock-nageoire.net>
Subject: bug#20914: eieio/slot/group
Date: Sun, 28 Jun 2015 08:02:43 +0200 (CEST)
>
> Following code :
>
>>>> -- Code
>
> (require 'eieio)
> (require 'cl)
>
> (defun slot-groups (class slot)
> (message "Slot `%s' of class `%s' has group `%s'"
> slot class
> (alist-get :group
> (cl--slot-descriptor-props
> (car-safe
> (member* slot
> (eieio-class-slots class)
> :test (lambda (s1 s2)
> (eq s1
> (eieio-slot-descriptor-name s2))
> )))))))
> (defclass mybase ()
> ((name :custom string
> :group ident))
> )
>
> (slot-groups 'mybase 'name)
>
> (defclass mysub (mybase)
> ((name :group history)))
>
> (slot-groups 'mysub 'name)
>
> (slot-groups 'mybase 'name)
>
>>>> -- End Code
>
> Produces following sequence of messages :
>
>>>> -- Messages
>
> Slot `name' of class `mybase' has group `(ident)'
> Slot `name' of class `mysub' has group `(history ident)'
> Slot `name' of class `mybase' has group `(history ident)'
>
>>>> -- End Messages
>
>
> As definition of mysub alterates definition of mybase. It
> should certainely not be the case ! Definition of a subclass
> might not change anything of the definition of the base classe.
>
>
> I suspect a list somewhere "taken as a pointer" and not copied
> hence altered when it should not ! I'll investigate.
>
> Pierre
>
> In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
> of 2015-06-28 on jabberwocky
> Repository revision: bbf63ee00a3c263e3190320bc389bf0b72a5a9d5
> Configured using:
> `configure --prefix=/home/emacs'
>
> Configured features:
> JPEG SOUND NOTIFY ZLIB
>
> Important settings:
> value of $LANG: C
> locale-coding-system: nil
>
> Major mode: Messages
>
> Minor modes in effect:
> gpm-mouse-mode: t
> tooltip-mode: t
> global-eldoc-mode: t
> electric-indent-mode: t
> menu-bar-mode: t
> file-name-shadow-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> auto-composition-mode: t
> auto-encryption-mode: t
> auto-compression-mode: t
> line-number-mode: t
> transient-mark-mode: t
>
> Recent messages:
>
> Saving file /home/emacs/Messages...
> Wrote /home/emacs/Messages
> Making completion list... [2 times]
> user-error: Beginning of history; no preceding item [2 times]
>
> Load-path shadows:
> /home/emacs/share/emacs/site-lisp/edext/latex/regexp hides /home/emacs/share/emacs/site-lisp/edext/utils/regexp
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-pointed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/lists/j++-pointed
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-interface hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/misc/j++-interface
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-synchronized hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-synchronized
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-timed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-timed
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-file
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-test
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-target hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/j++-target
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-process hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-process
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-filtered hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-filtered
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-buffer hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-buffer
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-linked hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-linked
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-discid
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-author hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-author
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-discid
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-piece
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-project hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-project
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-performer hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-performer
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-person hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-person
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-flaggable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-flaggable
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-file
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/graphs/j++-element hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/spreadsheet/j++-element
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-latex hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/user/j++-latex
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/j++-loop hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-loop
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/j++-inline hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-inline
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/subsystems/j++-class hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-class
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-file
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-mastered hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-mastered
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/user/j++-files hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/ecascheme/j++-files
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-driver
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-client
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-bar-title hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-bar-title
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-connection hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-connection
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-driver
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-parameters hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-parameters
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-client
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-mark hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-mark
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-piece
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/b/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/div/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/font/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/a/j++-name hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/meta/j++-name
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/span/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/body/j++-bgcolor hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/td/j++-bgcolor
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/template/j++-text
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-text
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-root hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-root
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-inout hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-inout
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-meta hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-meta
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-input
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chainsetup
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-operator hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-operator
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-highpass hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-highpass
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-variable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-variable
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-run-group hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-run-group
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-record-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-container hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-container
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-play-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-control hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-control
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-input
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chainsetup
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-play
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-preset hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-preset
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-play
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-record
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/boot
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cblfs
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tools
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tests
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/boot
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cblfs
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tools
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/grub hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/grub
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tests
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/bash hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/bash
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.10 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.10
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.25 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.25
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/eglibc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/eglibc
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.53 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.53
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.04 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.04
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/gcc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/gcc
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/05 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/05
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/07 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/07
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/06 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/06
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/09 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/09
> /home/emacs/share/emacs/site-lisp/edext/utils/list hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/lfs/scripts/chapter05/list
> /home/emacs/share/emacs/site-lisp/edext/latex/replace hides /home/emacs/share/emacs/25.0.50/lisp/replace
>
> Features:
> (shadow sort gnus-util mail-extr emacsbug message dired format-spec
> rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse
> rfc2231 mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047
> rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils cl-seq cl-macs
> cl eieio byte-opt gv bytecomp byte-compile cl-extra seq cconv eieio-core
> cl-loaddefs pcase cl-lib t-mouse time-date disp-table mule-util tooltip
> eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
> tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
> menu-bar rfn-eshadow timer select mouse jit-lock font-lock syntax
> facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang
> vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
> hebrew greek romanian slovak czech european ethiopic indian cyrillic
> chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
> minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp
> files text-properties overlay sha1 md5 base64 format env code-pages mule
> custom widget hashtable-print-readable backquote inotify multi-tty
> make-network-process emacs)
>
> Memory information:
> ((conses 16 85783 4012)
> (symbols 48 18834 0)
> (miscs 40 64 124)
> (strings 32 14933 4721)
> (string-bytes 1 445196)
> (vectors 16 10259)
> (vector-slots 8 372316 9859)
> (floats 8 134 307)
> (intervals 56 789 90)
> (buffers 976 14)
> (heap 1024 17185 684))
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-06-29 4:31 ` Pierre Lorenzon
@ 2015-06-29 17:29 ` Pierre Lorenzon
2015-06-30 18:09 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Lorenzon @ 2015-06-29 17:29 UTC (permalink / raw)
To: 20914
[-- Attachment #1: Type: Text/Plain, Size: 262 bytes --]
OK I got it !
The problem comes from use of `copy-sequence' in
`eieio-copy-parents-into-subclass' function of eieio-core. this
copy is not reccursive as explained in code comment but it
should be ! There's a joined patch that fixes the bug.
Regards
Pierre
[-- Attachment #2: eieio-core-0629.patch --]
[-- Type: Text/X-Patch, Size: 1492 bytes --]
--- eieio-core..orig.el 2015-06-28 07:26:49.000000000 +0200
+++ eieio-core.el 2015-06-29 19:20:28.000000000 +0200
@@ -660,9 +660,32 @@
(let ((pslots (eieio--class-slots pcv))
(pinit (eieio--class-initarg-tuples pcv)))
(dotimes (i (length pslots))
- (let* ((sd (cl--copy-slot-descriptor (aref pslots i)))
+ ;;; -- Props should be copied as well
+ ;;; PLN Mon Jun 29 17:25:54 2015
+ ;;
+ ;; Due to the way `cl--copy-slot-descriptor' acts
+ ;; props in the copied object will not be a new
+ ;; sequence but a reference to the parent
+ ;; sequence. Hence when modifying this sequence
+ ;; parent slot props will be altered as well : and it
+ ;; SHOULD NOT !
+ ;;
+ (let* ((pslot (aref pslots i))
+ (sd (cl--copy-slot-descriptor pslot))
(init (car (rassq (cl--slot-descriptor-name sd) pinit))))
+ ;;
+ ;; Simply applying a `copy-sequence' on the props
+ ;; will not work since props itself is a sequence
+ ;; whose elements will not be copied and only
+ ;; reference elements of the old props plist. A
+ ;; reccursive copy should be performed.
+ ;;
+ (setf (cl--slot-descriptor-props sd)
+ (copy-tree
+ (cl--slot-descriptor-props pslot)))
(eieio--add-new-slot newc sd init nil nil sn))
+ ;;
+ ;;; -- End Props should be copied as well
)) ;; while/let
;; Now duplicate all the class alloc slots.
(let ((pcslots (eieio--class-class-slots pcv)))
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-06-29 17:29 ` Pierre Lorenzon
@ 2015-06-30 18:09 ` Stefan Monnier
2015-07-01 4:02 ` Pierre Lorenzon
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2015-06-30 18:09 UTC (permalink / raw)
To: Pierre Lorenzon; +Cc: 20914
> The problem comes from use of `copy-sequence' in
> `eieio-copy-parents-into-subclass' function of eieio-core. this
> copy is not reccursive as explained in code comment but it
> should be ! There's a joined patch that fixes the bug.
Thanks for the investigation. I think the fix should be
applied deeper. Can you confirm that the patch below works for you
as well?
Stefan
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index ed0639b..2e9bdde 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -195,7 +195,7 @@
(:constructor nil)
(:constructor cl--make-slot-descriptor
(name &optional initform type props))
- (:copier cl--copy-slot-descriptor))
+ (:copier nil))
;; FIXME: This is actually not used yet, for circularity reasons!
"Descriptor of structure slot."
name ;Attribute name (symbol).
@@ -205,6 +205,11 @@
;; :documentation, :protection, :custom, :label, :group, :printer.
(props nil :type alist))
+(defun cl--copy-slot-descriptor (slot)
+ (let ((new (copy-sequence slot)))
+ (cl-callf copy-sequence (cl--slot-descriptor-props new))
+ new))
+
(cl-defstruct (cl--class
(:constructor nil)
(:copier nil))
^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-06-30 18:09 ` Stefan Monnier
@ 2015-07-01 4:02 ` Pierre Lorenzon
2015-07-01 6:35 ` Pierre Lorenzon
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Lorenzon @ 2015-07-01 4:02 UTC (permalink / raw)
To: monnier; +Cc: 20914
From: Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: bug#20914: eieio/slot/group
Date: Tue, 30 Jun 2015 14:09:20 -0400
>> The problem comes from use of `copy-sequence' in
>> `eieio-copy-parents-into-subclass' function of eieio-core. this
>> copy is not reccursive as explained in code comment but it
>> should be ! There's a joined patch that fixes the bug.
>
> Thanks for the investigation. I think the fix should be
Sure it is better to have a true copier for
cl--slot-descriptor.
> applied deeper. Can you confirm that the patch below works for you
unfortunately it does not ! I modified cl-preloaded.el
recompiled it but once restarting emacs my example classes do
not havae suitable properties. When doing Ch f
cl--copy-slot-descriptor I get that it is an alias for
copy-sequence as it was before and not the function defined
by the new definition you gave. Moreover if I force
cl-prelaoded.el to be loaded I get the correct definition. I
suspect that things are not loaded as they should but why
....
> as well?
>
>
> Stefan
>
>
> diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
> index ed0639b..2e9bdde 100644
> --- a/lisp/emacs-lisp/cl-preloaded.el
> +++ b/lisp/emacs-lisp/cl-preloaded.el
> @@ -195,7 +195,7 @@
> (:constructor nil)
> (:constructor cl--make-slot-descriptor
> (name &optional initform type props))
> - (:copier cl--copy-slot-descriptor))
> + (:copier nil))
> ;; FIXME: This is actually not used yet, for circularity reasons!
> "Descriptor of structure slot."
> name ;Attribute name (symbol).
> @@ -205,6 +205,11 @@
> ;; :documentation, :protection, :custom, :label, :group, :printer.
> (props nil :type alist))
>
> +(defun cl--copy-slot-descriptor (slot)
> + (let ((new (copy-sequence slot)))
Are you sure that a copy-sequence will be enough here ? props
themselves are sequences hence they will be referenced by
this copy-sequence not copied. I think that a copy-tree
should be used here.
> + (cl-callf copy-sequence (cl--slot-descriptor-props new))
> + new))
> +
> (cl-defstruct (cl--class
> (:constructor nil)
> (:copier nil))
Ok I'll try to understand why it does not
work. I'll probably learn something in this
history and that's good !
Pierre
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-07-01 4:02 ` Pierre Lorenzon
@ 2015-07-01 6:35 ` Pierre Lorenzon
2015-07-01 13:31 ` Stefan Monnier
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Lorenzon @ 2015-07-01 6:35 UTC (permalink / raw)
To: monnier; +Cc: 20914
Sorry in fact it works when patching and recompiling the whole
stuff.Recompiling only cl-preloaded.el is not enough.
Anyway copy-tree should be used and not copy-sequence for the
properties. Otherwise properties are not eq but car of them are
eq and that's not what we want.
Pierre
From: Pierre Lorenzon <devel@pollock-nageoire.net>
Subject: bug#20914: eieio/slot/group
Date: Wed, 01 Jul 2015 06:02:28 +0200 (CEST)
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Subject: Re: bug#20914: eieio/slot/group
> Date: Tue, 30 Jun 2015 14:09:20 -0400
>
>>> The problem comes from use of `copy-sequence' in
>>> `eieio-copy-parents-into-subclass' function of eieio-core. this
>>> copy is not reccursive as explained in code comment but it
>>> should be ! There's a joined patch that fixes the bug.
>>
>> Thanks for the investigation. I think the fix should be
>
>
> Sure it is better to have a true copier for
> cl--slot-descriptor.
>
>
>> applied deeper. Can you confirm that the patch below works for you
>
> unfortunately it does not ! I modified cl-preloaded.el
> recompiled it but once restarting emacs my example classes do
> not havae suitable properties. When doing Ch f
> cl--copy-slot-descriptor I get that it is an alias for
> copy-sequence as it was before and not the function defined
> by the new definition you gave. Moreover if I force
> cl-prelaoded.el to be loaded I get the correct definition. I
> suspect that things are not loaded as they should but why
> ....
>
>
>
>
>> as well?
>>
>>
>> Stefan
>>
>>
>> diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
>> index ed0639b..2e9bdde 100644
>> --- a/lisp/emacs-lisp/cl-preloaded.el
>> +++ b/lisp/emacs-lisp/cl-preloaded.el
>> @@ -195,7 +195,7 @@
>> (:constructor nil)
>> (:constructor cl--make-slot-descriptor
>> (name &optional initform type props))
>> - (:copier cl--copy-slot-descriptor))
>> + (:copier nil))
>> ;; FIXME: This is actually not used yet, for circularity reasons!
>> "Descriptor of structure slot."
>> name ;Attribute name (symbol).
>> @@ -205,6 +205,11 @@
>> ;; :documentation, :protection, :custom, :label, :group, :printer.
>> (props nil :type alist))
>>
>> +(defun cl--copy-slot-descriptor (slot)
>> + (let ((new (copy-sequence slot)))
>
>
>
> Are you sure that a copy-sequence will be enough here ? props
> themselves are sequences hence they will be referenced by
> this copy-sequence not copied. I think that a copy-tree
> should be used here.
>
>
>> + (cl-callf copy-sequence (cl--slot-descriptor-props new))
>> + new))
>> +
>> (cl-defstruct (cl--class
>> (:constructor nil)
>> (:copier nil))
>
> Ok I'll try to understand why it does not
> work. I'll probably learn something in this
> history and that's good !
>
>
> Pierre
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#20914: eieio/slot/group
2015-07-01 6:35 ` Pierre Lorenzon
@ 2015-07-01 13:31 ` Stefan Monnier
0 siblings, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2015-07-01 13:31 UTC (permalink / raw)
To: Pierre Lorenzon; +Cc: 20914-done
> Sorry in fact it works when patching and recompiling the whole
> stuff.Recompiling only cl-preloaded.el is not enough.
As the name suggests, cl-preloaded is ... preloaded into the "emacs"
executable, so you need to recompile cl-preloaded.elc and then re-dump
src/emacs.
> Anyway copy-tree should be used and not copy-sequence for the
> properties. Otherwise properties are not eq but car of them are
> eq and that's not what we want.
Oops, good point, tho copy-tree isn't right either (we don't want to
copy the actual values).
I installed the patch below,
Stefan
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index ed0639b..60f6542 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -195,7 +195,7 @@
(:constructor nil)
(:constructor cl--make-slot-descriptor
(name &optional initform type props))
- (:copier cl--copy-slot-descriptor))
+ (:copier cl--copy-slot-descriptor-1))
;; FIXME: This is actually not used yet, for circularity reasons!
"Descriptor of structure slot."
name ;Attribute name (symbol).
@@ -205,6 +205,11 @@
;; :documentation, :protection, :custom, :label, :group, :printer.
(props nil :type alist))
+(defun cl--copy-slot-descriptor (slot)
+ (let ((new (cl--copy-slot-descriptor-1 slot)))
+ (cl-callf copy-alist (cl--slot-descriptor-props new))
+ new))
+
(cl-defstruct (cl--class
(:constructor nil)
(:copier nil))
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-07-01 13:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-28 6:02 bug#20914: eieio/slot/group Pierre Lorenzon
2015-06-29 4:31 ` Pierre Lorenzon
2015-06-29 17:29 ` Pierre Lorenzon
2015-06-30 18:09 ` Stefan Monnier
2015-07-01 4:02 ` Pierre Lorenzon
2015-07-01 6:35 ` Pierre Lorenzon
2015-07-01 13:31 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.