summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-03 00:24:38 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-03 00:24:38 -0800
commit7c42721b3f5d9e96c26f2fa853e7e1c477247664 (patch)
tree282c73151435e4be8bd89228dc2b3f3e1f9e92b7
parentfdb086e9ba73d203a2bd9ea0d53a2f9cdd2b6af1 (diff)
downloadtxr-7c42721b3f5d9e96c26f2fa853e7e1c477247664.tar.gz
txr-7c42721b3f5d9e96c26f2fa853e7e1c477247664.tar.bz2
txr-7c42721b3f5d9e96c26f2fa853e7e1c477247664.zip
* eval.c (eval_init): String and character functions
exposed as intrinsics. * txr.1: Blank sections created.
-rw-r--r--ChangeLog7
-rw-r--r--eval.c25
-rw-r--r--txr.149
3 files changed, 78 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c11e71dc..2301f0dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-12-03 Kaz Kylheku <kaz@kylheku.com>
+
+ * eval.c (eval_init): String and character functions
+ exposed as intrinsics.
+
+ * txr.1: Blank sections created.
+
2011-12-02 Kaz Kylheku <kaz@kylheku.com>
* txr.1: Added stub sections for new functions.
diff --git a/eval.c b/eval.c
index 9aad126f..113f6276 100644
--- a/eval.c
+++ b/eval.c
@@ -1024,7 +1024,6 @@ void eval_init(void)
reg_fun(intern(lit("<="), user_package), func_n1v(lev));
reg_fun(intern(lit("max"), user_package), func_n1v(maxv));
reg_fun(intern(lit("min"), user_package), func_n1v(minv));
- reg_fun(intern(lit("int-str"), user_package), func_n2(int_str));
reg_fun(intern(lit("search-regex"), user_package), func_n4(search_regex));
reg_fun(intern(lit("match-regex"), user_package), func_n3(match_regex));
@@ -1080,6 +1079,30 @@ void eval_init(void)
reg_fun(intern(lit("symbol-package"), user_package), func_n1(symbol_package));
reg_fun(intern(lit("keywordp"), user_package), func_n1(keywordp));
+ reg_fun(intern(lit("mkstring"), user_package), func_n2(mkstring));
+ reg_fun(intern(lit("copy-str"), user_package), func_n1(copy_str));
+ reg_fun(intern(lit("upcase-str"), user_package), func_n1(upcase_str));
+ reg_fun(intern(lit("downcase-str"), user_package), func_n1(downcase_str));
+ reg_fun(intern(lit("string-extend"), user_package), func_n2(string_extend));
+ reg_fun(intern(lit("stringp"), user_package), func_n1(stringp));
+ reg_fun(intern(lit("lazy-stringp"), user_package), func_n1(lazy_stringp));
+ reg_fun(intern(lit("length-str"), user_package), func_n1(length_str));
+ reg_fun(intern(lit("search-str"), user_package), func_n4(search_str));
+ reg_fun(intern(lit("search-str-tree"), user_package), func_n4(search_str_tree));
+ reg_fun(intern(lit("sub-str"), user_package), func_n3(sub_str));
+ reg_fun(intern(lit("cat-str"), user_package), func_n2(cat_str));
+ reg_fun(intern(lit("split-str"), user_package), func_n2(split_str));
+ reg_fun(intern(lit("split-str-set"), user_package), func_n2(split_str_set));
+ reg_fun(intern(lit("trim-str"), user_package), func_n1(trim_str));
+ reg_fun(intern(lit("string-lt"), user_package), func_n2(string_lt));
+ reg_fun(intern(lit("int-str"), user_package), func_n2(int_str));
+ reg_fun(intern(lit("chrp"), user_package), func_n1(chrp));
+ reg_fun(intern(lit("chr-str"), user_package), func_n2(chr_str));
+ reg_fun(intern(lit("chr-str-set"), user_package), func_n3(chr_str_set));
+ reg_fun(intern(lit("span-str"), user_package), func_n2(span_str));
+ reg_fun(intern(lit("compl-span-str"), user_package), func_n2(compl_span_str));
+ reg_fun(intern(lit("break-str"), user_package), func_n2(break_str));
+
eval_error_s = intern(lit("eval-error"), user_package);
uw_register_subtype(eval_error_s, error_s);
}
diff --git a/txr.1 b/txr.1
index 2147036d..0203651e 100644
--- a/txr.1
+++ b/txr.1
@@ -4508,8 +4508,6 @@ The following are Lisp functions and variables built-in to TXR.
.SS Functions max and min
-.SS Function int-str
-
.SS Functions search-regex and match-regex
.SS Function make-hash
@@ -4578,6 +4576,53 @@ The following are Lisp functions and variables built-in to TXR.
.SS Function keywordp
+.SS Function mkstring
+
+.SS Function copy-str
+
+.SS Function upcase-str
+
+.SS Function downcase-str
+
+.SS Function string-extend
+
+.SS Function stringp
+
+.SS Function lazy-stringp
+
+.SS Function length-str
+
+.SS Function search-str
+
+.SS Function search-str-tree
+
+.SS Function sub-str
+
+.SS Function cat-str
+
+.SS Function split-str
+
+.SS Function split-str-set
+
+.SS Function trim-str
+
+.SS Function string-lt
+
+.SS Function int-str
+
+.SS Function chrp
+
+.SS Function chr-str
+
+.SS Function chr-str-set
+
+.SS Function span-str
+
+.SS Function compl-span-str
+
+.SS Function break-str
+
+
.SH APPENDIX A: NOTES ON EXOTIC REGULAR EXPRESSIONS
Users familiar with regular expressions may not be familiar with the complement