summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-09-11 06:44:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-09-11 06:44:49 -0700
commit86b5ec21aa5fd64fd13415c955e90756e2406368 (patch)
tree91e1794a45c6499ea28db461722ddf64d04d22ef
parent90cfbd9f4f0da650db4be458b01a8c44bee08047 (diff)
downloadtxr-225.tar.gz
txr-225.tar.bz2
txr-225.zip
Version 225.txr-225
* RELNOTES: Updated. * configure, txr.1: Bumped version and date. * share/txr/stdlib/ver.tl: Likewise. * txr.vim, tl.vim: Regenerated.
-rw-r--r--RELNOTES37
-rwxr-xr-xconfigure2
-rw-r--r--share/txr/stdlib/ver.tl2
-rw-r--r--tl.vim114
-rw-r--r--txr.16
-rw-r--r--txr.vim114
6 files changed, 156 insertions, 119 deletions
diff --git a/RELNOTES b/RELNOTES
index 086160d4..a2004161 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,40 @@
+ TXR 225
+ 2019-09-11
+
+
+ Features
+
+ - Lib:
+ - tailp function added
+ - Unicode BOM character object now prints as #\xFEFF rather than
+ #\ followed by a literal zero-width non-breaking space.
+
+ - OOP:
+ - cons cell used in non-cached slot lookup now recycled.
+ - access to common special methods like length now optimized.
+ - objects with length or car method now recognized as subtypes
+ of sequence.
+
+ Bugs
+
+ - Interpreter:
+ - issue between in let* and continuations: copy-env throws error.
+
+ - list-builder:
+ - significant rewrite of some internals.
+ - fixed broken self-appending and deviation from append semantics.
+
+ - Type system:
+ - subtypep now reports string and lcons as subtypes of sequence.
+ - objects with only length method now reported as sequences.
+
+ - Lib:
+ - Incorrectness in digits and digpow functions.
+ - bracket function incorrect when some or all arguments
+ passed via apply mechanism.
+
+
+
TXR 224
2019-08-29
diff --git a/configure b/configure
index 70af4b0d..a70f9722 100755
--- a/configure
+++ b/configure
@@ -464,7 +464,7 @@ fi
#
-txr_ver=224
+txr_ver=225
#
# The all important banner.
diff --git a/share/txr/stdlib/ver.tl b/share/txr/stdlib/ver.tl
index 6e5cbab7..71379d8c 100644
--- a/share/txr/stdlib/ver.tl
+++ b/share/txr/stdlib/ver.tl
@@ -1,2 +1,2 @@
-(defvarl lib-version 224)
+(defvarl lib-version 225)
(defvarl *lib-version* lib-version)
diff --git a/tl.vim b/tl.vim
index 564b43da..345475f2 100644
--- a/tl.vim
+++ b/tl.vim
@@ -531,63 +531,63 @@ syn keyword tl_keyword contained sys:vm-desc-nregs sys:vm-desc-symvec sys:vm-exe
syn keyword tl_keyword contained sys:wdwrap sys:with-dyn-lib-check sys:with-lev-idx syslog
syn keyword tl_keyword contained system-package t tab0 tab1
syn keyword tl_keyword contained tab2 tab3 tabdly tagbody
-syn keyword tl_keyword contained take take-until take-while tan
-syn keyword tl_keyword contained tb tc tcdrain tcflow
-syn keyword tl_keyword contained tcflush tcgetattr tciflush tcioff
-syn keyword tl_keyword contained tcioflush tcion tcoflush tcooff
-syn keyword tl_keyword contained tcoon tcsadrain tcsaflush tcsanow
-syn keyword tl_keyword contained tcsendbreak tcsetattr tentative-def-exists tenth
-syn keyword tl_keyword contained test-clear test-clear-dirty test-dec test-dirty
-syn keyword tl_keyword contained test-inc test-neq-set-indent-mode test-set test-set-indent-mode
-syn keyword tl_keyword contained tf third throw throwf
-syn keyword tl_keyword contained time time-fields-local time-fields-utc time-parse
-syn keyword tl_keyword contained time-parse-local time-parse-utc time-string-local time-string-utc
-syn keyword tl_keyword contained time-struct-local time-struct-utc time-t time-usec
-syn keyword tl_keyword contained to tofloat tofloatz toint
-syn keyword tl_keyword contained tointz tok tok-str tok-where
-syn keyword tl_keyword contained tostop tostring tostringp tprint
-syn keyword tl_keyword contained trace transpose tree-bind tree-case
-syn keyword tl_keyword contained tree-find trie-add trie-compress trie-lookup-begin
-syn keyword tl_keyword contained trie-lookup-feed-char trie-value-at trim-str true
-syn keyword tl_keyword contained trunc trunc-rem truncate-stream tuples
-syn keyword tl_keyword contained txr-case txr-exe-path txr-if txr-path
-syn keyword tl_keyword contained txr-version txr-when typecase typedef
-syn keyword tl_keyword contained typeof typep ubit uchar
-syn keyword tl_keyword contained uid-t uint 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 unum-carray
-syn keyword tl_keyword contained unuse-package unuse-sym unwind-protect upcase-str
-syn keyword tl_keyword contained upd update uref url-decode
-syn keyword tl_keyword contained url-encode use use-package use-sym
-syn keyword tl_keyword contained user-package ushort usl usleep
-syn keyword tl_keyword contained uslot 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 zero-fill zerop
-syn keyword tl_keyword contained zip znew
+syn keyword tl_keyword contained tailp take take-until take-while
+syn keyword tl_keyword contained tan tb tc tcdrain
+syn keyword tl_keyword contained tcflow tcflush tcgetattr tciflush
+syn keyword tl_keyword contained tcioff tcioflush tcion tcoflush
+syn keyword tl_keyword contained tcooff tcoon tcsadrain tcsaflush
+syn keyword tl_keyword contained tcsanow tcsendbreak tcsetattr tentative-def-exists
+syn keyword tl_keyword contained tenth test-clear test-clear-dirty test-dec
+syn keyword tl_keyword contained test-dirty test-inc test-neq-set-indent-mode test-set
+syn keyword tl_keyword contained test-set-indent-mode tf third throw
+syn keyword tl_keyword contained throwf time time-fields-local time-fields-utc
+syn keyword tl_keyword contained time-parse time-parse-local time-parse-utc time-string-local
+syn keyword tl_keyword contained time-string-utc time-struct-local time-struct-utc time-t
+syn keyword tl_keyword contained time-usec to tofloat tofloatz
+syn keyword tl_keyword contained toint tointz tok tok-str
+syn keyword tl_keyword contained tok-where tostop tostring tostringp
+syn keyword tl_keyword contained tprint trace transpose tree-bind
+syn keyword tl_keyword contained tree-case tree-find 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-ptr-t
+syn keyword tl_keyword contained uint16 uint32 uint64 uint8
+syn keyword tl_keyword contained ulong ulonglong umask umeth
+syn keyword tl_keyword contained umethod uname unget-byte unget-char
+syn keyword tl_keyword contained uni unintern union union-get
+syn keyword tl_keyword contained union-in union-members union-out union-put
+syn keyword tl_keyword contained uniq unique unless unquote
+syn keyword tl_keyword contained unsetenv until until* untrace
+syn keyword tl_keyword contained unum-carray unuse-package unuse-sym unwind-protect
+syn keyword tl_keyword contained upcase-str upd update uref
+syn keyword tl_keyword contained url-decode url-encode use use-package
+syn keyword tl_keyword contained use-sym user-package ushort usl
+syn keyword tl_keyword contained usleep uslot val vdiscard
+syn keyword tl_keyword contained vec vec-carray vec-list vec-push
+syn keyword tl_keyword contained vec-set-length vecref vector vector-list
+syn keyword tl_keyword contained vectorp veof veol veol2
+syn keyword tl_keyword contained verase vintr vkill vlnext
+syn keyword tl_keyword contained vm-fun-p vmin void vquit
+syn keyword tl_keyword contained vreprint vstart vstop vsusp
+syn keyword tl_keyword contained vswtc vt0 vt1 vtdly
+syn keyword tl_keyword contained vtime vwerase w-continued w-coredump
+syn keyword tl_keyword contained w-exitstatus w-ifcontinued w-ifexited w-ifsignaled
+syn keyword tl_keyword contained w-ifstopped w-nohang w-stopsig w-termsig
+syn keyword tl_keyword contained w-untraced wait wchar weave
+syn keyword tl_keyword contained when whena whenlet where
+syn keyword tl_keyword contained while while* whilet width
+syn keyword tl_keyword contained width-check window-map window-mapdo window-mappend
+syn keyword tl_keyword contained wint-t with-clobber-expander with-compilation-unit with-delete-expander
+syn keyword tl_keyword contained with-dyn-lib with-gensyms with-hash-iter with-in-buf-stream
+syn keyword tl_keyword contained with-in-string-byte-stream with-in-string-stream with-objects with-out-buf-stream
+syn keyword tl_keyword contained with-out-string-stream with-out-strlist-stream with-resources with-slots
+syn keyword tl_keyword contained with-stream with-update-expander wrap wrap*
+syn keyword tl_keyword contained wstr wstr-d xcase yield
+syn keyword tl_keyword contained yield-from zap zarray 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 c95f161a..edf6b1f9 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 2019-08-29 "Utility Commands" "TXR Programming Language" "Kaz Kylheku"
+.TH TXR 1 2019-09-11 "Utility Commands" "TXR Programming Language" "Kaz Kylheku"
.SH* NAME
-\*(TX \- Programming Language (Version 224)
+\*(TX \- Programming Language (Version 225)
.SH* SYNOPSIS
.mono
@@ -67080,7 +67080,7 @@ that version.
Version 199 produces version 3 files and loads version 2 or 3.
-Versions 200 through 224 produce version 4 files and load version 2, 3 or 4.
+Versions 200 through 225 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 91fb7991..ba0a26d9 100644
--- a/txr.vim
+++ b/txr.vim
@@ -531,63 +531,63 @@ syn keyword tl_keyword contained sys:vm-desc-nregs sys:vm-desc-symvec sys:vm-exe
syn keyword tl_keyword contained sys:wdwrap sys:with-dyn-lib-check sys:with-lev-idx syslog
syn keyword tl_keyword contained system-package t tab0 tab1
syn keyword tl_keyword contained tab2 tab3 tabdly tagbody
-syn keyword tl_keyword contained take take-until take-while tan
-syn keyword tl_keyword contained tb tc tcdrain tcflow
-syn keyword tl_keyword contained tcflush tcgetattr tciflush tcioff
-syn keyword tl_keyword contained tcioflush tcion tcoflush tcooff
-syn keyword tl_keyword contained tcoon tcsadrain tcsaflush tcsanow
-syn keyword tl_keyword contained tcsendbreak tcsetattr tentative-def-exists tenth
-syn keyword tl_keyword contained test-clear test-clear-dirty test-dec test-dirty
-syn keyword tl_keyword contained test-inc test-neq-set-indent-mode test-set test-set-indent-mode
-syn keyword tl_keyword contained tf third throw throwf
-syn keyword tl_keyword contained time time-fields-local time-fields-utc time-parse
-syn keyword tl_keyword contained time-parse-local time-parse-utc time-string-local time-string-utc
-syn keyword tl_keyword contained time-struct-local time-struct-utc time-t time-usec
-syn keyword tl_keyword contained to tofloat tofloatz toint
-syn keyword tl_keyword contained tointz tok tok-str tok-where
-syn keyword tl_keyword contained tostop tostring tostringp tprint
-syn keyword tl_keyword contained trace transpose tree-bind tree-case
-syn keyword tl_keyword contained tree-find trie-add trie-compress trie-lookup-begin
-syn keyword tl_keyword contained trie-lookup-feed-char trie-value-at trim-str true
-syn keyword tl_keyword contained trunc trunc-rem truncate-stream tuples
-syn keyword tl_keyword contained txr-case txr-exe-path txr-if txr-path
-syn keyword tl_keyword contained txr-version txr-when typecase typedef
-syn keyword tl_keyword contained typeof typep ubit uchar
-syn keyword tl_keyword contained uid-t uint 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 unum-carray
-syn keyword tl_keyword contained unuse-package unuse-sym unwind-protect upcase-str
-syn keyword tl_keyword contained upd update uref url-decode
-syn keyword tl_keyword contained url-encode use use-package use-sym
-syn keyword tl_keyword contained user-package ushort usl usleep
-syn keyword tl_keyword contained uslot 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 zero-fill zerop
-syn keyword tl_keyword contained zip znew
+syn keyword tl_keyword contained tailp take take-until take-while
+syn keyword tl_keyword contained tan tb tc tcdrain
+syn keyword tl_keyword contained tcflow tcflush tcgetattr tciflush
+syn keyword tl_keyword contained tcioff tcioflush tcion tcoflush
+syn keyword tl_keyword contained tcooff tcoon tcsadrain tcsaflush
+syn keyword tl_keyword contained tcsanow tcsendbreak tcsetattr tentative-def-exists
+syn keyword tl_keyword contained tenth test-clear test-clear-dirty test-dec
+syn keyword tl_keyword contained test-dirty test-inc test-neq-set-indent-mode test-set
+syn keyword tl_keyword contained test-set-indent-mode tf third throw
+syn keyword tl_keyword contained throwf time time-fields-local time-fields-utc
+syn keyword tl_keyword contained time-parse time-parse-local time-parse-utc time-string-local
+syn keyword tl_keyword contained time-string-utc time-struct-local time-struct-utc time-t
+syn keyword tl_keyword contained time-usec to tofloat tofloatz
+syn keyword tl_keyword contained toint tointz tok tok-str
+syn keyword tl_keyword contained tok-where tostop tostring tostringp
+syn keyword tl_keyword contained tprint trace transpose tree-bind
+syn keyword tl_keyword contained tree-case tree-find 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-ptr-t
+syn keyword tl_keyword contained uint16 uint32 uint64 uint8
+syn keyword tl_keyword contained ulong ulonglong umask umeth
+syn keyword tl_keyword contained umethod uname unget-byte unget-char
+syn keyword tl_keyword contained uni unintern union union-get
+syn keyword tl_keyword contained union-in union-members union-out union-put
+syn keyword tl_keyword contained uniq unique unless unquote
+syn keyword tl_keyword contained unsetenv until until* untrace
+syn keyword tl_keyword contained unum-carray unuse-package unuse-sym unwind-protect
+syn keyword tl_keyword contained upcase-str upd update uref
+syn keyword tl_keyword contained url-decode url-encode use use-package
+syn keyword tl_keyword contained use-sym user-package ushort usl
+syn keyword tl_keyword contained usleep uslot val vdiscard
+syn keyword tl_keyword contained vec vec-carray vec-list vec-push
+syn keyword tl_keyword contained vec-set-length vecref vector vector-list
+syn keyword tl_keyword contained vectorp veof veol veol2
+syn keyword tl_keyword contained verase vintr vkill vlnext
+syn keyword tl_keyword contained vm-fun-p vmin void vquit
+syn keyword tl_keyword contained vreprint vstart vstop vsusp
+syn keyword tl_keyword contained vswtc vt0 vt1 vtdly
+syn keyword tl_keyword contained vtime vwerase w-continued w-coredump
+syn keyword tl_keyword contained w-exitstatus w-ifcontinued w-ifexited w-ifsignaled
+syn keyword tl_keyword contained w-ifstopped w-nohang w-stopsig w-termsig
+syn keyword tl_keyword contained w-untraced wait wchar weave
+syn keyword tl_keyword contained when whena whenlet where
+syn keyword tl_keyword contained while while* whilet width
+syn keyword tl_keyword contained width-check window-map window-mapdo window-mappend
+syn keyword tl_keyword contained wint-t with-clobber-expander with-compilation-unit with-delete-expander
+syn keyword tl_keyword contained with-dyn-lib with-gensyms with-hash-iter with-in-buf-stream
+syn keyword tl_keyword contained with-in-string-byte-stream with-in-string-stream with-objects with-out-buf-stream
+syn keyword tl_keyword contained with-out-string-stream with-out-strlist-stream with-resources with-slots
+syn keyword tl_keyword contained with-stream with-update-expander wrap wrap*
+syn keyword tl_keyword contained wstr wstr-d xcase yield
+syn keyword tl_keyword contained yield-from zap zarray 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