Subject: bug#20801: 25.0.50; (apply 'cl-call-next-method does not work

From: Pierre Lorenzon <[email-masked]>
Date: Sat, 13 Jun 2015 14:53:06 +0200 (CEST)

After investigating the code I noticed that cl-call-next-method
is locally defined by a cl-flet macro. I suspect that it
vanishes inside apply but I cannot understand why since I am
not familiar enough with the c-code of apply. Reading this code
I noticed that certain macros are called that might make the
cl-flet binding vanish but I cannot be sure.

Anyway it is a problem that cl-call-next-method cannot be
called through an apply in particular if there is a variable
number of arguments as allowed by the &rest keyword.

Notice that the eieio implementation of call-next-method was
able to be launched by an apply call. It is clear to me that
the implementation was completely different ... But anyway is
it a good idea to prohibit use of (apply '-cl-call-next-method
?

Regards
Pierre
From: Pierre Lorenzon <[email-masked]>
Subject: bug#20801: 25.0.50; (apply 'cl-call-next-method does not work
Date: Sat, 13 Jun 2015 08:44:07 +0200 (CEST)

> 
> Following code produces
> ``call-next-method: cl-call-next-method only allowed inside primary and
> around methods''
> 
> probably due to use of `apply'. But in my opinion it should not !
> 
>>>>  -- Code 
> 
> (defclass mother () ())
> 
> (defclass daughter1 (mother) ())
> 
> (cl-defmethod say ((this mother)
> 		&optional fmt &rest arguments)
>   (apply 'message
> 	 (cons (or fmt "") arguments)))
> 
> (setq m (make-instance 'mother))
> 
> (say m "hello world")
> 
> (cl-defmethod say ((this daughter1)
> 		   &optional fmt &rest arguments)
>   (apply 'call-next-method
> 	 (cons this
> 	       (cons fmt arguments))))
> 
> (setq d1 (make-instance 'daughter1))
> 
> (say d1 "good bye")
> 
> 
>>>>  -- End Code
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu)
>  of 2015-05-19 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:
>   gpm-mouse-mode: t
>   global-speechd-speak-mode: t
>   speechd-speak-mode: t
>   global-speechd-speak-map-mode: t
>   speechd-speak-map-mode: t
>   global-ede-mode: t
>   ede-minor-mode: t
>   desktop-save-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:
> "hello world"
> Auto-saving...done
> say
> [eieio-class-tag--daughter1]
> call-next-method: cl-call-next-method only allowed inside primary and around methods
> Auto-saving...
> call-next-method: cl-call-next-method only allowed inside primary and around methods
> Mark set
> line-move-visual: End of buffer [2 times]
> Making completion list...
> 
> Load-path shadows:
> /home/emacs/share/emacs/site-lisp/edext/latex/regexp hides /home/emacs/share/emacs/site-lisp/edext/utils/regexp
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-pointed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/lists/j++-pointed
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/j++-interface hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/misc/j++-interface
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-synchronized hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-synchronized
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-timed hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-timed
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-file
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/j++-test hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-test
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-target hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/j++-target
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-process hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-process
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-asynchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-asynchronous
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-synchronous hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/interfaces/processes/j++-synchronous
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-filtered hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-filtered
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/j++-buffer hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/processes/network/j++-buffer
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-linked hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-linked
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/widgets/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-discid
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-author hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-author
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/j++-discid hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-discid
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-piece
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/j++-project hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-project
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-performer hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/projects/j++-performer
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-person hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-person
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-flaggable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-flaggable
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/files/j++-file hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-file
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/graphs/j++-element hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/spreadsheet/j++-element
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/items/j++-latex hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/databases/user/j++-latex
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-driver
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-client
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-bar-title hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-bar-title
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-connection hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-connection
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/j++-driver hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-driver
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/efm/j++-parameters hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-parameters
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/alsa/j++-client hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/j++-client
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-mark hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-mark
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-piece hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/mixers/j++-piece
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/b/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/div/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/font/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/a/j++-name hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/meta/j++-name
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/j++-style hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/span/j++-style
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/body/j++-bgcolor hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/attributes/td/j++-bgcolor
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/template/j++-text
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/trees/j++-node hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-node
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-text hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-text
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/html/nodes/j++-root hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/project/latex/tree/j++-root
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-input
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chainsetup
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/cdrom/components/j++-item hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-item
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-highpass hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-highpass
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-variable hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-variable
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-run-group hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-run-group
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-start-and-stop hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-start-and-stop
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-record-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-container hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-container
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-play-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/interfaces/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-amplify hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-amplify
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-incdec hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-incdec
> /home/emacs/share/emacs/site-lisp/jabberwocky/basic/widgets/j++-object hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-object
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-control hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-control
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-input hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-input
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chainsetup hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chainsetup
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-play
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-chain hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-chain
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/j++-output hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-output
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/ecasound/j++-position hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/objects/j++-position
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-preset hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-preset
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-play hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-play
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/scmel/eca/objects/j++-record hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/sound/festival/presets/j++-record
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/boot
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cblfs
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tools
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/tests
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/boot hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/boot
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/cblfs hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cblfs
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tools hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tools
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/grub hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/grub
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.2.0/tests hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/tests
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/bash hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/bash
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.10 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.10
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.25 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.25
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/eglibc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/eglibc
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.53 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.53
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/10.04 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/10.04
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/gcc hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/gcc
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/05 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/05
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/cross hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/cross
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/07 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/07
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/06 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/06
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/1.0.0/data hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/data
> /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/2.1.0/09 hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/clfs/data/development/09
> /home/emacs/share/emacs/site-lisp/edext/utils/list hides /home/emacs/share/emacs/site-lisp/jabberwocky/packages/generator/lfs/scripts/chapter05/list
> /home/emacs/share/emacs/site-lisp/edext/latex/replace hides /home/emacs/share/emacs/25.0.50/lisp/replace
> 
> Features:
> (shadow sort 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 help-mode
> debug j++-packages-scmel-eca-objects-control
> j++-packages-scmel-eca-objects-start-and-stop
> j++-packages-scmel-eca-objects-container
> j++-packages-scmel-eca-objects-session
> j++-packages-scmel-eca-objects-object j++-packages-scmel-object
> j++-basic-comparable j++-packages-scmel-eca-driver
> j++-packages-scmel-eca-eca j++-basic-validable
> j++-packages-scmel-results j++-packages-scmel-output t-mouse sh-script
> smie executable regexp-opt ede/dired vc-dir ewoc semantic/lex-spp
> j++-packages-scmel-efm-parameters j++-packages-scmel-efm-connection
> network-stream nsm auth-source gnus-util mm-util mail-prsvr
> password-cache starttls tls j++-packages-scmel-efm-driver
> j++-packages-scmel-efm-efm j++-packages-scmel-monitor
> j++-packages-scmel-scmel j++-basic-processes-network-filtered
> j++-basic-processes-filtered j++-basic-processes-put-and-get
> j++-basic-processes-network-stream j++-basic-processes-process
> speechd-speak advice speechd-brltty speechd-braille braille mmanager
> brltty speechd-ssip speechd speechd-out eieio-compat speechd-common
> j++-packages-subsystems-descriptor j++-packages-subsystems-class
> j++-packages-databases-items-item j++-basic-mastered
> j++-basic-widgets-open-close-title j++-basic-widgets-open-close
> jka-compr j++-packages-databases-actions j++-basic-widgets-bar
> j++-packages-subsystems-subsystems j++-packages-databases-database
> j++-basic-logger j++-basic-lists-pointed j++-basic-creator
> j++-basic-lists-list j++-basic-mapable j++-basic-sortable
> j++-basic-widgets-object-title j++-packages-subsystems-subsystem
> j++-basic-state j++-basic-interfaces-interface j++-basic-files-file
> j++-basic-files-serializable j++-basic-files-stringifiable
> j++-basic-widgets-object help-fns time-date warnings edext-srecode
> semantic/edit srecode/srt-mode semantic/analyze semantic/sort
> semantic/scope semantic/analyze/fcn semantic/db semantic/format
> srecode/template srecode/srt-wy semantic/wisent semantic/wisent/wisent
> semantic/ctxt edext-vc vc-svn vc vc-dispatcher edext-utils dired edext
> srecode/insert srecode/filters srecode/args srecode/find srecode/map
> srecode/ctxt semantic/tag-ls semantic/find srecode/compile
> srecode/dictionary srecode/table srecode semantic/util-modes
> semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
> ede/proj-elisp ede/pconf ede/pmake ede/proj-obj ede/proj ede/make
> ede/proj-comp ede/autoconf-edit autoconf autoconf-mode ede/speedbar
> ede/files ede ede/detect ede/base ede/auto ede/source eieio-base
> eieio-speedbar speedbar sb-image ezimage image dframe eieio-custom
> cl-macs cl-seq wid-edit cedet j++ eieio byte-opt bytecomp byte-compile
> cl-extra seq cconv eieio-core cl gv desktop frameset cl-loaddefs pcase
> cl-lib cus-start cus-load finder-inf info tool-bar easymenu tex-site
> package epg-config disp-table mule-util tooltip eldoc electric uniquify
> ediff-hook vc-hooks lisp-float-type tabulated-list newcomment elisp-mode
> lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
> mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese 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 200753 22914)
>  (symbols 48 29279 76)
>  (miscs 40 443 169)
>  (strings 32 44384 5929)
>  (string-bytes 1 2379943)
>  (vectors 16 28966)
>  (vector-slots 8 731625 3330)
>  (floats 8 1383 226)
>  (intervals 56 1999 815)
>  (buffers 976 55)
>  (heap 1024 30575 1322))
> 
> 
>