diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-12-14 07:56:27 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-12-14 07:56:27 -0800 |
commit | 02d5a8ff16d1aa82fab7b861788886c08e81f268 (patch) | |
tree | f1e77fa609be98d0a9dda84005e20ef75d14fc82 /lib.c | |
parent | a86f247ea2a92a2b67b58eb7b5b7bc7f592d1773 (diff) | |
download | txr-02d5a8ff16d1aa82fab7b861788886c08e81f268.tar.gz txr-02d5a8ff16d1aa82fab7b861788886c08e81f268.tar.bz2 txr-02d5a8ff16d1aa82fab7b861788886c08e81f268.zip |
* arith.c (plus, minus, gt, lt, ge, le): Handle character operands.
* eval.c (eval_init): New functions interned.
* lib.c (num_chr, chr_num): New functions.
* lib.h (num_chr, chr_num): Declared.
* txr.1: Documentation stubs.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1488,6 +1488,20 @@ val chr_tolower(val ch) return chr(towlower(c_chr(ch))); } +val num_chr(val ch) +{ + return num_fast(c_chr(ch)); +} + +val chr_num(val num) +{ + cnum n = c_num(num); + if (n < 0 || n > 0x10FFFF) + uw_throwf(numeric_error_s, + lit("chr-num: ~s is out of character range"), num, nao); + return chr(n); +} + val chr_str(val str, val index) { bug_unless (length_str_gt(str, index)); |