EIEIO&cl-generic: Add obsolescence warnings and fix corner case
commit2a61bd0096db23123734db439051c859e42b9606
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 Jan 2015 17:24:43 +0000 (18 12:24 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 18 Jan 2015 17:24:43 +0000 (18 12:24 -0500)
tree95bf8383ee904cf723e57d1560f86fc551fb139b
parent8ab85ee7ce9ad101583620e7ba3bee39cf3491ae
EIEIO&cl-generic: Add obsolescence warnings and fix corner case

* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Correctly handle
introduction of a new dispatch argument.
(cl--generic-cache-miss): Handle dispatch on an argument which was not
considered as dispatchable for this method.
(cl-defmethod): Warn when adding a method to an obsolete generic function.
(cl--generic-lambda): Make sure it works if cl-lib is not yet loaded.

* lisp/emacs-lisp/eieio-generic.el (eieio--defgeneric-init-form):
Use autoloadp.

* lisp/emacs-lisp/eieio.el (defclass): Add obsolescence warning for the
`newname' argument.

* test/automated/cl-generic-tests.el (cl-generic-test-10-weird): New test.
Rename other tests to preserve ordering.
etc/NEWS
lisp/ChangeLog
lisp/emacs-lisp/cl-generic.el
lisp/emacs-lisp/eieio-generic.el
lisp/emacs-lisp/eieio.el
test/ChangeLog
test/automated/cl-generic-tests.el