diff options
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | txr.1 | 18 |
2 files changed, 19 insertions, 0 deletions
@@ -5036,6 +5036,7 @@ void eval_init(void) reg_fun(intern(lit("source-loc"), user_package), func_n1(source_loc)); reg_fun(intern(lit("source-loc-str"), user_package), func_n2o(source_loc_str, 1)); + reg_fun(intern(lit("macro-ancestor"), user_package), func_n1(lookup_origin)); reg_fun(intern(lit("rlcp"), user_package), func_n2(rlcp)); eval_error_s = intern(lit("eval-error"), user_package); @@ -36801,6 +36801,24 @@ source code location info also, so that when the \*(TL evaluator encounters errors in transformed code, it can give diagnostics which refer to the original untransformed source code. +.coNP Function @ macro-ancestor +.synb +.mets (macro-ancestor << form ) +.syne +.desc +The +.code macro-ancestor +function returns information about the macro-expansion ancestor of +.metn form . +The ancestor is the original form whose expansion produced +.metn form . + +If +.meta form +is not the result of macro-expansion, or the ancestor information +is unavailable, the function returns +.codn nil . + .SS* Profiling .coNP Operator @ prof .synb |