summaryrefslogtreecommitdiffstats
path: root/RELNOTES
blob: 79e7043cafbe9b338f0850446006cbb1779c52c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Version 042

  Features

  - Access to environment via @(next :env)
  - New @(gather) directive for matching out-of-order material.

  - Horizontal functions:
    - TXR can now parse grammars.
    - Variable syntax allows capture of text spanned by function calls:
      e.g. @{var (func x y)}: text spanned by (func x y) goes into var.

  - Horizontal modes for numerous directives such as @(bind), @(local), ...

  - Lisp-style bindings output.

  - Interactive breakpoint/step debugger added.
    This is an experimental prototype, but already quite useful.

  - Directives following a variable match have searching semantics now,
    as do function calls. @a@(foo) will scan for a match for @(foo),
    and the text skipped over is captured by a.

  - New :resolve keyword in @(some) directive allowing conflicting
    variable bindings to be set in separate clauses and resolved.

  - deffilter is more powerful: arguments are evaluated so filters can
    be computed by the query.

  Bugs

  - Horizontal @(some) directive hooked in.

  - @(freeform) with no data fails to match instead of throwing strange error.

  - Setting non-local variables from a function works now.

  - Stability fix: several long-time uninitialized variable bugs found,
    and some faulty object initialization orders.

  Internal

  - New infrastructure for matching location info to source forms.
    Location info (currently just the line number) is associated with
    source forms via a weak hash table.

  - Character literals are now Lispy (hash-backslash syntax), based on Scheme.

  - Added quote, unquote and splicing syntax similar to Lisp. Not used
    for anything yet.

  - Improved Valgrind integration: more accurate, timely detection of
    uninitialized fields in heap objects.

  Misc.

  - A TXR syntax highlighting file for the Vim editor exists
    now. See the txr.vim file.