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.

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

HISTORY
        Introduced in 3.2.1@93.

SEE ALSO
        hooks(C), runtime_error(M)
