Function: majutsu-template--substitute-var
majutsu-template--substitute-var is a natively compiled function
defined in majutsu-template.el.
Signature
(majutsu-template--substitute-var NODE NAME REPLACEMENT)
Documentation
Replace lexical variable NAME in NODE with REPLACEMENT node.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--substitute-var (node name replacement)
"Replace lexical variable NAME in NODE with REPLACEMENT node."
(pcase (majutsu-template-node-kind node)
(:var
(if (eq (majutsu-template-node-value node) name)
replacement
node))
(:lambda
(if (memq name (majutsu-template--lambda-params node))
node
(majutsu-template--lambda-node
(majutsu-template--lambda-params node)
(majutsu-template--substitute-var
(majutsu-template--lambda-body node)
name replacement)
(majutsu-template-node-props node))))
(:call
(majutsu-template-node-create
:kind :call
:type (majutsu-template-node-type node)
:value (majutsu-template-node-value node)
:args (mapcar (lambda (arg)
(majutsu-template--substitute-var arg name replacement))
(majutsu-template-node-args node))
:props (majutsu-template-node-props node)))
(_ node)))