* lisp/emacs-lisp/oclosure.el (oclosure-lambda): Rename from `oclosure-make`.
* lisp/emacs-lisp/cl-generic.el (cl-generic-call-method):
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-tests):
* lisp/kmacro.el (kmacro-lambda-form): Adjust accordingly.
(if fun
(lambda (&rest cnm-args)
(apply fun (or cnm-args args)))
- (oclosure-make cl--generic-nnm () (&rest cnm-args)
+ (oclosure-lambda cl--generic-nnm () (&rest cnm-args)
(apply #'cl-no-next-method generic method
(or cnm-args args))))
args)))))
(defalias predname pred)
(put name 'cl-deftype-handler (lambda () type))))
-(defmacro oclosure-make (type fields args &rest body)
+(defmacro oclosure-lambda (type fields args &rest body)
(declare (indent 3) (debug (sexp (&rest (sexp form)) sexp def-body)))
;; FIXME: Provide the fields in the order specified by `type'.
(let* ((class (cl--find-class type))
;; or only `mac' is provided, as a list (MAC COUNTER FORMAT).
;; The first is used from `insert-kbd-macro' and `edmacro-finish-edit',
;; while the second is used from within this file.
- (oclosure-make kmacro-function ((mac (if counter (list mac counter format) mac)))
- (&optional arg)
+ (oclosure-lambda kmacro-function ((mac (if counter (list mac counter format) mac)))
+ (&optional arg)
(interactive "p")
(kmacro-exec-ring-item mac arg)))
(ert-deftest oclosure-tests ()
(let* ((i 42)
- (ocl1 (oclosure-make oclosure-test ((fst 1) (snd 2) (name "hi"))
- ()
- (list fst snd i)))
- (ocl2 (oclosure-make oclosure-test ((name (cl-incf i)) (fst (cl-incf i)))
- ()
- (list fst snd 152 i))))
+ (ocl1 (oclosure-lambda oclosure-test ((fst 1) (snd 2) (name "hi"))
+ ()
+ (list fst snd i)))
+ (ocl2 (oclosure-lambda oclosure-test ((name (cl-incf i)) (fst (cl-incf i)))
+ ()
+ (list fst snd 152 i))))
(message "hello-1")
(should (equal (list (oclosure-test--fst ocl1)
(oclosure-test--snd ocl1)