diff options
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | RELNOTES | 62 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | rand.c | 2 | ||||
-rw-r--r-- | rand.h | 2 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.c | 2 |
8 files changed, 88 insertions, 7 deletions
@@ -1,5 +1,24 @@ 2012-02-25 Kaz Kylheku <kaz@kylheku.com> + Version 58 + + * txr.c (version): Bumped. + + * txr.1: Bumped version and set date. + + * configure (txr_ver): Bumped. + + * RELNOTES: Updated. + + * eval.c (eval_init): Updated. + + * rand.c (rand): Function renamed to rnd due to a clash with + standard C library (that does not show up when compiling as C++). + + * rand.h (rand): Declaration renamed to rnd. + +2012-02-25 Kaz Kylheku <kaz@kylheku.com> + * parser.l (source_loc_str): Missing function re-written. (Accidentally originally written in lex.yy.c file!) (parse_reset): If file can't be opened, try adding .txr suffix @@ -1,3 +1,65 @@ + TXR 58 + 2011-02-25 + + + Features + + - Exception handling exposed in TXR Lisp. + + - range* function similar to range, but for generating a range with the + endpoint excluded. + + - TXR Lisp can invoke a function in the pattern language now using + the new match-fun function. + + - Braced variable syntax in @(output) extended to support arbitrary + expressions in place of the variable name. The expressions are converted + to text and then treated the same way as a variable substitution. + Indexing is allowed, and field-formatting takes place. + Moreover, these expressions are code-walked by @(repeat) and @(rep) to look + for embedded variables. + + - New TXR Lisp functions ref, refset, sub and replace. + + - Indexing and range extraction in brace substitution in @(output) clauses is + now generic over lists, vectors and strings. + + - Optional arguments introduced into TXR Lisp, in defun and lambdas, + with a simple syntax involving a colon. Numerous intrinsic functions + have been converted such that some previously required arguments + are now optional. + + - Sort function that was previously for lists only is now generic over + vectors and strings. + + - New del operator in TXR Lisp can delete elements of sequences or hashes + which are denoted using the bracket syntax. + + - Range indexing has "floating zero" behavior now so that for + example [seq -2 0] means the "last two elements": when the start of + the range is negative, then a zero end is treated as length plus one. + + - TXR programs can now be split into multiple modules, using the load + directive to load and run code. + + Bugs + + - range function terminates lazy list when the sequence overshoots + the final value. + + - Variable that holds nil is treated as a list in (set [var x..y] ...) + range assignment. + + - Vestigial (t . obj) representation in exception handling code removed. + + - TXR now does not not dump bindings if any output occured on a stream + connected to the C stdout stream. Previously, it suppressed printing + of bindings if @(output) was carried out on the *std-output* stream. + + - Function remhash was found to be buggy and rewritten. + + + TXR 57 2011-02-14 @@ -357,7 +357,7 @@ fi # -txr_ver=57 +txr_ver=58 # # The all important banner. @@ -2307,7 +2307,7 @@ void eval_init(void) reg_fun(intern(lit("random-state-p"), user_package), func_n1(random_state_p)); reg_fun(intern(lit("random-fixnum"), user_package), func_n1(random_fixnum)); reg_fun(intern(lit("random"), user_package), func_n2(random)); - reg_fun(intern(lit("rand"), user_package), func_n2o(rand, 1)); + reg_fun(intern(lit("rand"), user_package), func_n2o(rnd, 1)); reg_fun(intern(lit("range"), user_package), func_n0v(rangev)); reg_fun(intern(lit("range*"), user_package), func_n0v(range_star_v)); @@ -241,7 +241,7 @@ invalid: modulus, nao); } -val rand(val modulus, val state) +val rnd(val modulus, val state) { return random(state, modulus); } @@ -30,5 +30,5 @@ val make_random_state(val seed); val random_state_p(val obj); val random_fixnum(val state); val random(val state, val modulus); -val rand(val modulus, val state); +val rnd(val modulus, val state); void rand_init(void); @@ -21,9 +21,9 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2012-02-14 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2012-02-25 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 57) +txr \- text processing language (version 58) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp @@ -43,7 +43,7 @@ #include "debug.h" #include "txr.h" -const wchli_t *version = wli("57"); +const wchli_t *version = wli("58"); const wchar_t *progname = L"txr"; const wchar_t *spec_file = L"stdin"; |