summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-09-11 20:11:40 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-09-11 20:11:40 -0700
commite9902c952b488adf7de5c2464d416810ce222955 (patch)
treea7f7ef52a4fb344c1854a8d646cd98263aef9f67 /eval.c
parent46f607ae233a8f71c09d40dd45aae5f2ec7056fc (diff)
downloadtxr-e9902c952b488adf7de5c2464d416810ce222955.tar.gz
txr-e9902c952b488adf7de5c2464d416810ce222955.tar.bz2
txr-e9902c952b488adf7de5c2464d416810ce222955.zip
* configure: Added test for <sys/stat.h>
* eval.c: New intrinsic functions "stat" and "prop". * stream.c: Include <sys/stat.h> if we have it. (w_stat, statf): New functions. (val dev_k, ino_k, mode_k, nlink_k, uid_k, val gid_k, rdev_k, size_k, blksize_k, blocks_k; val atime_k, mtime_k, ctime_k): New sybol variables. (stream_init): Intern new keywords symbols. * stream.h (statf): Declared. * txr.1: prop documented. Stub for stat created.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 9266846b..f7ecd06d 100644
--- a/eval.c
+++ b/eval.c
@@ -2291,6 +2291,7 @@ void eval_init(void)
reg_fun(intern(lit("put-char"), user_package), func_n2o(put_char, 1));
reg_fun(intern(lit("put-byte"), user_package), func_n2o(put_byte, 1));
reg_fun(intern(lit("flush-stream"), user_package), func_n1(flush_stream));
+ reg_fun(intern(lit("stat"), user_package), func_n1(statf));
reg_fun(intern(lit("open-directory"), user_package), func_n1(open_directory));
reg_fun(intern(lit("open-file"), user_package), func_n2(open_file));
reg_fun(intern(lit("open-command"), user_package), func_n2(open_command));
@@ -2381,6 +2382,7 @@ void eval_init(void)
reg_fun(intern(lit("alist-nremove"), user_package), func_n1v(alist_nremove));
reg_fun(intern(lit("copy-cons"), user_package), func_n1(copy_cons));
reg_fun(intern(lit("copy-alist"), user_package), func_n1(copy_alist));
+ reg_fun(intern(lit("prop"), user_package), func_n2(getplist));
reg_fun(intern(lit("merge"), user_package), func_n4o(merge, 2));
reg_fun(intern(lit("sort"), user_package), func_n3o(sort, 2));
reg_fun(intern(lit("find"), user_package), func_n4o(find, 2));