emacs/lisp/emacs-lisp
Stefan Monnier 59e7fe6d0c * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility
Fixes: debbugs:19645

* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add support for `declare'.
(cl--generic-setf-rewrite): Setup the setf expander right away.
(cl-defmethod): Make sure the setf expander is setup before we expand
the body.
(cl-defmethod): Silence byte-compiler warnings.
(cl-generic-define-method): Shuffle code to change return value.
(cl--generic-method-info): New function, extracted from
cl--generic-describe.
(cl--generic-describe): Use it.

* lisp/emacs-lisp/eieio-speedbar.el:
* lisp/emacs-lisp/eieio-datadebug.el:
* lisp/emacs-lisp/eieio-custom.el:
* lisp/emacs-lisp/eieio-base.el: Use cl-defmethod.

* lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Avoid no-next-method
errors when there's a `before' but no `primary'.
(next-method-p): Return nil rather than signal an error.
(eieio-defgeneric): Remove bogus (fboundp 'method).

* lisp/emacs-lisp/eieio-opt.el: Adapt to cl-generic.
(eieio--specializers-apply-to-class-p):	New function.
(eieio-all-generic-functions): Use it.
(eieio-method-documentation): Use it as well as cl--generic-method-info.
Change format of return value.
(eieio-help-class): Adapt accordingly.

* lisp/emacs-lisp/eieio.el: Use cl-defmethod.
(defclass): Generate cl-defmethod calls; use setf methods for :accessor.
(eieio-object-name-string): Declare as obsolete.

* test/automated/cl-generic-tests.el (setf cl--generic-2): Make sure
the setf can be used already in the body of the method.
2015-01-21 14:39:06 -05:00
..
advice.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
autoload.el Less 'make' chatter in batch mode 2015-01-03 18:29:23 -08:00
avl-tree.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
backquote.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
benchmark.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
bindat.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
byte-opt.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
byte-run.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
bytecomp.el lisp/emacs-lisp/eieio*.el: Rewrite our generics on top of cl-generic 2015-01-20 15:40:29 -05:00
cconv.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
chart.el Shrink EIEIO object header. Move generics to eieio-generic.el. 2015-01-08 16:03:04 -05:00
check-declare.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
checkdoc.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
cl-extra.el Fix seq-subseq and cl-subseq for bad bounding indices 2015-01-18 14:04:31 +08:00
cl-generic.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
cl-indent.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
cl-lib.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
cl-macs.el * lisp/emacs-lisp/cl-macs.el: Fix last change. 2015-01-16 17:49:00 -05:00
cl-seq.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
cl.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
copyright.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
crm.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
debug.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
derived.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
disass.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
easy-mmode.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
easymenu.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
edebug.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
eieio-base.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio-compat.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio-core.el Auto-commit of loaddefs files. 2015-01-21 06:20:15 -05:00
eieio-custom.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio-datadebug.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio-opt.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio-speedbar.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eieio.el * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibility 2015-01-21 14:39:06 -05:00
eldoc.el eldoc: modify eldoc-documentation-function' using add-function' 2015-01-20 15:04:15 +01:00
elint.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
elp.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
ert-x.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
ert.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
ewoc.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
find-func.el Improve handling of doc-strings and describe-function for cl-generic 2015-01-16 22:52:15 -05:00
float-sup.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
generic.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
gv.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
helper.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
inline.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
lisp-mnt.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
lisp-mode.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
lisp.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
macroexp.el lisp/emacs-lisp/eieio*.el: Rewrite our generics on top of cl-generic 2015-01-20 15:40:29 -05:00
map-ynp.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
nadvice.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
package-x.el emacs-lisp/package.el and package-x.el: References to package-desc-kind 2015-01-16 22:21:12 -02:00
package.el emacs-lisp/package.el (package-dir-info): Fix `while' logic. 2015-01-20 22:21:23 -02:00
pcase.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
pp.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
re-builder.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
regexp-opt.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
regi.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
ring.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
rx.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
seq.el Fix seq-subseq and cl-subseq for bad bounding indices 2015-01-18 14:04:31 +08:00
shadow.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
smie.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
subr-x.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
syntax.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
tabulated-list.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
tcover-ses.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
tcover-unsafep.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
testcover.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
timer.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
tq.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
trace.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
unsafep.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00
warnings.el Update copyright year to 2015 2015-01-01 14:26:41 -08:00