SYNOPSIS
        string expand_define (string name)
        string expand_define (string name, string arg, ...)

DESCRIPTION
        Expands the macro <name> with the argument(s) <arg>... (default is
        one empty string "").
        Result is the expanded macro, or 0 if there is no macro with
        that name.

        This efun is applicable only while an object is compiled,
        therefore its usage is restricted to a few functions like the
        H_INCLUDE_DIRS driver hook, or the masters runtime_error()
        function.

EXAMPLE
        While compiling 'foo.c':
          expand_define("__FILE__") --> "foo.c"

HISTORY
        Introduced in 3.2.1@93.

SEE ALSO
        hooks(C), runtime_error(M)
