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