unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20467: 25.0.50; eieio-custom.el
@ 2015-04-30  5:23 Pierre L. Nageoire, Pierre Lorenzon
  2015-04-30  6:39 ` Pierre Lorenzon
  0 siblings, 1 reply; 10+ messages in thread
From: Pierre L. Nageoire, Pierre Lorenzon @ 2015-04-30  5:23 UTC (permalink / raw)
  To: 20467


--text follows this line--


eieio-custom.el line 264 : (car slots)

but due to recent changes in implementation variable slots is no longer
a list but a vector. So `car' cannot be applied here that causes a wrong
type argument error when trying to customize an object.

I can try to fix that if you want.

Pierre






In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
 of 2015-04-30 on jabberwocky
Configured using:
 `configure --prefix=/home/emacs'

Configured features:
JPEG SOUND NOTIFY ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: nil

Major mode: Emacs-Lisp

Minor modes in effect:
  global-ede-mode: t
  ede-minor-mode: t
  gpm-mouse-mode: t
  global-speechd-speak-mode: t
  speechd-speak-mode: t
  global-speechd-speak-map-mode: t
  speechd-speak-map-mode: t
  tooltip-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

Recent messages:
27 (#o33, #x1b, ?\C-\[)
[cl-struct-cl-slot-descriptor expanded nil boolean ((:documentation . "State of an object being expanded in speedbar."))]
Entering debugger...
Back to top level
Entering debugger...
Back to top level
Line 264
"Line 264"
Making completion list... [2 times]
line-move-visual: End of buffer

Load-path shadows:
/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/test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/test
/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++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
/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++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
/home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-network-stream hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-network-stream
/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++-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++-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/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/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/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/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/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/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/efm/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/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/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++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
/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/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/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/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/sound/ecasound/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/sound/festival/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/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

Features:
(shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils find-func
help-mode debug semantic/lex-spp semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local ede/proj
ede/make ede/proj-comp ede/autoconf-edit autoconf autoconf-mode pp
cus-edit ede/custom cus-start cus-load ede/speedbar ede/files ede
ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar sb-image
ezimage image dframe cedet jka-compr misearch multi-isearch info
tool-bar easymenu regexp-opt dired j++-packages-scmel-efm-parameters
j++-packages-scmel-efm-connection t-mouse network-stream nsm auth-source
gnus-util time-date mm-util mail-prsvr password-cache starttls tls
j++-packages-scmel-efm-driver j++-packages-scmel-efm-efm
j++-packages-scmel-monitor j++-basic-widgets-object
j++-packages-scmel-scmel j++-basic-logger j++-basic-files-file
j++-basic-files-serializable j++-basic-files-stringifiable
j++-basic-processes-filtered-network-stream j++-basic-processes-filtered
j++-basic-processes-put-and-get j++-basic-processes-network-stream
j++-basic-processes-process warnings speechd-speak advice help-fns
speechd-brltty speechd-braille braille mmanager brltty speechd-ssip
speechd speechd-out speechd-common eieio-custom wid-edit eieio-base
cl-macs j++ eieio-compat eieio eieio-core cl-generic byte-opt bytecomp
byte-compile cl-extra seq cconv cl gv cl-loaddefs pcase cl-lib 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 cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese 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 160369 16737)
 (symbols 48 25818 57)
 (miscs 40 271 226)
 (strings 32 32914 6239)
 (string-bytes 1 1076675)
 (vectors 16 20587)
 (vector-slots 8 541737 3136)
 (floats 8 702 175)
 (intervals 56 1216 153)
 (buffers 976 23)
 (heap 1024 44415 1130))





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-04-30  5:23 bug#20467: 25.0.50; eieio-custom.el Pierre L. Nageoire, Pierre Lorenzon
@ 2015-04-30  6:39 ` Pierre Lorenzon
  2015-05-02  5:50   ` Pierre Lorenzon
  0 siblings, 1 reply; 10+ messages in thread
From: Pierre Lorenzon @ 2015-04-30  6:39 UTC (permalink / raw)
  To: 20467

[-- Attachment #1: Type: Text/Plain, Size: 19176 bytes --]

OK :


From: devel@pollock-nageoire.net (Pierre L. Nageoire), Pierre Lorenzon <devel@pollock-nageoire.net>
Subject: bug#20467: 25.0.50; eieio-custom.el
Date: Thu, 30 Apr 2015 07:23:43 +0200 (CEST)

> 
> --text follows this line--
> 
> 
> eieio-custom.el line 264 : (car slots)
> 
> but due to recent changes in implementation variable slots is no longer
> a list but a vector. So `car' cannot be applied here that causes a wrong
> type argument error when trying to customize an object.

  Moreover slot itself is no longer a symbol but a structure
  whereas a symbol is needed at this code place.

  so : (eieio-slot-descriptor-name slot) must replace (car
  slots).

  There's a joined patch that fix this bug. But now there seems
  to be a bug in project saving to that I did not yet identify.

  Pierre

