From f76a8698563ed63728c19e02b8284d7ac2a3a068 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 4 Apr 2014 23:55:56 -0700 Subject: Version 88 --- ChangeLog | 19 +++++++++++++++++-- RELNOTES | 37 +++++++++++++++++++++++++++++++++++++ configure | 40 +++++++++++++++++++++------------------- txr.1 | 4 ++-- txr.c | 2 +- txr.spec | 2 +- 6 files changed, 79 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8c53385a..c07f4669 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2014-04-04 Kaz Kylheku + + Version 88 + + * txr.c (version): Bumped. + + * txr.1: Bumped version, set date. + + * configure (txr_ver): Bumped. Generational GC is now + enabled by default. + + * txr.spec: Bumped version. + + * RELNOTES: Updated + + * txr.vim: Regenerated. + 2014-03-29 Kaz Kylheku * gc.c (CHECKOBJ_VEC_SIZE, FRESHOBJ_VEC_SIZE): Increase @@ -149,8 +166,6 @@ struct tm from "GMT" to "UTC", so that the time_string_utc function will use UTC for the %Z format. - Generational GC tweaks. - 2014-03-27 Kaz Kylheku Fix a bug arising from putting generation 1 objects into the diff --git a/RELNOTES b/RELNOTES index f9c1d809..3e2b84c4 100644 --- a/RELNOTES +++ b/RELNOTES @@ -1,3 +1,40 @@ + TXR 88 + 2014-04-04 + + + Features + + - New TXR Lisp macros: while, unless, until. + + - New functions empty and last. + + - copy and length functions take hash tables now. + + - Word list literals and word list quasiliterals. + + - Big improvements in efficiency of generational garbage collection. + Situations when a backpointer to a fresh object is stored into a + mature object now are precisely identified, eliminating GC pressure + caused by conservatively wrong guesses. + + - TXR is now configured to build with Generational GC by default. + + Bugs + + - copy and length functions handle lazy strings now. + + - time-string-utc on Linux now renders %Z strftime code as "UTC" rather than + "GMT". Not our issue: this is a workaround for library behavior. + + - Generational GC fix: a number of functions which mutate state weren't using + the proper set macro. + + - Generational GC fix: the gc_mutated function was not correctly implemented + and could cause reachable objects with their GC reachability flag to + continue to be set after GC is done. + + + TXR 87 2014-03-22 diff --git a/configure b/configure index 1e8ae736..b5306a16 100755 --- a/configure +++ b/configure @@ -94,7 +94,7 @@ valgrind= lit_align= extra_debugging= debug_support=y -gen_gc= +gen_gc=y mpi_version=1.8.6 have_quilt= have_patch= @@ -220,7 +220,7 @@ prefix [$prefix] Specifies root directory where the software will ultimately be installed and run from. -install_prefix [$install_prefix] +install-prefix [$install_prefix] Specifies an extra path prefix that will be prepended to all paths during installation, which allows the software to be installed in a temporary @@ -247,7 +247,7 @@ cross [$cross] It should include the trailing slash, unless the \$compiler_prefix and \$tool_prefix variables take care of this by providing a leading slash. -compiler_prefix [$compiler_prefix] +compiler-prefix [$compiler_prefix] Specifies a prefix to be added to the compiler command. This is added to the \$(cross) prefix. This can include some path name @@ -273,7 +273,7 @@ intptr [$intptr] value can be converted to it. If this is blank, the configure script will try to auto detect it. -lit_align [$lit_align] +lit-align [$lit_align] Specifies alignment for wide string literals. This is guessed from the size of the wchar_t type. If your wchar_t type is two byte wide, but @@ -291,7 +291,7 @@ inline [$inline] If blank, an attempt is made to auto-detect this which falls back on "static". -tool_prefix [$tool_prefix] +tool-prefix [$tool_prefix] Specifies a prefix to be added to tool commands other than the compiler, like lex and yacc, in addition to \$cross. @@ -319,43 +319,43 @@ nm [$nm] Specifies the nm program for dumping symbols from an object file. -opt_flags [$opt_flags] +opt-flags [$opt_flags] Specifies optimization flags to use for compiling and linking C sources. -lang_flags [$lang_flags] +lang-flags [$lang_flags] Specifies compiler flags which control the C language dialect and standard conformance in the language and header files. The txr program is written in C90, and requires POSIX and possibly other extensions. -diag_flags [$diag_flags] +diag-flags [$diag_flags] Specifies compiler flags for obtaining extra diagnostics. -debug_flags [$debug_flags] +debug-flags [$debug_flags] Specifies flags for requesting that debugging information be retained in the compile and link. -platform_flags [$platform_flags] +platform-flags [$platform_flags] Specify additional compiler flags for anything else, such as CPU tuning, target ABI selection, code generation options, et cetera. -remove_flags [$remove_flags] +remove-flags [$remove_flags] This is a negative otpion. Any flags mentioned in this variable will be removed from any of the other compiler flags options above. The flags may contain GNU Make patterns. -lex_dbg_flags [$lex_dbg_flags] +lex-dbg-flags [$lex_dbg_flags] Specifies debug flags to be passed to lex, perhaps to generate a debugging scanner. -txr_dbg_opts [$txr_dbg_opts] +txr-dbg-opts [$txr_dbg_opts] Specifies debug flags to pass to the txr program during the execution of "make tests". @@ -367,16 +367,18 @@ valgrind [$valgrind] it advises valgrind about stack memory locations accessed by the garbage collector, to suppress diagnostics about uninitialized accesses. -extra_debugging [$extra_debugging] +extra-debugging [$extra_debugging] Use --extra_debugging to configure some additional debugging features, which incur a run-time penalty. -gen_gc [$gen_gc] +gen-gc [$gen_gc] - Use --gen-gc to enable the experimental generational garbage collector. - This is currently disabled by default: a mark-and-sweep garbage collection - strategy is used which performs a full sweep. + Use --no-gen-gc to disable the generational garbage collector which + is now enabled by default. + + When disabled, the garbage collector performs a full object traversal and + sweep on each garbage collection. ! exit 1 @@ -387,7 +389,7 @@ fi # -txr_ver=87 +txr_ver=88 # # The all important banner. diff --git a/txr.1 b/txr.1 index c7e9fac8..92569838 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-22 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-04-04 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 87) +txr \- text processing language (version 88) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp diff --git a/txr.c b/txr.c index 63f95c98..efd69916 100644 --- a/txr.c +++ b/txr.c @@ -47,7 +47,7 @@ #include "eval.h" #include "txr.h" -const wchli_t *version = wli("87"); +const wchli_t *version = wli("88"); const wchar_t *progname = L"txr"; /* diff --git a/txr.spec b/txr.spec index ede49edb..d09bfccd 100644 --- a/txr.spec +++ b/txr.spec @@ -3,7 +3,7 @@ # Name: txr -Version: 65 +Version: 88 Release: 0 Source: txr-%{version}.tar.gz URL: http://www.nongnu.org/txr -- cgit v1.2.3