From 6f051c69587d159cafbb6bcf79ba245e8ca0d6c0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 6 Dec 2011 15:40:47 -0800 Subject: * eval.c (op_unwind_protect): Fixed uninitialized variable warning. (eval_init): New functions registered: typeof and vector functions, as well as length_list. * lib.c (length): Function renamed to length_list, because it is list specific. (length_vec, size_vec, vector_list): New functions. (length): New function, generic over lists, vectors and strings. * lib.h (length_list, length_vec, size_vec, vector_list): Declared. * match.c (h_var, h_fun, robust_length, v_deffilter, v_fun): Use length_list instead of length. * parser.l: Introduced # token. * parser.y (vector): New nonterminal. (expr): vector is a kind of expr. (chrlist): Bugfix: single-character syntax was not working; for instance #\x to denote the charcter x. (lit_char_helper): Use length_list instead of length. * stream.c (string_in_get_line): Bugfix: this was using the wrong length function: length was being applied to a string. The genericity of length makes that correct now, but changing to length_str anyway. * txr.1: Blank sections created for functions. Vector syntax documented. --- stream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'stream.c') diff --git a/stream.c b/stream.c index e337e523..be638608 100644 --- a/stream.c +++ b/stream.c @@ -313,7 +313,7 @@ static val string_in_get_line(val stream) val pos = cdr(pair); /* TODO: broken, should only scan to newline */ - if (lt(pos, length(string))) { + if (lt(pos, length_str(string))) { val result = sub_str(string, pos, nil); *cdr_l(pair) = length_str(string); return result; -- cgit v1.2.3