1--- csparse.c~ 2010-03-26 23:17:28.082788800 +0900 2+++ csparse.c 2010-03-27 23:00:41.431782400 +0900 3@@ -1425,7 +1425,7 @@ 4 arg->expr1 = NULL; 5 } 6 nargs = rearrange_for_call(&(arg->expr1)); 7- if (nargs != arg->function->n_args) 8+ if (arg->function->n_args != -1 && nargs != arg->function->n_args) 9 { 10 return nerr_raise (NERR_PARSE, 11 "%s Incorrect number of arguments in call to %s, expected %d, got %d", 12@@ -4441,3 +4442,27 @@ 13 return nerr_pass (err); 14 } 15 #endif 16+ 17+ 18+/* functions for Text::ClearSilver */ 19+ 20+NEOERR* 21+tcs_eval_expr(CSPARSE* parse, CSARG* arg, CSARG* result) { 22+ return nerr_pass(eval_expr(parse, arg, result)); 23+} 24+ 25+const char* 26+tcs_var_lookup(CSPARSE* parse, const char* name) { 27+ return var_lookup(parse, name); 28+} 29+ 30+long 31+tcs_var_int_lookup(CSPARSE* parse, const char* name) { 32+ return var_int_lookup(parse, name); 33+} 34+ 35+HDF* 36+tcs_var_lookup_obj(CSPARSE* parse, const char* name) { 37+ return var_lookup_obj(parse, name); 38+} 39+ 40