From fa9b9111f795c2377ac5d338fab4f431fdd44464 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 17 Feb 2019 09:10:25 -0800 Subject: save-exe: new function. * lisplib.c (save_exe_instantiate, save_exe_set_entries): New static functions. (lisplib_init): Register auto-load of save-exe module, keyed to save-exe symbol. * share/txr/stdlib/save-exe.tl: New file. * txr.1: Removing txr-embedded-arg.txr documentation and documenting save-exe in its place. * txr-embedded-arg.txr: File removed. --- lisplib.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'lisplib.c') diff --git a/lisplib.c b/lisplib.c index f548c360..5772845d 100644 --- a/lisplib.c +++ b/lisplib.c @@ -734,6 +734,24 @@ static val op_instantiate(val set_fun) return nil; } +static val save_exe_instantiate(val set_fun) +{ + funcall1(set_fun, nil); + load(format(nil, lit("~asave-exe"), stdlib_path, nao)); + return nil; +} + +static val save_exe_set_entries(val dlt, val fun) +{ + val name[] = { + lit("save-exe"), + nil + }; + + set_dlt_entries(dlt, name, fun); + return nil; +} + val dlt_register(val dlt, val (*instantiate)(val), val (*set_entries)(val, val)) @@ -782,6 +800,8 @@ void lisplib_init(void) if (!opt_compat || opt_compat >= 185) dlt_register(dl_table, op_instantiate, op_set_entries); + dlt_register(dl_table, save_exe_instantiate, save_exe_set_entries); + reg_fun(intern(lit("try-load"), system_package), func_n1(lisplib_try_load)); } -- cgit v1.2.3