> 
> I can try to fix that if you want.
> 
> Pierre
> 
> 
> 
> 
> 
> 
> In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
>  of 2015-04-30 on jabberwocky
> Configured using:
>  `configure --prefix=/home/emacs'
> 
> Configured features:
> JPEG SOUND NOTIFY ZLIB
> 
> Important settings:
>   value of $LANG: C
>   locale-coding-system: nil
> 
> Major mode: Emacs-Lisp
> 
> Minor modes in effect:
>   global-ede-mode: t
>   ede-minor-mode: t
>   gpm-mouse-mode: t
>   global-speechd-speak-mode: t
>   speechd-speak-mode: t
>   global-speechd-speak-map-mode: t
>   speechd-speak-map-mode: t
>   tooltip-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
> 
> Recent messages:
> 27 (#o33, #x1b, ?\C-\[)
> [cl-struct-cl-slot-descriptor expanded nil boolean ((:documentation . "State of an object being expanded in speedbar."))]
> Entering debugger...
> Back to top level
> Entering debugger...
> Back to top level
> Line 264
> "Line 264"
> Making completion list... [2 times]
> line-move-visual: End of buffer
> 
> Load-path shadows:
> /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/test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/test
> /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++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
> /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++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-network-stream hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-network-stream
> /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++-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++-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/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/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/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/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/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/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/efm/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/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/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++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
> /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/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/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/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/sound/ecasound/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/sound/festival/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/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
> 
> Features:
> (shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
> mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
> mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils find-func
> help-mode debug semantic/lex-spp semantic/util-modes semantic/util
> semantic semantic/tag semantic/lex semantic/fw mode-local ede/proj
> ede/make ede/proj-comp ede/autoconf-edit autoconf autoconf-mode pp
> cus-edit ede/custom cus-start cus-load ede/speedbar ede/files ede
> ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar sb-image
> ezimage image dframe cedet jka-compr misearch multi-isearch info
> tool-bar easymenu regexp-opt dired j++-packages-scmel-efm-parameters
> j++-packages-scmel-efm-connection t-mouse network-stream nsm auth-source
> gnus-util time-date mm-util mail-prsvr password-cache starttls tls
> j++-packages-scmel-efm-driver j++-packages-scmel-efm-efm
> j++-packages-scmel-monitor j++-basic-widgets-object
> j++-packages-scmel-scmel j++-basic-logger j++-basic-files-file
> j++-basic-files-serializable j++-basic-files-stringifiable
> j++-basic-processes-filtered-network-stream j++-basic-processes-filtered
> j++-basic-processes-put-and-get j++-basic-processes-network-stream
> j++-basic-processes-process warnings speechd-speak advice help-fns
> speechd-brltty speechd-braille braille mmanager brltty speechd-ssip
> speechd speechd-out speechd-common eieio-custom wid-edit eieio-base
> cl-macs j++ eieio-compat eieio eieio-core cl-generic byte-opt bytecomp
> byte-compile cl-extra seq cconv cl gv cl-loaddefs pcase cl-lib 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 cham georgian utf-8-lang misc-lang vietnamese
> tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
> czech european ethiopic indian cyrillic chinese 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 160369 16737)
>  (symbols 48 25818 57)
>  (miscs 40 271 226)
>  (strings 32 32914 6239)
>  (string-bytes 1 1076675)
>  (vectors 16 20587)
>  (vector-slots 8 541737 3136)
>  (floats 8 702 175)
>  (intervals 56 1216 153)
>  (buffers 976 23)
>  (heap 1024 44415 1130))
> 
> 
> 

[-- Attachment #2: eieio-custom-0430.patch --]
[-- Type: Text/X-Patch, Size: 1328 bytes --]

--- eieio-custom.el.orig	2015-04-30 05:34:45.000000000 +0200
+++ eieio-custom.el	2015-04-30 08:11:25.000000000 +0200
@@ -261,13 +261,18 @@
                                              (or
                                               (eieio--class-slot-initarg
                                                (eieio--object-class obj)
-                                               (car slots))
-                                              (car slots)))))
+                                               ;; (car slots)
+					       (eieio-slot-descriptor-name slot)
+					       )
+                                              ;; (car slots)
+					      (eieio-slot-descriptor-name slot)
+					      ))))
                                      (capitalize
                                       (if (string-match "^:" s)
                                           (substring s (match-end 0))
                                         s)))))
-                              :value (slot-value obj (car slots))
+                              :value (slot-value obj ;; (car slots)
+						 (eieio-slot-descriptor-name slot))
                               :doc  (or (alist-get :documentation props)
                                         "Slot not Documented.")
                               :eieio-custom-visibility 'visible

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-04-30  6:39 ` Pierre Lorenzon
@ 2015-05-02  5:50   ` Pierre Lorenzon
  2015-05-02  8:10     ` Pierre Lorenzon
  2015-05-05 18:49     ` Stefan Monnier
  0 siblings, 2 replies; 10+ messages in thread
From: Pierre Lorenzon @ 2015-05-02  5:50 UTC (permalink / raw)
  To: 20467

[-- Attachment #1: Type: Text/Plain, Size: 19787 bytes --]

From: Pierre Lorenzon <devel@pollock-nageoire.net>
Subject: bug#20467: 25.0.50; eieio-custom.el
Date: Thu, 30 Apr 2015 08:39:23 +0200 (CEST)

> OK :
> 
> 
> From: devel@pollock-nageoire.net (Pierre L. Nageoire), Pierre Lorenzon <devel@pollock-nageoire.net>
> Subject: bug#20467: 25.0.50; eieio-custom.el
> Date: Thu, 30 Apr 2015 07:23:43 +0200 (CEST)
> 
>> 
>> --text follows this line--
>> 
>> 
>> eieio-custom.el line 264 : (car slots)
>> 
>> but due to recent changes in implementation variable slots is no longer
>> a list but a vector. So `car' cannot be applied here that causes a wrong
>> type argument error when trying to customize an object.
> 
>   Moreover slot itself is no longer a symbol but a structure
>   whereas a symbol is needed at this code place.
> 
>   so : (eieio-slot-descriptor-name slot) must replace (car
>   slots).
> 
>   There's a joined patch that fix this bug. But now there seems
>   to be a bug in project saving to that I did not yet identify.

    In fact i detected an infinit loop in
    `eieio-object-value-get' function due to not incrementing
    the integer loop variable. A new patch corrects both
    previous bug mentioned above and the latter.


    Pierre






> 
>   Pierre
> 
>> 
>> I can try to fix that if you want.
>> 
>> Pierre
>> 
>> 
>> 
>> 
>> 
>> 
>> In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
>>  of 2015-04-30 on jabberwocky
>> Configured using:
>>  `configure --prefix=/home/emacs'
>> 
>> Configured features:
>> JPEG SOUND NOTIFY ZLIB
>> 
>> Important settings:
>>   value of $LANG: C
>>   locale-coding-system: nil
>> 
>> Major mode: Emacs-Lisp
>> 
>> Minor modes in effect:
>>   global-ede-mode: t
>>   ede-minor-mode: t
>>   gpm-mouse-mode: t
>>   global-speechd-speak-mode: t
>>   speechd-speak-mode: t
>>   global-speechd-speak-map-mode: t
>>   speechd-speak-map-mode: t
>>   tooltip-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
>> 
>> Recent messages:
>> 27 (#o33, #x1b, ?\C-\[)
>> [cl-struct-cl-slot-descriptor expanded nil boolean ((:documentation . "State of an object being expanded in speedbar."))]
>> Entering debugger...
>> Back to top level
>> Entering debugger...
>> Back to top level
>> Line 264
>> "Line 264"
>> Making completion list... [2 times]
>> line-move-visual: End of buffer
>> 
>> Load-path shadows:
>> /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/test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/test
>> /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++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
>> /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++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
>> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-network-stream hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-network-stream
>> /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++-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++-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/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/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/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/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/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/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/efm/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/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/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++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
>> /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/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/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/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/sound/ecasound/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/sound/festival/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/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
>> 
>> Features:
>> (shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
>> mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
>> mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils find-func
>> help-mode debug semantic/lex-spp semantic/util-modes semantic/util
>> semantic semantic/tag semantic/lex semantic/fw mode-local ede/proj
>> ede/make ede/proj-comp ede/autoconf-edit autoconf autoconf-mode pp
>> cus-edit ede/custom cus-start cus-load ede/speedbar ede/files ede
>> ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar sb-image
>> ezimage image dframe cedet jka-compr misearch multi-isearch info
>> tool-bar easymenu regexp-opt dired j++-packages-scmel-efm-parameters
>> j++-packages-scmel-efm-connection t-mouse network-stream nsm auth-source
>> gnus-util time-date mm-util mail-prsvr password-cache starttls tls
>> j++-packages-scmel-efm-driver j++-packages-scmel-efm-efm
>> j++-packages-scmel-monitor j++-basic-widgets-object
>> j++-packages-scmel-scmel j++-basic-logger j++-basic-files-file
>> j++-basic-files-serializable j++-basic-files-stringifiable
>> j++-basic-processes-filtered-network-stream j++-basic-processes-filtered
>> j++-basic-processes-put-and-get j++-basic-processes-network-stream
>> j++-basic-processes-process warnings speechd-speak advice help-fns
>> speechd-brltty speechd-braille braille mmanager brltty speechd-ssip
>> speechd speechd-out speechd-common eieio-custom wid-edit eieio-base
>> cl-macs j++ eieio-compat eieio eieio-core cl-generic byte-opt bytecomp
>> byte-compile cl-extra seq cconv cl gv cl-loaddefs pcase cl-lib 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 cham georgian utf-8-lang misc-lang vietnamese
>> tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
>> czech european ethiopic indian cyrillic chinese 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 160369 16737)
>>  (symbols 48 25818 57)
>>  (miscs 40 271 226)
>>  (strings 32 32914 6239)
>>  (string-bytes 1 1076675)
>>  (vectors 16 20587)
>>  (vector-slots 8 541737 3136)
>>  (floats 8 702 175)
>>  (intervals 56 1216 153)
>>  (buffers 976 23)
>>  (heap 1024 44415 1130))
>> 
>> 
>> 

