diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | RELNOTES | 44 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | txr.1 | 18 | ||||
-rw-r--r-- | txr.c | 2 |
5 files changed, 68 insertions, 10 deletions
@@ -1,5 +1,17 @@ 2012-02-05 Kaz Kylheku <kaz@kylheku.com> + Version 56 + + * txr.c (version): Bumped. + + * txr.1: Bumped version and set date. + + * configure (txr_ver): Bumped. + + * RELNOTES: Updated. + +2012-02-05 Kaz Kylheku <kaz@kylheku.com> + * parser.l: Allow semicolon terminator on hex and octal escapes in a regex. Removed o escape character from octal constants in strings and quasiliterals: no such thing is documented. @@ -1,3 +1,47 @@ + TXR 56 + 2011-02-06 + + + Features + + - Hex and octal escapes work in strings and quasilterals now: the + documentation has stopped lying. + - Escapes can be followed by a semicolon which terminates them and is + removed, which is useful if an escape is followed by characters + that would otherwise be interpreted as part of the escape. + + - More color categories and more accurate syntax in Vim syntax + highlighting file. Highlights @[...] syntax properly inside quasiquote. + + - The third argument (the default value if a key is not found) can be omitted + when indexing hashes with the [hash key] syntax. It defaults to nil. + + - The dwim operator (and thus [] syntax) is even more Lisp-1 like. It + now has Lisp-1 namespace semantics for evaluating arguments + that are symbols. + + - A new operator called "op" as been added. This allows simple lambda + functions to be written as partial evaluatios of functions, with implicit + arguments as well as numbered/rest arguments appearing in the body. + + + Bugs + + - Fixed missing type check in hash module that allows bad code + to crash interpreter instead of getting an excepion. + + - Fixed regression in TXR 55 which broke computed field widths in output + variables. + + - Fixed incorrect UTF-8 decoding of some code points. + + - Closed several security holes in UTF-8 decoder by recognizing all invalid + UTF-8 sequences, and mapping invalid bytes in such a way that any byte + sequence processed by the decoder into Unicode code points will be + recovered exactly when encoded back into UTF-8. + + + TXR 55 2011-01-26 @@ -357,7 +357,7 @@ fi # -txr_ver=55 +txr_ver=56 # # The all important banner. @@ -21,16 +21,18 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2012-01-26 "Utility Commands" "Txr Text Extractor" "Kaz Kylheku" +.TH "TXR" 1 2012-02-05 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text extractor (version 55) +txr \- text processing language (version 56) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp .SH DESCRIPTION .B TXR -is a language oriented toward extracting text from files or streams -using multi-line, recursive pattern matching. A +is a language oriented toward processing text from files or streams, using +multiple programming paradigms. + +A .B TXR script is called a query, and it specifies a pattern which matches (a prefix of) an entire file, or multiple files. Patterns can consists of large @@ -58,10 +60,10 @@ file for the place where an entire sub-query matches, for collecting lists, and for combining sub-queries using logical conjunction, disjunction and negation, and numerous others. -Furthermore, embedded within TXR is a powerful Lisp dialect, described in the -section TXR LISP far below. TXR Lisp supports functional and imperative -programming, and provides data types such as symbols, strings, vectors, hash -tables with weak reference support, and arbitrary-precision (bignum integers). +Furthermore, embedded within TXR is a powerful Lisp dialect. TXR Lisp supports +functional and imperative programming, and provides data types such as symbols, +strings, vectors, hash tables with weak reference support, lazy lists, and +arbitrary-precision (bignum integers). .SH ARGUMENTS AND OPTIONS @@ -43,7 +43,7 @@ #include "debug.h" #include "txr.h" -const wchli_t *version = wli("55"); +const wchli_t *version = wli("56"); const wchar_t *progname = L"txr"; const wchar_t *spec_file = L"stdin"; val spec_file_str; |