summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELNOTES52
-rwxr-xr-xconfigure2
-rw-r--r--share/txr/stdlib/ver.tl2
-rw-r--r--tl.vim76
-rw-r--r--txr.16
-rw-r--r--txr.vim76
6 files changed, 133 insertions, 81 deletions
diff --git a/RELNOTES b/RELNOTES
index db6e5516..2d6d3f3d 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,55 @@
+ TXR 235
+ 2020-04-12
+
+
+ Features
+
+ - Lib:
+ - new txr-parse function, opening access to the
+ parser for the TXR Pattern Language.
+ - used by tags.tl.
+ - path testing funtions now accept stream argument.
+ - Exceptions:
+ - unhandled non-error exception throws now simply
+ return instead of terminating.
+ - in pattern language unhandled @(assert) with
+ a non-error exception behaves as failed match.
+ - Parser:
+ - more efficient handling of list syntax.
+ - Listener:
+ - Ctrl-X Ctrl-F command to force submission of unbalanced line.
+ - dot file security tests improved.
+ - permissions of .txr_history files checked also
+ - if permissions on .txr_profile or .txr_history are
+ bad, txr checks and diagnoses the user's umask.
+ - tags.tl script:
+ - now handles txr files: define and bind directives,
+ as well as Lisp forms in @(do ...).
+ - now follows load forms and processes defpackage.
+ - each file read in new temporary package, and
+ restores list of packages after each file.
+ - Build:
+ - Now builds cleanly with -Wextra under GCC 7+.
+
+ Bugs
+
+ - tags.tl:
+ - backslashes not escaped in tags file.
+ - macro-time forms not handled.
+ - configure:
+ - quote characters handled in config variable values.
+ - Doc:
+ - existing lineno argumnt of read and iread documented.
+ - Hashing:
+ - flaw in weak hash algorithm leading to spurious retention in situations
+ when keys are weak, but values have reference to keys, or vice versa.
+ - caused streams and parsers to leak.
+ - Pattern Language
+ - addressed spurious retention issues, causing memory
+ growth proportional to the amount of input scanned.
+
+
+
TXR 234
2020-03-25
diff --git a/configure b/configure
index a2000b51..be2b6097 100755
--- a/configure
+++ b/configure
@@ -503,7 +503,7 @@ fi
#
-txr_ver=234
+txr_ver=235
#
# The all important banner.
diff --git a/share/txr/stdlib/ver.tl b/share/txr/stdlib/ver.tl
index bf26de46..dd7b0913 100644
--- a/share/txr/stdlib/ver.tl
+++ b/share/txr/stdlib/ver.tl
@@ -1,2 +1,2 @@
-(defvarl lib-version 233)
+(defvarl lib-version 235)
(defvarl *lib-version* lib-version)
diff --git a/tl.vim b/tl.vim
index 6f35065e..03943e0c 100644
--- a/tl.vim
+++ b/tl.vim
@@ -572,44 +572,44 @@ syn keyword tl_keyword contained tree-root treep trie-add trie-compress
syn keyword tl_keyword contained trie-lookup-begin trie-lookup-feed-char trie-value-at trim-str
syn keyword tl_keyword contained true trunc trunc-rem truncate-stream
syn keyword tl_keyword contained tuples txr-case txr-exe-path txr-if
-syn keyword tl_keyword contained txr-path txr-version txr-when typecase
-syn keyword tl_keyword contained typedef typeof typep ubit
-syn keyword tl_keyword contained uchar uid-t uint uint-buf
-syn keyword tl_keyword contained uint-carray uint-ptr-t uint16 uint32
-syn keyword tl_keyword contained uint64 uint8 ulong ulonglong
-syn keyword tl_keyword contained umask umeth umethod uname
-syn keyword tl_keyword contained unget-byte unget-char uni unintern
-syn keyword tl_keyword contained union union-get union-in union-members
-syn keyword tl_keyword contained union-out union-put uniq unique
-syn keyword tl_keyword contained unless unquote unsetenv until
-syn keyword tl_keyword contained until* untrace unuse-package unuse-sym
-syn keyword tl_keyword contained unwind-protect upcase-str upd update
-syn keyword tl_keyword contained uref url-decode url-encode use
-syn keyword tl_keyword contained use-package use-sym user-package ushort
-syn keyword tl_keyword contained usl usleep uslot utimes
-syn keyword tl_keyword contained val vdiscard vec vec-carray
-syn keyword tl_keyword contained vec-list vec-push vec-set-length vecref
-syn keyword tl_keyword contained vector vector-list vectorp veof
-syn keyword tl_keyword contained veol veol2 verase vintr
-syn keyword tl_keyword contained vkill vlnext vm-fun-p vmin
-syn keyword tl_keyword contained void vquit vreprint vstart
-syn keyword tl_keyword contained vstop vsusp vswtc vt0
-syn keyword tl_keyword contained vt1 vtdly vtime vwerase
-syn keyword tl_keyword contained w-continued w-coredump w-exitstatus w-ifcontinued
-syn keyword tl_keyword contained w-ifexited w-ifsignaled w-ifstopped w-nohang
-syn keyword tl_keyword contained w-stopsig w-termsig w-untraced wait
-syn keyword tl_keyword contained wchar weave when whena
-syn keyword tl_keyword contained whenlet where while while*
-syn keyword tl_keyword contained whilet width width-check window-map
-syn keyword tl_keyword contained window-mapdo window-mappend wint-t with-clobber-expander
-syn keyword tl_keyword contained with-compilation-unit with-delete-expander with-dyn-lib with-gensyms
-syn keyword tl_keyword contained with-hash-iter with-in-buf-stream with-in-string-byte-stream with-in-string-stream
-syn keyword tl_keyword contained with-objects with-out-buf-stream with-out-string-stream with-out-strlist-stream
-syn keyword tl_keyword contained with-resources with-slots with-stream with-update-expander
-syn keyword tl_keyword contained wrap wrap* wstr wstr-d
-syn keyword tl_keyword contained xcase yield yield-from zap
-syn keyword tl_keyword contained zarray zchar zero-fill zerop
-syn keyword tl_keyword contained zip znew
+syn keyword tl_keyword contained txr-parse txr-path txr-version txr-when
+syn keyword tl_keyword contained typecase typedef typeof typep
+syn keyword tl_keyword contained ubit uchar uid-t uint
+syn keyword tl_keyword contained uint-buf uint-carray uint-ptr-t uint16
+syn keyword tl_keyword contained uint32 uint64 uint8 ulong
+syn keyword tl_keyword contained ulonglong umask umeth umethod
+syn keyword tl_keyword contained uname unget-byte unget-char uni
+syn keyword tl_keyword contained unintern union union-get union-in
+syn keyword tl_keyword contained union-members union-out union-put uniq
+syn keyword tl_keyword contained unique unless unquote unsetenv
+syn keyword tl_keyword contained until until* untrace unuse-package
+syn keyword tl_keyword contained unuse-sym unwind-protect upcase-str upd
+syn keyword tl_keyword contained update uref url-decode url-encode
+syn keyword tl_keyword contained use use-package use-sym user-package
+syn keyword tl_keyword contained ushort usl usleep uslot
+syn keyword tl_keyword contained utimes val vdiscard vec
+syn keyword tl_keyword contained vec-carray vec-list vec-push vec-set-length
+syn keyword tl_keyword contained vecref vector vector-list vectorp
+syn keyword tl_keyword contained veof veol veol2 verase
+syn keyword tl_keyword contained vintr vkill vlnext vm-fun-p
+syn keyword tl_keyword contained vmin void vquit vreprint
+syn keyword tl_keyword contained vstart vstop vsusp vswtc
+syn keyword tl_keyword contained vt0 vt1 vtdly vtime
+syn keyword tl_keyword contained vwerase w-continued w-coredump w-exitstatus
+syn keyword tl_keyword contained w-ifcontinued w-ifexited w-ifsignaled w-ifstopped
+syn keyword tl_keyword contained w-nohang w-stopsig w-termsig w-untraced
+syn keyword tl_keyword contained wait wchar weave when
+syn keyword tl_keyword contained whena whenlet where while
+syn keyword tl_keyword contained while* whilet width width-check
+syn keyword tl_keyword contained window-map window-mapdo window-mappend wint-t
+syn keyword tl_keyword contained with-clobber-expander with-compilation-unit with-delete-expander with-dyn-lib
+syn keyword tl_keyword contained with-gensyms with-hash-iter with-in-buf-stream with-in-string-byte-stream
+syn keyword tl_keyword contained with-in-string-stream with-objects with-out-buf-stream with-out-string-stream
+syn keyword tl_keyword contained with-out-strlist-stream with-resources with-slots with-stream
+syn keyword tl_keyword contained with-update-expander wrap wrap* wstr
+syn keyword tl_keyword contained wstr-d xcase yield yield-from
+syn keyword tl_keyword contained zap zarray zchar zero-fill
+syn keyword tl_keyword contained zerop zip znew
syn match txr_nested_error "[^\t ]\+" contained
syn match txr_variable "\(@[ \t]*\)[*]\?[ \t]*[A-Za-z_][A-Za-z_0-9]*"
syn match txr_splicevar "@[ \t,*@]*[A-Za-z_][A-Za-z_0-9]*" contained
diff --git a/txr.1 b/txr.1
index 8c2467fa..ddc258a1 100644
--- a/txr.1
+++ b/txr.1
@@ -350,9 +350,9 @@
.ds TX \f[B]TXR\f[]
.ds TL \f[B]TXR Lisp\f[]
.\" Start of man page:
-.TH TXR 1 2020-03-25 "Utility Commands" "TXR Programming Language" "Kaz Kylheku"
+.TH TXR 1 2020-04-12 "Utility Commands" "TXR Programming Language" "Kaz Kylheku"
.SH* NAME
-\*(TX \- Programming Language (Version 234)
+\*(TX \- Programming Language (Version 235)
.SH* SYNOPSIS
.mono
@@ -70444,7 +70444,7 @@ that version.
Version 199 produces version 3 files and loads version 2 or 3.
-Versions 200 through 234 produce version 4 files and load version 2, 3 or 4.
+Versions 200 through 235 produce version 4 files and load version 2, 3 or 4.
.SS* Semantic Differences between Compilation and Interpretation
diff --git a/txr.vim b/txr.vim
index 5499a076..a08f1421 100644
--- a/txr.vim
+++ b/txr.vim
@@ -572,44 +572,44 @@ syn keyword tl_keyword contained tree-root treep trie-add trie-compress
syn keyword tl_keyword contained trie-lookup-begin trie-lookup-feed-char trie-value-at trim-str
syn keyword tl_keyword contained true trunc trunc-rem truncate-stream
syn keyword tl_keyword contained tuples txr-case txr-exe-path txr-if
-syn keyword tl_keyword contained txr-path txr-version txr-when typecase
-syn keyword tl_keyword contained typedef typeof typep ubit
-syn keyword tl_keyword contained uchar uid-t uint uint-buf
-syn keyword tl_keyword contained uint-carray uint-ptr-t uint16 uint32
-syn keyword tl_keyword contained uint64 uint8 ulong ulonglong
-syn keyword tl_keyword contained umask umeth umethod uname
-syn keyword tl_keyword contained unget-byte unget-char uni unintern
-syn keyword tl_keyword contained union union-get union-in union-members
-syn keyword tl_keyword contained union-out union-put uniq unique
-syn keyword tl_keyword contained unless unquote unsetenv until
-syn keyword tl_keyword contained until* untrace unuse-package unuse-sym
-syn keyword tl_keyword contained unwind-protect upcase-str upd update
-syn keyword tl_keyword contained uref url-decode url-encode use
-syn keyword tl_keyword contained use-package use-sym user-package ushort
-syn keyword tl_keyword contained usl usleep uslot utimes
-syn keyword tl_keyword contained val vdiscard vec vec-carray
-syn keyword tl_keyword contained vec-list vec-push vec-set-length vecref
-syn keyword tl_keyword contained vector vector-list vectorp veof
-syn keyword tl_keyword contained veol veol2 verase vintr
-syn keyword tl_keyword contained vkill vlnext vm-fun-p vmin
-syn keyword tl_keyword contained void vquit vreprint vstart
-syn keyword tl_keyword contained vstop vsusp vswtc vt0
-syn keyword tl_keyword contained vt1 vtdly vtime vwerase
-syn keyword tl_keyword contained w-continued w-coredump w-exitstatus w-ifcontinued
-syn keyword tl_keyword contained w-ifexited w-ifsignaled w-ifstopped w-nohang
-syn keyword tl_keyword contained w-stopsig w-termsig w-untraced wait
-syn keyword tl_keyword contained wchar weave when whena
-syn keyword tl_keyword contained whenlet where while while*
-syn keyword tl_keyword contained whilet width width-check window-map
-syn keyword tl_keyword contained window-mapdo window-mappend wint-t with-clobber-expander
-syn keyword tl_keyword contained with-compilation-unit with-delete-expander with-dyn-lib with-gensyms
-syn keyword tl_keyword contained with-hash-iter with-in-buf-stream with-in-string-byte-stream with-in-string-stream
-syn keyword tl_keyword contained with-objects with-out-buf-stream with-out-string-stream with-out-strlist-stream
-syn keyword tl_keyword contained with-resources with-slots with-stream with-update-expander
-syn keyword tl_keyword contained wrap wrap* wstr wstr-d
-syn keyword tl_keyword contained xcase yield yield-from zap
-syn keyword tl_keyword contained zarray zchar zero-fill zerop
-syn keyword tl_keyword contained zip znew
+syn keyword tl_keyword contained txr-parse txr-path txr-version txr-when
+syn keyword tl_keyword contained typecase typedef typeof typep
+syn keyword tl_keyword contained ubit uchar uid-t uint
+syn keyword tl_keyword contained uint-buf uint-carray uint-ptr-t uint16
+syn keyword tl_keyword contained uint32 uint64 uint8 ulong
+syn keyword tl_keyword contained ulonglong umask umeth umethod
+syn keyword tl_keyword contained uname unget-byte unget-char uni
+syn keyword tl_keyword contained unintern union union-get union-in
+syn keyword tl_keyword contained union-members union-out union-put uniq
+syn keyword tl_keyword contained unique unless unquote unsetenv
+syn keyword tl_keyword contained until until* untrace unuse-package
+syn keyword tl_keyword contained unuse-sym unwind-protect upcase-str upd
+syn keyword tl_keyword contained update uref url-decode url-encode
+syn keyword tl_keyword contained use use-package use-sym user-package
+syn keyword tl_keyword contained ushort usl usleep uslot
+syn keyword tl_keyword contained utimes val vdiscard vec
+syn keyword tl_keyword contained vec-carray vec-list vec-push vec-set-length
+syn keyword tl_keyword contained vecref vector vector-list vectorp
+syn keyword tl_keyword contained veof veol veol2 verase
+syn keyword tl_keyword contained vintr vkill vlnext vm-fun-p
+syn keyword tl_keyword contained vmin void vquit vreprint
+syn keyword tl_keyword contained vstart vstop vsusp vswtc
+syn keyword tl_keyword contained vt0 vt1 vtdly vtime
+syn keyword tl_keyword contained vwerase w-continued w-coredump w-exitstatus
+syn keyword tl_keyword contained w-ifcontinued w-ifexited w-ifsignaled w-ifstopped
+syn keyword tl_keyword contained w-nohang w-stopsig w-termsig w-untraced
+syn keyword tl_keyword contained wait wchar weave when
+syn keyword tl_keyword contained whena whenlet where while
+syn keyword tl_keyword contained while* whilet width width-check
+syn keyword tl_keyword contained window-map window-mapdo window-mappend wint-t
+syn keyword tl_keyword contained with-clobber-expander with-compilation-unit with-delete-expander with-dyn-lib
+syn keyword tl_keyword contained with-gensyms with-hash-iter with-in-buf-stream with-in-string-byte-stream
+syn keyword tl_keyword contained with-in-string-stream with-objects with-out-buf-stream with-out-string-stream
+syn keyword tl_keyword contained with-out-strlist-stream with-resources with-slots with-stream
+syn keyword tl_keyword contained with-update-expander wrap wrap* wstr
+syn keyword tl_keyword contained wstr-d xcase yield yield-from
+syn keyword tl_keyword contained zap zarray zchar zero-fill
+syn keyword tl_keyword contained zerop zip znew
syn keyword txr_keyword contained accept all and assert
syn keyword txr_keyword contained bind block call cases