diff options
| author | Stefan Monnier | 2015-01-26 09:04:55 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2015-01-26 09:04:55 -0500 |
| commit | 4cdde9196fb4fafb00b0c51b908fd605274147bd (patch) | |
| tree | 34b825a588203225f126027cff47f95772af2a28 /test | |
| parent | 242354a23acf214ad06d4e3e7e5f5580c8b21d4a (diff) | |
| download | emacs-4cdde9196fb4fafb00b0c51b908fd605274147bd.tar.gz emacs-4cdde9196fb4fafb00b0c51b908fd605274147bd.zip | |
* lisp/emacs-lisp/cl-generic.el: Add a method-combination hook.
(cl-generic-method-combination-function): New var.
(cl--generic-lambda): Remove `with-cnm' arg.
(cl-defmethod): Change accordingly.
(cl-generic-define-method): Don't check qualifiers validity.
Preserve all qualifiers in `method-table'.
(cl-generic-call-method): New function.
(cl--generic-nest): Remove (morph into cl-generic-call-method).
(cl--generic-build-combined-method): Adjust to new format of method-table
and use cl-generic-method-combination-function.
(cl--generic-standard-method-combination): New function, extracted from
cl--generic-build-combined-method.
(cl--generic-cnm-sample): Adjust to new format of method-table.
* lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Use () qualifiers
instead of :primary.
* lisp/emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke):
Remove obsolete function.
* test/automated/cl-generic-tests.el (cl-generic-test-11-next-method-p):
New test.
Diffstat (limited to 'test')
| -rw-r--r-- | test/ChangeLog | 5 | ||||
| -rw-r--r-- | test/automated/cl-generic-tests.el | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index d8cd36790f2..9a31da45416 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2015-01-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * automated/cl-generic-tests.el (cl-generic-test-11-next-method-p): | ||
| 4 | New test. | ||
| 5 | |||
| 1 | 2015-01-25 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2015-01-25 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | * indent/shell.sh (bar): Use '[ $# -eq 0 ]', not '[ $# == 0 ]'. | 8 | * indent/shell.sh (bar): Use '[ $# -eq 0 ]', not '[ $# == 0 ]'. |
diff --git a/test/automated/cl-generic-tests.el b/test/automated/cl-generic-tests.el index bc9a1ece423..5b3a9fdc2a1 100644 --- a/test/automated/cl-generic-tests.el +++ b/test/automated/cl-generic-tests.el | |||
| @@ -171,5 +171,13 @@ | |||
| 171 | (should (equal (cl--generic-1 'a 'b) '(a b))) | 171 | (should (equal (cl--generic-1 'a 'b) '(a b))) |
| 172 | (should (equal (cl--generic-1 1 2) '("integer" 2 1)))) | 172 | (should (equal (cl--generic-1 1 2) '("integer" 2 1)))) |
| 173 | 173 | ||
| 174 | (ert-deftest cl-generic-test-11-next-method-p () | ||
| 175 | (cl-defgeneric cl--generic-1 (x y)) | ||
| 176 | (cl-defmethod cl--generic-1 ((x t) y) | ||
| 177 | (list x y (cl-next-method-p))) | ||
| 178 | (cl-defmethod cl--generic-1 ((_x (eql 4)) _y) | ||
| 179 | (cl-list* "quatre" (cl-next-method-p) (cl-call-next-method))) | ||
| 180 | (should (equal (cl--generic-1 4 5) '("quatre" t 4 5 nil)))) | ||
| 181 | |||
| 174 | (provide 'cl-generic-tests) | 182 | (provide 'cl-generic-tests) |
| 175 | ;;; cl-generic-tests.el ends here | 183 | ;;; cl-generic-tests.el ends here |