Function: majutsu-template--register-function
majutsu-template--register-function is a natively compiled function
defined in majutsu-template.el.
Signature
(majutsu-template--register-function META)
Documentation
Register custom function described by META (a majutsu-template--fn).
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--register-function (meta)
"Register custom function described by META (a `majutsu-template--fn')."
(let* ((name (majutsu-template--fn-name meta))
(fn-symbol (majutsu-template--fn-symbol meta))
(owner (majutsu-template--fn-owner meta))
(keyword-flag (majutsu-template--fn-keyword meta))
(sym (intern name))
(keyword (intern (concat ":" name)))
(pre-existing (gethash name majutsu-template--function-registry)))
(if owner
(progn
(unless (majutsu-template--lookup-type
(majutsu-template--type-ref-base-type owner))
(message "majutsu-template: warning – declaring %s for unknown type %S"
name owner))
(when keyword-flag
;; keywords are 0-argument methods; ensure signature reflects it
(let ((args (majutsu-template--fn-args meta)))
(when (> (length args) 1)
(message "majutsu-template: keyword %s on %S declares more than self argument"
name owner))))
(puthash (cons (majutsu-template--type-ref-dispatch-kind owner) name)
meta
majutsu-template--method-registry))
(when pre-existing
(message "majutsu-template: redefining template helper %s" name))
(puthash name meta majutsu-template--function-registry)
(puthash sym name majutsu-template--function-name-map)
(puthash keyword name majutsu-template--function-name-map))
fn-symbol))