diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-11-13 19:20:39 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-11-13 19:20:39 -0800 |
commit | e98737b05917ebeaad6a8868e8d4d3cc6e5a89b2 (patch) | |
tree | 29e2511dd53420f80f11cdd83ee8e40bb990fda3 /lisplib.c | |
parent | 7057603b4da78bb27e7688a9d74de6025132dbbc (diff) | |
download | txr-e98737b05917ebeaad6a8868e8d4d3cc6e5a89b2.tar.gz txr-e98737b05917ebeaad6a8868e8d4d3cc6e5a89b2.tar.bz2 txr-e98737b05917ebeaad6a8868e8d4d3cc6e5a89b2.zip |
New functions for command or file I/O in one call.
* lisplib.c (getput_set_entries, getput_instantiate):
New static functions.
(dlt_register): Register auto-loading for getput module
via new functions.
* share/txr/stdlib/getput.tl: New file.
* txr.1: Documented new functions file-get, file-put,
file-append, file-get-string, file-put-string,
file-append-string, file-get-lines, file-put-lines,
file-append-lines, command-get, command-put,
command-get-string, command-put-string, command-get-lines,
and command-put-lines.
Diffstat (limited to 'lisplib.c')
-rw-r--r-- | lisplib.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -424,6 +424,27 @@ static val package_instantiate(val set_fun) return nil; } +static val getput_set_entries(val dlt, val fun) +{ + val name[] = { + lit("file-get"), lit("file-put"), lit("file-append"), + lit("file-get-string"), lit("file-put-string"), lit("file-append-string"), + lit("file-get-lines"), lit("file-put-lines"), lit("file-append-lines"), + lit("command-get"), lit("command-put"), + lit("command-get-string"), lit("command-put-string"), + lit("command-get-lines"), lit("command-put-lines"), + nil + }; + set_dlt_entries(dlt, name, fun); + return nil; +} + +static val getput_instantiate(val set_fun) +{ + funcall1(set_fun, nil); + load(format(nil, lit("~agetput.tl"), stdlib_path, nao)); + return nil; +} val dlt_register(val dlt, val (*instantiate)(val), @@ -459,6 +480,7 @@ void lisplib_init(void) dlt_register(dl_table, trace_instantiate, trace_set_entries); dlt_register(dl_table, getopts_instantiate, getopts_set_entries); dlt_register(dl_table, package_instantiate, package_set_entries); + dlt_register(dl_table, getput_instantiate, getput_set_entries); } val lisplib_try_load(val sym) |