summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-07 09:01:26 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-07 09:01:26 -0800
commitb3540d10efec1c3d27d0206d67635eaeb39141ec (patch)
tree19d302ab079edb0f744b5ca9feb11239038722c3 /eval.c
parentb4d0fe33246175c0ac8e094ca46036444136a3be (diff)
downloadtxr-b3540d10efec1c3d27d0206d67635eaeb39141ec.tar.gz
txr-b3540d10efec1c3d27d0206d67635eaeb39141ec.tar.bz2
txr-b3540d10efec1c3d27d0206d67635eaeb39141ec.zip
* eval.c (eval_init): New character functions registered.
* lib.c (c_num): Generalized to convert characters to numbers also. This allows functions like gt and lt to work with characters. (chr_isalnum, chr_isalpha, chr_isascii, chr_iscntrl, chr_isdigit, chr_isgraph, chr_islower, chr_isprint, chr_ispunct, chr_isspace, chr_isupper, chr_isxdigit): New functions added. * lib.h: (chr_isalnum, chr_isalpha, chr_isascii, chr_iscntrl, * chr_isdigit, chr_isgraph, chr_islower, chr_isprint, chr_ispunct, * chr_isspace, chr_isupper, chr_isxdigit): New functions declared. (c_true): New macro.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 59d0d36b..f54795aa 100644
--- a/eval.c
+++ b/eval.c
@@ -1187,6 +1187,18 @@ void eval_init(void)
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-isalnum"), user_package), func_n1(chr_isalnum));
+ reg_fun(intern(lit("chr-isalpha"), user_package), func_n1(chr_isalpha));
+ reg_fun(intern(lit("chr-isascii"), user_package), func_n1(chr_isascii));
+ reg_fun(intern(lit("chr-iscntrl"), user_package), func_n1(chr_iscntrl));
+ reg_fun(intern(lit("chr-isdigit"), user_package), func_n1(chr_isdigit));
+ reg_fun(intern(lit("chr-isgraph"), user_package), func_n1(chr_isgraph));
+ reg_fun(intern(lit("chr-islower"), user_package), func_n1(chr_islower));
+ reg_fun(intern(lit("chr-isprint"), user_package), func_n1(chr_isprint));
+ reg_fun(intern(lit("chr-ispunct"), user_package), func_n1(chr_ispunct));
+ reg_fun(intern(lit("chr-isspace"), user_package), func_n1(chr_isspace));
+ reg_fun(intern(lit("chr-isupper"), user_package), func_n1(chr_isupper));
+ reg_fun(intern(lit("chr-isxdigit"), user_package), func_n1(chr_isxdigit));
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));