Function: majutsu-template--sugar-apply
majutsu-template--sugar-apply is a natively compiled function defined
in majutsu-template.el.
Signature
(majutsu-template--sugar-apply OP ARGS)
Documentation
Dispatch helper applying OP to ARGS within sugar transformation.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--sugar-apply (op args)
"Dispatch helper applying OP to ARGS within sugar transformation."
(let ((special (majutsu-template--expand-special op args)))
(if (not (eq special majutsu-template--no-special-expansion))
(majutsu-template--rewrite special)
(let* ((normalized (majutsu-template--operator-symbol op))
(meta (or (majutsu-template--lookup-function-meta op)
(majutsu-template--lookup-function-meta normalized)))
(self-binding (majutsu-template--current-self)))
(cond
(meta
(apply (majutsu-template--fn-symbol meta)
(mapcar #'majutsu-template--sugar-transform args)))
((majutsu-template--maybe-self-dispatch op args))
((and (keywordp op)
self-binding
(majutsu-template--self-binding-node self-binding)
(null (majutsu-template--self-binding-type self-binding))
(not (majutsu-template--node-has-deferred-type-p
(majutsu-template--self-binding-node self-binding))))
(user-error
"majutsu-template: keyword %s requires a typed receiver; use an explicit :method form or provide a concrete self type"
(majutsu-template--symbol->template-name op)))
(t
(user-error "majutsu-template: unknown operator %S" op)))))))