summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-03-16 10:05:26 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-03-16 10:05:26 -0700
commitcea9135491ce88543044ccbe81ac844ee61a47b3 (patch)
treeb38d1a040701c52a72bc0ed93324a42593c73d04
parentbe7b45c73099abee4dfd53502e9256f86342b6c4 (diff)
downloadtxr-86.tar.gz
txr-86.tar.bz2
txr-86.zip
Version 86.txr-86
-rw-r--r--ChangeLog14
-rw-r--r--RELNOTES69
-rwxr-xr-xconfigure2
-rw-r--r--dep.mk4
-rw-r--r--txr.14
-rw-r--r--txr.c2
6 files changed, 89 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 7f9615d3..a8ba898f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/RELNOTES b/RELNOTES
index cc45cc68..b3922427 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -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
diff --git a/configure b/configure
index f20ec31d..43f81c60 100755
--- a/configure
+++ b/configure
@@ -387,7 +387,7 @@ fi
#
-txr_ver=85
+txr_ver=86
#
# The all important banner.
diff --git a/dep.mk b/dep.mk
index f1523388..16ae6305 100644
--- a/dep.mk
+++ b/dep.mk
@@ -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
diff --git a/txr.1 b/txr.1
index 1a7a7e4c..b9a1e2e7 100644
--- a/txr.1
+++ b/txr.1
@@ -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
diff --git a/txr.c b/txr.c
index 5423c971..b6482c11 100644
--- a/txr.c
+++ b/txr.c
@@ -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";
/*