﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
72	kmk: Add .RETURN and .ARGC to $(evalcall ) and $(evalcall2 ) for creating functions	bird	bird	"To create more complicated functions without also creating an unreadable mess, it's necessary to make {{{$(evalcall[2] )}}} be able to return a value. This is implemented using a local variable {{{.RETURN}}}, the function body assigns the desired return value  to this variable.

Example:
{{{
define POP
local words := $(words $($1))
local .RETURN := $(word $(words), $($1))
$1 := $(wordlist 1, $(expr $(words) - 1), $($1))
endef

stack-var = a b c d
d-element := $(evalcall POP,stack-var)
}}} 

In addition, it's very useful to have some way of getting at the argument count without evaluating all the possibilities. For this purposed {{{.ARGC}}} was added. It is also applied to {{{$(call )}}}."	enhancement	closed	major	0.1.5	kmk	0.1.4	fixed		
