* lisp/emacs-lisp/fcr.el (fcr-lambda): Rename from `fcr-make`.
* lisp/emacs-lisp/cl-generic.el (cl-generic-call-method):
* test/lisp/emacs-lisp/fcr-tests.el (fcr-tests):
* lisp/kmacro.el (kmacro-lambda-form): Adjust accordingly.
(if fun
(lambda (&rest cnm-args)
(apply fun (or cnm-args args)))
- (fcr-make cl--generic-nnm () (&rest cnm-args)
+ (fcr-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 fcr-make (type fields args &rest body)
+(defmacro fcr-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.
- (fcr-make kmacro-function ((mac (if counter (list mac counter format) mac)))
- (&optional arg)
+ (fcr-lambda kmacro-function ((mac (if counter (list mac counter format) mac)))
+ (&optional arg)
(interactive "p")
(kmacro-exec-ring-item mac arg)))
(ert-deftest fcr-tests ()
(let* ((i 42)
- (fcr1 (fcr-make fcr-test ((fst 1) (snd 2) (name "hi"))
- ()
- (list fst snd i)))
- (fcr2 (fcr-make fcr-test ((name (cl-incf i)) (fst (cl-incf i)))
- ()
- (list fst snd 152 i))))
+ (fcr1 (fcr-lambda fcr-test ((fst 1) (snd 2) (name "hi"))
+ ()
+ (list fst snd i)))
+ (fcr2 (fcr-lambda fcr-test ((name (cl-incf i)) (fst (cl-incf i)))
+ ()
+ (list fst snd 152 i))))
(message "hello-1")
(should (equal (list (fcr-test--fst fcr1)
(fcr-test--snd fcr1)