diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-02-17 09:10:25 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-02-17 09:10:25 -0800 |
commit | fa9b9111f795c2377ac5d338fab4f431fdd44464 (patch) | |
tree | f5919f8ca9a07562e5006c32e5acbf0216b18ab8 /lisplib.c | |
parent | f16aaf441c112f0e6382b77ebdcd585d8c531580 (diff) | |
download | txr-fa9b9111f795c2377ac5d338fab4f431fdd44464.tar.gz txr-fa9b9111f795c2377ac5d338fab4f431fdd44464.tar.bz2 txr-fa9b9111f795c2377ac5d338fab4f431fdd44464.zip |
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.
Diffstat (limited to 'lisplib.c')
-rw-r--r-- | lisplib.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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)); } |