diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-03-16 10:05:26 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-03-16 10:05:26 -0700 |
commit | cea9135491ce88543044ccbe81ac844ee61a47b3 (patch) | |
tree | b38d1a040701c52a72bc0ed93324a42593c73d04 | |
parent | be7b45c73099abee4dfd53502e9256f86342b6c4 (diff) | |
download | txr-cea9135491ce88543044ccbe81ac844ee61a47b3.tar.gz txr-cea9135491ce88543044ccbe81ac844ee61a47b3.tar.bz2 txr-cea9135491ce88543044ccbe81ac844ee61a47b3.zip |
Version 86.txr-86
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | RELNOTES | 69 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | dep.mk | 4 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.c | 2 |
6 files changed, 89 insertions, 6 deletions
@@ -1,3 +1,17 @@ +2014-03-08 Kaz Kylheku <kaz@kylheku.com> + + Version 86 + + * txr.c (version): Bumped. + + * txr.1: Bumped version, set date. + + * configure (txr_ver): Bumped. + + * RELNOTES: Updated + + * dep.mk: Regenerated. + 2014-03-16 Kaz Kylheku <kaz@kylheku.com> * stream.c (win_make_cmdline): I think I cracked the code of @@ -1,3 +1,72 @@ + TXR 86 + 2014-03-16 + + + Features + + - Exposed the implementation of tries to user code. + + - New functions: html-encode, html-decode. + + - New prof operator and pprof macro for simple profiling: time spent and memory + allocated over the evaluation of an expression. + + - New functions sh and run for running system commands. + + - If available, sigaltstack is used when the program registers a handler for + the SIGSEGV signal, allowing TXR programs to catch stack exhaustion and + recover by throwing an exception. + + - New syntactic sugar in the pattern language: @(if)/@(elif)/@(else)/@(end), + which works by transformation to a pattern involving @(cases) and @(require). + + - The @(empty) directive which plays a role in @(output) blocks has a new meaning + in the pattern language for denoting an explicit empty match. + + Bugs + + - Fixed severe performance problem with regex on long strings, caused by feeding + characters to the regex machine past the point that it is clear it will not + accept any more. + + - Fixed broken horizontal matching under @(freeform) on long lines, due to bugs + in the handling of the memory-saving optimization which consumes the prefix of + the lazy string as scanning progresses. + + - Fixed breakage in sub-str over lazy strings. + + - Fixed possible crash in @(trailer) directive. + + - Fixed memory leaks on open-process: one that happened on every call, and one on + failure of the fork function. + + - Fixed pipe-close deadlocks occurring in code that opens numerous pipes; solved + by setting the close-on-exec flag on the pipe descriptors. + + - Fixed faulty argument defaulting logic in the functions: iffi, regex-parse, + lisp-parse, regex-compile and Windows version of open-process. + + - Fixed regression in the random number module, causing the random function to + ignore the seeded random state passed in as an argument, and rely on the global one. + + - Fixed a bug in a rarely used form of the backslash line continuation. + + - Fixed buggy argument quoting in Windows version of open-process. + + - The gc on/off state is now saved and restored as part of unwinding, so if + code that turned off gc throws an exception, gc will be turned back on + at the catch site. + + - Fixed incorrect calculation of malloc upper and lower boundaries, affecting + the correctness of generational garbage collection. + + - In open process, if fdopen fails, kill the process more gently with SIGINT + and SIGTERM rather than SIGKILL, and wait on it. + + - Syntax fix. @^a is not meta applied to the symbol ^a, but rather meta quasiquote a. + + + TXR 85 2014-03-07 @@ -387,7 +387,7 @@ fi # -txr_ver=85 +txr_ver=86 # # The all important banner. @@ -1,6 +1,6 @@ ./txr.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./stream.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./parser.h $(top_srcdir)/./match.h $(top_srcdir)/./utf8.h $(top_srcdir)/./debug.h $(top_srcdir)/./syslog.h $(top_srcdir)/./eval.h $(top_srcdir)/./txr.h ./lex.yy.o: config.h $(top_srcdir)/./lib.h y.tab.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h $(top_srcdir)/./utf8.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./hash.h $(top_srcdir)/./parser.h -./y.tab.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./utf8.h $(top_srcdir)/./match.h $(top_srcdir)/./hash.h $(top_srcdir)/./eval.h $(top_srcdir)/./parser.h +./y.tab.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./utf8.h $(top_srcdir)/./match.h $(top_srcdir)/./hash.h $(top_srcdir)/./eval.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h ./match.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h $(top_srcdir)/./txr.h $(top_srcdir)/./utf8.h $(top_srcdir)/./filter.h $(top_srcdir)/./hash.h $(top_srcdir)/./debug.h $(top_srcdir)/./eval.h $(top_srcdir)/./match.h ./lib.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./rand.h $(top_srcdir)/./hash.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./utf8.h $(top_srcdir)/./filter.h $(top_srcdir)/./eval.h $(top_srcdir)/./regex.h ./regex.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./parser.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./txr.h $(top_srcdir)/./gc.h @@ -10,7 +10,7 @@ ./arith.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h ./hash.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./hash.h ./utf8.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./utf8.h -./filter.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./hash.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./match.h $(top_srcdir)/./filter.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h +./filter.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./hash.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./match.h $(top_srcdir)/./filter.h $(top_srcdir)/./gc.h $(top_srcdir)/./eval.h $(top_srcdir)/./stream.h ./eval.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h $(top_srcdir)/./hash.h $(top_srcdir)/./debug.h $(top_srcdir)/./match.h $(top_srcdir)/./rand.h $(top_srcdir)/./filter.h $(top_srcdir)/./txr.h $(top_srcdir)/./combi.h $(top_srcdir)/./eval.h ./rand.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./rand.h $(top_srcdir)/./eval.h ./combi.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./eval.h $(top_srcdir)/./hash.h $(top_srcdir)/./combi.h @@ -21,9 +21,9 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2014-03-08 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-03-16 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 85) +txr \- text processing language (version 86) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp @@ -47,7 +47,7 @@ #include "eval.h" #include "txr.h" -const wchli_t *version = wli("85"); +const wchli_t *version = wli("86"); const wchar_t *progname = L"txr"; /* |