#  (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
#  distribute this software is granted provided this copyright notice appears in
#  all copies. This software is provided "as is" without express or implied
#  warranty, and with no claim as to its suitability for any purpose.

rule ungrist ( names * )
{
    local result ;
    for local name in $(names)
    {
        local stripped = [ MATCH ^<(.*)>$ : $(name) ] ;
        if ! $(stripped)
        {
            ECHO *** error: in ungrist $(names) ;
            EXIT *** $(name) is not of the form <.*> ;
        }
        result += $(stripped) ;
    }
    return $(result) ;
}

# Return the file of the caller of the rule that called caller-file.
rule caller-file ( )
{
    local bt = [ BACKTRACE ] ;
    return $(bt[9]) ;
}

local rule __test__ ( )
{
    import assert ;
    assert.result foo bar : ungrist <foo> <bar> ;
}