[-- Attachment #2: eieio-custom-0502.patch --]
[-- Type: Text/X-Patch, Size: 1820 bytes --]

--- eieio-custom.el.orig	2015-04-30 05:34:45.000000000 +0200
+++ eieio-custom.el	2015-05-02 07:39:13.000000000 +0200
@@ -261,13 +261,18 @@
                                              (or
                                               (eieio--class-slot-initarg
                                                (eieio--object-class obj)
-                                               (car slots))
-                                              (car slots)))))
+                                               ;; (car slots)
+					       (eieio-slot-descriptor-name slot)
+					       )
+                                              ;; (car slots)
+					      (eieio-slot-descriptor-name slot)
+					      ))))
                                      (capitalize
                                       (if (string-match "^:" s)
                                           (substring s (match-end 0))
                                         s)))))
-                              :value (slot-value obj (car slots))
+                              :value (slot-value obj ;; (car slots)
+						 (eieio-slot-descriptor-name slot))
                               :doc  (or (alist-get :documentation props)
                                         "Slot not Documented.")
                               :eieio-custom-visibility 'visible
@@ -297,6 +302,13 @@
       (let* ((slot (aref slots i))
              (props (cl--slot-descriptor-props slot))
              (cust (alist-get :custom props)))
+	;;
+	;; Shouldn't i be incremented unconditionnaly ? Or
+	;; better shouldn't we simply mapc on the slots vector
+	;; avoiding use of this integer variable ? PLN Sat May
+	;; 2 07:35:45 2015
+	;;
+	(setq i (+ i 1))
         (if (and cust
                  (or eieio-custom-ignore-eieio-co
                      (not master-group)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-02  5:50   ` Pierre Lorenzon
@ 2015-05-02  8:10     ` Pierre Lorenzon
  2015-05-05 18:49     ` Stefan Monnier
  1 sibling, 0 replies; 10+ messages in thread
From: Pierre Lorenzon @ 2015-05-02  8:10 UTC (permalink / raw)
  To: 20467; +Cc: zappo

[-- Attachment #1: Type: Text/Plain, Size: 20355 bytes --]


Hi,

Sorry Eric if you already got this bug report.

This last patch does not correct any error but suggests
alternative implementations for certan loops.


Pierre





From: Pierre Lorenzon <devel@pollock-nageoire.net>
Subject: bug#20467: 25.0.50; eieio-custom.el
Date: Sat, 02 May 2015 07:50:40 +0200 (CEST)

> From: Pierre Lorenzon <devel@pollock-nageoire.net>
> Subject: bug#20467: 25.0.50; eieio-custom.el
> Date: Thu, 30 Apr 2015 08:39:23 +0200 (CEST)
> 
>> OK :
>> 
>> 
>> From: devel@pollock-nageoire.net (Pierre L. Nageoire), Pierre Lorenzon <devel@pollock-nageoire.net>
>> Subject: bug#20467: 25.0.50; eieio-custom.el
>> Date: Thu, 30 Apr 2015 07:23:43 +0200 (CEST)
>> 
>>> 
>>> --text follows this line--
>>> 
>>> 
>>> eieio-custom.el line 264 : (car slots)
>>> 
>>> but due to recent changes in implementation variable slots is no longer
>>> a list but a vector. So `car' cannot be applied here that causes a wrong
>>> type argument error when trying to customize an object.
>> 
>>   Moreover slot itself is no longer a symbol but a structure
>>   whereas a symbol is needed at this code place.
>> 
>>   so : (eieio-slot-descriptor-name slot) must replace (car
>>   slots).
>> 
>>   There's a joined patch that fix this bug. But now there seems
>>   to be a bug in project saving to that I did not yet identify.
> 
>     In fact i detected an infinit loop in
>     `eieio-object-value-get' function due to not incrementing
>     the integer loop variable. A new patch corrects both
>     previous bug mentioned above and the latter.
> 
> 
>     Pierre
> 
> 
> 
> 
> 
> 
>> 
>>   Pierre
>> 
>>> 
>>> I can try to fix that if you want.
>>> 
>>> Pierre
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
>>>  of 2015-04-30 on jabberwocky
>>> Configured using:
>>>  `configure --prefix=/home/emacs'
>>> 
>>> Configured features:
>>> JPEG SOUND NOTIFY ZLIB
>>> 
>>> Important settings:
>>>   value of $LANG: C
>>>   locale-coding-system: nil
>>> 
>>> Major mode: Emacs-Lisp
>>> 
>>> Minor modes in effect:
>>>   global-ede-mode: t
>>>   ede-minor-mode: t
>>>   gpm-mouse-mode: t
>>>   global-speechd-speak-mode: t
>>>   speechd-speak-mode: t
>>>   global-speechd-speak-map-mode: t
>>>   speechd-speak-map-mode: t
>>>   tooltip-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
>>> 
>>> Recent messages:
>>> 27 (#o33, #x1b, ?\C-\[)
>>> [cl-struct-cl-slot-descriptor expanded nil boolean ((:documentation . "State of an object being expanded in speedbar."))]
>>> Entering debugger...
>>> Back to top level
>>> Entering debugger...
>>> Back to top level
>>> Line 264
>>> "Line 264"
>>> Making completion list... [2 times]
>>> line-move-visual: End of buffer
>>> 
>>> Load-path shadows:
>>> /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/test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/test
>>> /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++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
>>> /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++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
>>> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-network-stream hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-network-stream
>>> /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++-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++-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/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/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/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/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/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/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/efm/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/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/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++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
>>> /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/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/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/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/sound/ecasound/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/sound/festival/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/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
>>> 
>>> Features:
>>> (shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
>>> mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
>>> mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils find-func
>>> help-mode debug semantic/lex-spp semantic/util-modes semantic/util
>>> semantic semantic/tag semantic/lex semantic/fw mode-local ede/proj
>>> ede/make ede/proj-comp ede/autoconf-edit autoconf autoconf-mode pp
>>> cus-edit ede/custom cus-start cus-load ede/speedbar ede/files ede
>>> ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar sb-image
>>> ezimage image dframe cedet jka-compr misearch multi-isearch info
>>> tool-bar easymenu regexp-opt dired j++-packages-scmel-efm-parameters
>>> j++-packages-scmel-efm-connection t-mouse network-stream nsm auth-source
>>> gnus-util time-date mm-util mail-prsvr password-cache starttls tls
>>> j++-packages-scmel-efm-driver j++-packages-scmel-efm-efm
>>> j++-packages-scmel-monitor j++-basic-widgets-object
>>> j++-packages-scmel-scmel j++-basic-logger j++-basic-files-file
>>> j++-basic-files-serializable j++-basic-files-stringifiable
>>> j++-basic-processes-filtered-network-stream j++-basic-processes-filtered
>>> j++-basic-processes-put-and-get j++-basic-processes-network-stream
>>> j++-basic-processes-process warnings speechd-speak advice help-fns
>>> speechd-brltty speechd-braille braille mmanager brltty speechd-ssip
>>> speechd speechd-out speechd-common eieio-custom wid-edit eieio-base
>>> cl-macs j++ eieio-compat eieio eieio-core cl-generic byte-opt bytecomp
>>> byte-compile cl-extra seq cconv cl gv cl-loaddefs pcase cl-lib 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 cham georgian utf-8-lang misc-lang vietnamese
>>> tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
>>> czech european ethiopic indian cyrillic chinese 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 160369 16737)
>>>  (symbols 48 25818 57)
>>>  (miscs 40 271 226)
>>>  (strings 32 32914 6239)
>>>  (string-bytes 1 1076675)
>>>  (vectors 16 20587)
>>>  (vector-slots 8 541737 3136)
>>>  (floats 8 702 175)
>>>  (intervals 56 1216 153)
>>>  (buffers 976 23)
>>>  (heap 1024 44415 1130))
>>> 
>>> 
>>> 

[-- Attachment #2: eieio-custom-0502-01.patch --]
[-- Type: Text/X-Patch, Size: 9884 bytes --]

--- eieio-custom.el.orig	2015-04-30 05:34:45.000000000 +0200
+++ eieio-custom.el	2015-05-02 09:53:03.000000000 +0200
@@ -193,8 +193,13 @@
   (let* ((chil nil)
 	 (obj (widget-get widget :value))
 	 (master-group (widget-get widget :eieio-group))
-	 (cv (eieio--object-class obj))
-	 (slots (eieio--class-slots cv)))
+	 ;;
+	 ;; Not needed here if we implement loop with `mapc'
+	 ;; instead of `dotimes'. PLN Sat May  2 09:31:18 2015
+	 ;; 
+	 ;; (cv (eieio--object-class obj))
+	 ;; (slots (eieio--class-slots cv))
+	 )
     ;; First line describes the object, but may not editable.
     (if (widget-get widget :eieio-show-name)
 	(setq chil (cons (widget-create-child-and-convert
@@ -221,59 +226,80 @@
 	  (setq groups (cdr groups)))
 	(widget-insert "\n\n")))
     ;; Loop over all the slots, creating child widgets.
-    (dotimes (i (length slots))
-      (let* ((slot (aref slots i))
-             (props (cl--slot-descriptor-props slot)))
-        ;; Output this slot if it has a customize flag associated with it.
-        (when (and (alist-get :custom props)
-                   (or (not master-group)
-                       (member master-group (alist-get :group props)))
-                   (slot-boundp obj (cl--slot-descriptor-name slot)))
-          ;; In this case, this slot has a custom type.  Create its
-          ;; children widgets.
-          (let ((type (eieio-filter-slot-type widget (alist-get :custom props)))
-                (stuff nil))
-            ;; This next bit is an evil hack to get some EDE functions
-            ;; working the way I like.
-            (if (and (listp type)
-                     (setq stuff (member :slotofchoices type)))
-                (let ((choices (eieio-oref obj (car (cdr stuff))))
-                      (newtype nil))
-                  (while (not (eq (car type) :slotofchoices))
-                    (setq newtype (cons (car type) newtype)
-                          type (cdr type)))
-                  (while choices
-                    (setq newtype (cons (list 'const (car choices))
-                                        newtype)
-                          choices (cdr choices)))
-                  (setq type (nreverse newtype))))
-            (setq chil (cons (widget-create-child-and-convert
-                              widget 'object-slot
-                              :childtype type
-                              :sample-face 'eieio-custom-slot-tag-face
-                              :tag
-                              (concat
-                               (make-string
-                                (or (widget-get widget :indent) 0)
-                                ?\s)
-                               (or (alist-get :label props)
-                                   (let ((s (symbol-name
-                                             (or
-                                              (eieio--class-slot-initarg
-                                               (eieio--object-class obj)
-                                               (car slots))
-                                              (car slots)))))
-                                     (capitalize
-                                      (if (string-match "^:" s)
-                                          (substring s (match-end 0))
-                                        s)))))
-                              :value (slot-value obj (car slots))
-                              :doc  (or (alist-get :documentation props)
-                                        "Slot not Documented.")
-                              :eieio-custom-visibility 'visible
-                              )
-                             chil))
-            ))))
+    ;;
+    ;; Alternative implementation.
+    ;; 
+    ;; (dotimes (i (length slots))
+    ;;   (let* ((slot (aref slots i))
+    (mapc
+     (lambda (slot)
+       (let* ((sym (eieio-slot-descriptor-name slot))
+	      (props (cl--slot-descriptor-props slot)))
+	     ;; 
+	     ;; Output this slot if it has a customize
+	     ;; flag associated with it.
+	     ;; 
+	     (when (and (alist-get :custom props)
+			(or (not master-group)
+			    (member master-group
+				    (alist-get :group props)))
+			(slot-boundp obj sym))
+	       ;; 
+	       ;; In this case, this slot has a custom
+	       ;; type.  Create its children widgets.
+	       ;; 
+	       (let ((type (eieio-filter-slot-type widget (alist-get :custom props)))
+		     (stuff nil))
+		 ;; 
+		 ;; This next bit is an evil hack to get
+		 ;; some EDE functions working the way I
+		 ;; like.
+		 ;; 
+		 (if (and (listp type)
+			  (setq stuff (member :slotofchoices type)))
+		     (let ((choices (eieio-oref obj (car (cdr stuff))))
+			   (newtype nil))
+		       (while (not (eq (car type) :slotofchoices))
+			 (setq newtype (cons (car type) newtype)
+			       type (cdr type)))
+		       (while choices
+			 (setq newtype (cons (list 'const (car choices))
+					     newtype)
+			       choices (cdr choices)))
+		       (setq type (nreverse newtype))))
+		 (setq chil (cons (widget-create-child-and-convert
+				   widget 'object-slot
+				   :childtype type
+				   :sample-face 'eieio-custom-slot-tag-face
+				   :tag
+				   (concat
+				    (make-string
+				     (or (widget-get widget :indent) 0)
+				     ?\s)
+				    (or (alist-get :label props)
+					(let ((s (symbol-name
+						  (or
+						   (eieio--class-slot-initarg
+						    (eieio--object-class obj)
+						    sym
+						    )
+						   sym
+						   ))))
+					  (capitalize
+					   (if (string-match "^:" s)
+					       (substring s (match-end 0))
+					     s)))))
+				   :value (slot-value obj sym)
+				   :doc  (or (alist-get :documentation props)
+					     "Slot not Documented.")
+				   :eieio-custom-visibility 'visible
+				   )
+				  chil))
+		 ))))
+     (eieio--class-slots (eieio--object-class obj)))
+    ;;
+    ;; End Modified implementation.
+    ;; 
     (widget-put widget :children (nreverse chil))
     ))
 
@@ -287,27 +313,77 @@
 		 nil))
 	 (chil (if (widget-get widget :eieio-show-name)
 		   (nthcdr 1 wids) wids))
-	 (cv (eieio--object-class obj))
-         (i 0)
-	 (slots (eieio--class-slots cv)))
-    ;; If there are any prefix widgets, clear them.
-    ;; -- None yet
-    ;; Create a batch of initargs for each slot.
-    (while (and (< i (length slots)) chil)
-      (let* ((slot (aref slots i))
-             (props (cl--slot-descriptor-props slot))
-             (cust (alist-get :custom props)))
-        (if (and cust
-                 (or eieio-custom-ignore-eieio-co
-                     (not master-group)
-                     (member master-group (alist-get :group props)))
-	       (slot-boundp obj (cl--slot-descriptor-name slot)))
-            (progn
-              ;; Only customized slots have widgets
-              (let ((eieio-custom-ignore-eieio-co t))
-                (eieio-oset obj (cl--slot-descriptor-name slot)
-                            (car (widget-apply (car chil) :value-inline))))
-              (setq chil (cdr chil))))))
+	 )
+    ;;
+    ;; Not clear that impomentation is more efficient. In fact
+    ;; if customizable slots are concentrated at the beginning
+    ;; of the slot list, previous loop will break earlier due
+    ;; to chil becoming nul. Mor over if there are much more
+    ;; slots than customizable slots, mapc will run over many
+    ;; unuseful slots. PLN Sat May 2 08:10:23 2015
+    ;;
+    ;; Alternative loop implementation
+    (mapc (lambda (slot)
+	    (when chil
+	      ;;
+	      ;; If there are no more children there is no need
+	      ;; to do anything..
+	      ;; 
+	      (let* ((sym
+		      ;; Is it better to use
+		      ;; `eieio-slot-descriptor-name' here or
+		      ;; `cl--slot-descriptor-name' ?
+		      ;;
+		      (eieio-slot-descriptor-name slot))
+		     (props (cl--slot-descriptor-props slot))
+		     (cust (alist-get :custom props))
+		     )
+		(when (and cust
+			   (or eieio-custom-ignore-eieio-co
+			       (not master-group)
+			       (member master-group (alist-get :group props)))
+			   (slot-boundp obj sym))
+		  ;; 
+		  ;; Only customized slots have widgets
+		  ;; 
+		  (let ((eieio-custom-ignore-eieio-co t))
+		    (eieio-oset obj sym
+				(car (widget-apply (car chil)
+						   :value-inline))))
+		  (setq chil (cdr chil)))
+		)))
+	  (eieio--class-slots (eieio--object-class obj)))
+    ;; End Alternative loop implementation
+    ;; 
+    ;; 
+    ;; 	 (cv (eieio--object-class obj))
+    ;;      (i 0)
+    ;; 	 (slots (eieio--class-slots cv)))
+    ;; ;; If there are any prefix widgets, clear them.
+    ;; ;; -- None yet
+    ;; ;; Create a batch of initargs for each slot.
+    ;; (while (and (< i (length slots)) chil)
+    ;;   (let* ((slot (aref slots i))
+    ;;          (props (cl--slot-descriptor-props slot))
+    ;;          (cust (alist-get :custom props)))
+    ;; 	;;
+    ;; 	;; Shouldn't i be incremented unconditionnaly ? Or
+    ;; 	;; better shouldn't we simply mapc on the slots vector
+    ;; 	;; avoiding use of this integer variable ? PLN Sat May
+    ;; 	;; 2 07:35:45 2015
+    ;; 	;;
+    ;; 	(setq i (+ i 1))
+    ;;     (if (and cust
+    ;;              (or eieio-custom-ignore-eieio-co
+    ;;                  (not master-group)
+    ;;                  (member master-group (alist-get :group props)))
+    ;; 	       (slot-boundp obj (cl--slot-descriptor-name slot)))
+    ;;         (progn
+    ;;           ;; Only customized slots have widgets
+    ;;           (let ((eieio-custom-ignore-eieio-co t))
+    ;;             (eieio-oset obj (cl--slot-descriptor-name slot)
+    ;;                         (car (widget-apply (car chil) :value-inline))))
+    ;;           (setq chil (cdr chil))))))
     ;; Set any name updates on it.
     (if name (eieio-object-set-name-string obj name))
     ;; This is the same object we had before.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-02  5:50   ` Pierre Lorenzon
  2015-05-02  8:10     ` Pierre Lorenzon
@ 2015-05-05 18:49     ` Stefan Monnier
  2015-05-06  3:48       ` Pierre Lorenzon
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2015-05-05 18:49 UTC (permalink / raw)
  To: Pierre Lorenzon; +Cc: 20467

>     the integer loop variable. A new patch corrects both
>     previous bug mentioned above and the latter.

Thanks, installed.  Could you include some recipe to reproduce the
problem, tho?  I sadly have no idea how to trigger this code.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-05 18:49     ` Stefan Monnier
@ 2015-05-06  3:48       ` Pierre Lorenzon
  2015-05-06  4:32         ` Stefan Monnier
  0 siblings, 1 reply; 10+ messages in thread
From: Pierre Lorenzon @ 2015-05-06  3:48 UTC (permalink / raw)
  To: monnier; +Cc: 20467

From: Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: bug#20467: 25.0.50; eieio-custom.el
Date: Tue, 05 May 2015 14:49:00 -0400

>>     the integer loop variable. A new patch corrects both
>>     previous bug mentioned above and the latter.
> 
> Thanks, installed.  Could you include some recipe to reproduce the
> problem, tho?  I sadly have no idea how to trigger this code.

  this code is triggered when customizing an eieio object and
  then when trying to recover object from the widget used to
  customize it. Typically when doing `ede-customize-project'
  from a file controlled by ede and then clicking on the
  [Accept] button in the customization buffer.


  Regards

  Pierre




> 
> 
>         Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-06  3:48       ` Pierre Lorenzon
@ 2015-05-06  4:32         ` Stefan Monnier
  2015-05-06  6:48           ` Pierre Lorenzon
  0 siblings, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2015-05-06  4:32 UTC (permalink / raw)
  To: Pierre Lorenzon; +Cc: 20467

>   this code is triggered when customizing an eieio object and

I don't know what "customizing an eieio object" looks like.

>   then when trying to recover object from the widget used to
>   customize it.

That similarly describes actions with which I'm not familiar.

>   Typically when doing `ede-customize-project'
>   from a file controlled by ede

I never used EDE and have no idea how to recognize a "file controlled by ede".
But if you tell me how to get to such a thing, I think I should be able
to then go on and figure out the ede-customize-project part.


        Stefan





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-06  4:32         ` Stefan Monnier
@ 2015-05-06  6:48           ` Pierre Lorenzon
  2016-07-29  0:55             ` npostavs
  0 siblings, 1 reply; 10+ messages in thread
From: Pierre Lorenzon @ 2015-05-06  6:48 UTC (permalink / raw)
  To: monnier; +Cc: 20467


Hi Stefan,

In fact I think that eieio object customization is now
debugged. This is all the code contained in the eieio-custom.el
file.


From: Stefan Monnier <monnier@iro.umontreal.ca>
Subject: Re: bug#20467: 25.0.50; eieio-custom.el
Date: Wed, 06 May 2015 00:32:15 -0400

>>   this code is triggered when customizing an eieio object and
> 
> I don't know what "customizing an eieio object" looks like.

  A buffer containing a button clik interface that allow you to
  assign values to certain slot of an object. In fact slots
  that are customizable i.e. the ones that have a :custom tag
  in their declaration. There's a method called
  `eieio-customize-object' that is available for any object but
  that can be reimplemented for subclasses. If obj is an object
  obtained by instantiating a class one may call :
  (eieio-customize-object obj).




> 
>>   then when trying to recover object from the widget used to
>>   customize it.
> 
> That similarly describes actions with which I'm not familiar.

  OK : once you got the customizing buffer for any object
  there's a button [Accept] that you can clik to record the
  changes you made.




> 
>>   Typically when doing `ede-customize-project'
>>   from a file controlled by ede
> 
> I never used EDE and have no idea how to recognize a "file controlled by ede".

  You might have a look at the ede documentation to understand
  how a project can be controlled by ede. But anyway if you do
  not have time/motivation to do that don't worry. I am very
  familiar with that whole stuff and can check if it works or
  not.

  In particular section 3 (quicj start) of ede manual should
  work. It is described step by step how to initiate a project
  controlled by ede. This should at least work. But I'll test
  that and telle you if I encounter bugs and provide patches if
  possible.



> But if you tell me how to get to such a thing, I think I should be able
> to then go on and figure out the ede-customize-project part.
> 
> 
>         Stefan


	  Pierre 





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2015-05-06  6:48           ` Pierre Lorenzon
@ 2016-07-29  0:55             ` npostavs
  2018-09-17  0:45               ` Noam Postavsky
  0 siblings, 1 reply; 10+ messages in thread
From: npostavs @ 2016-07-29  0:55 UTC (permalink / raw)
  To: Pierre Lorenzon; +Cc: 20467, monnier

Pierre Lorenzon <devel@pollock-nageoire.net> writes:

> In fact I think that eieio object customization is now
> debugged.

Does that mean this is fixed?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#20467: 25.0.50; eieio-custom.el
  2016-07-29  0:55             ` npostavs
@ 2018-09-17  0:45               ` Noam Postavsky
  0 siblings, 0 replies; 10+ messages in thread
From: Noam Postavsky @ 2018-09-17  0:45 UTC (permalink / raw)
  To: 20467; +Cc: monnier

tags 20467 fixed
close 20467 25.1
quit

npostavs@users.sourceforge.net writes:

> Pierre Lorenzon <devel@pollock-nageoire.net> writes:
>
>> In fact I think that eieio object customization is now
>> debugged.
>
> Does that mean this is fixed?

I'll assume yes.

[1: ad9e659b30]: 2015-05-05 14:47:58 -0400
  * eieio-custom.el (eieio-object-value-get): Add missing increment
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ad9e659b30545e9476c2166fed469d7a03b2f554





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-09-17  0:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-30  5:23 bug#20467: 25.0.50; eieio-custom.el Pierre L. Nageoire, Pierre Lorenzon
2015-04-30  6:39 ` Pierre Lorenzon
2015-05-02  5:50   ` Pierre Lorenzon
2015-05-02  8:10     ` Pierre Lorenzon
2015-05-05 18:49     ` Stefan Monnier
2015-05-06  3:48       ` Pierre Lorenzon
2015-05-06  4:32         ` Stefan Monnier
2015-05-06  6:48           ` Pierre Lorenzon
2016-07-29  0:55             ` npostavs
2018-09-17  0:45               ` Noam Postavsky

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).