summaryrefslogtreecommitdiffstats
path: root/RELNOTES
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-12-28 06:43:22 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-12-28 06:43:22 -0800
commit44efbaf2c8697e579ede4bad89b90b8e4232c852 (patch)
tree4f3a47f9937abf74e12be8b09cd7a646c1dc5bb8 /RELNOTES
parentf92695927b6180fb259bf092179d5896098256eb (diff)
downloadtxr-44efbaf2c8697e579ede4bad89b90b8e4232c852.tar.gz
txr-44efbaf2c8697e579ede4bad89b90b8e4232c852.tar.bz2
txr-44efbaf2c8697e579ede4bad89b90b8e4232c852.zip
Version 273.txr-273
* RELNOTES: Updated. * configure (txr_ver): Bumped version. * stdlib/ver.tl (lib-version): Bumped. * txr.1: Bumped version and date. * txr.vim, tl.vim: Regenerated.
Diffstat (limited to 'RELNOTES')
-rw-r--r--RELNOTES79
1 files changed, 79 insertions, 0 deletions
diff --git a/RELNOTES b/RELNOTES
index 687208e4..642c4d2b 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,82 @@
+ TXR 273
+ 2021-12-28
+
+
+ Features
+
+ - compiler:
+ - new jump optimizations.
+ - register compacting optimization: greatly reduces stack use,
+ especially of complex functions, and improves cache locality.
+
+ - pattern language:
+ - @{var /regex/} changes:
+ - regex no longer ignored when var already has binding
+ - text is extracted with regex, then compared to variable
+ - @{var (fun ..)} changes:
+ - (fun ...) now processed in vertical mode if sole item in line.
+ - variable captures lines skipped over in vertical processing.
+ - (fun ...) no longer ignored when var already has binding.
+ - fun executed like in unbound case.
+ - text that would be bound to variable is compared to existing value.
+
+ - structural pattern matching:
+ - in quasiliteral patterns, @{var #/regex/} can specify bound variable now:
+ - matches text in same way as unbound case
+ - matched text must then match content of var
+
+ - lib:
+ - new functions: tuples*, rot, nrot, subq, subq, subqual, subst, pairlis.
+
+ - hash tables:
+ - use 64 bit hash on 64 bit platforms, rather than 32 bit.
+
+ - search trees:
+ - new function tree-count, and length/len works on trees.
+ - duplicate keys supported:
+ - tree, tree-insert, tree-insert-node have optional argument for
+ allowing duplicates.
+ - tree-delete-specific-node allows specific node to be
+ removed, when removing by key is ambiguous.
+ - priority queue support:
+ - tree-min, tree-min-node, tree-del-min, tree-del-min-node
+
+ - oop/structs:
+ - new feature: application-defined struct clause macros.
+ - new: :delegate and :mass-delegate clause macros for
+ generating delegate method boilerplate with minimal code.
+
+ Bugs
+
+ - compiler:
+ - fix non-working (compile '(lambda ...)).
+
+ - buffers:
+ - file-get-buf and command-get-buf use unbuffered I/O
+ to read the exact number of bytes into the buffer,
+ avoiding reading more bytes than requested.
+
+ - case macros (mainly affecting casequal):
+ - fixed 2017 regression causing a key value like ((a b c)),
+ which is the single key (a b c), to be wrongly converted
+ into a list of three keys.
+
+ - each-match, each-prod, sum-each family of macros:
+ - documented and added missing anonymous block
+
+ - maprodo: spurious non-nil return value issue.
+
+ - interpreter: bug in interpreting optional parameters,
+ present in original implementation from 2014 (absent in compiler).
+
+ - iteration: gc stability problem in iter-begin and iter-reset.
+
+ - define-accessor: broken argument handling.
+
+ - less/greater: gaping bug, vectors not supported.
+
+
+
TXR 272
2021-11-11