add no-alias arg overload for add-function!. update some doc comments

This commit is contained in:
Gered 2014-03-04 13:59:23 -05:00
parent a7e6b70ea4
commit 559936b839

View file

@ -49,26 +49,26 @@
false))) false)))
(defn add-function! (defn add-function!
"adds a new template function using the name specified. templates can call the function by the "adds a new template function under the name specified. templates can call the function by the
name specified (or one of the aliases specified) and passing in the same number of arguments name specified (or one of the aliases specified) and passing in the same number of arguments
accepted by f. the return value of f is returned to the template. if this function has no aliases accepted by f. the return value of f is returned to the template."
then nil can be specified for the aliases arg. ([name f]
prefer to use the 'deftwigfn' macro when possible." (add-function! name nil f))
[name aliases f] ([name aliases f]
(let [handler (make-function-handler f)] (let [handler (make-function-handler f)]
(.add @functions handler name (make-aliased-array aliases)) (.add @functions handler name (make-aliased-array aliases))
(.retrieve @functions name))) (.retrieve @functions name))))
(defmacro deftwigfn (defmacro deftwigfn
"adds a new template function. templates can call it by by the name specified and passing in the "defines a new template function. templates can call it by by the name specified and passing in the
same number of arguments as in args. the return value of the last form in body is returned to the same number of arguments as in args. the return value of the last form in body is returned to the
template. functions defined this way have no aliases and can only be called by the name given." template. functions defined this way have no aliases and can only be called by the name given."
[fn-name args & body] [fn-name args & body]
`(do `(do
(add-function! ~fn-name nil (fn ~args ~@body)))) (add-function! ~fn-name (fn ~args ~@body))))
(defmacro defaliasedtwigfn (defmacro defaliasedtwigfn
"adds a new template function. templates can call it by by the name specified (or one of the "defines a new template function. templates can call it by by the name specified (or one of the
aliases specified) and passing in the same number of arguments as in args. the return value of aliases specified) and passing in the same number of arguments as in args. the return value of
the last form in body is returned to the template." the last form in body is returned to the template."
[fn-name args aliases & body] [fn-name args aliases & body]