summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-03-14 21:46:08 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-03-14 21:46:08 -0700
commit41cc08bc7b988e54acef818e6a4a5a24b396fe6f (patch)
treef588e85da54ead2be343a14a13fa240a023270a9
parentd2ae3852c54f0b12ce1843ea5d670ff4aa5e1b0f (diff)
downloadtxr-41cc08bc7b988e54acef818e6a4a5a24b396fe6f.tar.gz
txr-41cc08bc7b988e54acef818e6a4a5a24b396fe6f.tar.bz2
txr-41cc08bc7b988e54acef818e6a4a5a24b396fe6f.zip
Version 105.txr-105
-rw-r--r--ChangeLog12
-rw-r--r--RELNOTES41
-rwxr-xr-xconfigure2
-rw-r--r--share/txr/stdlib/ver.txr2
-rw-r--r--tl.vim277
-rw-r--r--txr.14
-rw-r--r--txr.vim277
7 files changed, 335 insertions, 280 deletions
diff --git a/ChangeLog b/ChangeLog
index 8109c752..49df5cca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2015-03-11 Kaz Kylheku <kaz@kylheku.com>
+ Version 105.
+
+ * RELNOTES: Updated.
+
+ * configure, txr.1: Bumped version.
+
+ * share/txr/stdlib/ver.txr: Likewise.
+
+ * txr.vim, tl.vim: Regenerated.
+
+2015-03-11 Kaz Kylheku <kaz@kylheku.com>
+
* stream.c (run): In Windows version, fix nasty corruption bug:
we were freeing C strings that were not duplicated, but only borrowed
from string objects.
diff --git a/RELNOTES b/RELNOTES
index 2a15f3a0..2545954a 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,44 @@
+ TXR 105
+ 2015-03-14
+
+
+ Features
+
+ - New function lexical-lisp1-binding for improved macro-time introspection of
+ environments.
+
+ - New functions pad and weave.
+
+ - New regex functions search-regst, match-regst and match-regst-right,
+ to complement search-regex, match-regex and match-regex right.
+
+ - Improved error reporting, particularly for errors ocurring during
+ the expansion of a macro.
+
+ - Streams have persistent error state. New functions: get-error,
+ get-error-str and clear-error.
+
+ - New ignerr macro for trapping exceptions of type error, and converting
+ them to a nil return value.
+
+ - New function ensure-dir: creates a directory in the filesystem,
+ with all parent directories also created as necessary, and doesn't
+ complain if the directory already exists.
+
+ Bugs
+
+ - Bugfixes in append* function: lack of error handling and inappropriate
+ forcing of infinite lists in some circumstances.
+
+ - Bugfix in match-regex-right: zero length matches must return zero rather
+ than nil.
+
+ - Fixed memory leak in open-process and run on POSIX platforms.
+
+ - Fixed memory corruption bug in run function on Windows platform.
+
+
+
TXR 104
2015-02-08
diff --git a/configure b/configure
index ff45438f..7606a252 100755
--- a/configure
+++ b/configure
@@ -418,7 +418,7 @@ fi
#
-txr_ver=104
+txr_ver=105
#
# The all important banner.
diff --git a/share/txr/stdlib/ver.txr b/share/txr/stdlib/ver.txr
index 3cef6f59..14ef3101 100644
--- a/share/txr/stdlib/ver.txr
+++ b/share/txr/stdlib/ver.txr
@@ -1 +1 @@
-@(do (defvar *lib-version* 104))
+@(do (defvar *lib-version* 105))
diff --git a/tl.vim b/tl.vim
index fe8e5744..34ede875 100644
--- a/tl.vim
+++ b/tl.vim
@@ -55,144 +55,145 @@ syn keyword txl_keyword contained countqual cum-norm-dist daemon dec
syn keyword txl_keyword contained defmacro defsymacro defun defvar
syn keyword txl_keyword contained del delay delete-package do
syn keyword txl_keyword contained dohash downcase-str dup dwim
-syn keyword txl_keyword contained each each* empty env
-syn keyword txl_keyword contained env-fbind env-hash env-vbind eq
-syn keyword txl_keyword contained eql equal errno error
-syn keyword txl_keyword contained eval evenp exit exp
-syn keyword txl_keyword contained expt exptmod false fbind
-syn keyword txl_keyword contained fboundp fifth filter-equal filter-string-tree
-syn keyword txl_keyword contained finalize find find-if find-max
-syn keyword txl_keyword contained find-min find-package first fixnump
-syn keyword txl_keyword contained flatten flatten* flet flip
-syn keyword txl_keyword contained flo-int flo-str floatp floor
-syn keyword txl_keyword contained flush-stream for for* force
-syn keyword txl_keyword contained format fourth fun func-get-env
-syn keyword txl_keyword contained func-get-form func-set-env functionp gcd
-syn keyword txl_keyword contained gen generate gensym gequal
-syn keyword txl_keyword contained get-byte get-char get-error get-error-str
-syn keyword txl_keyword contained get-hash-userdata get-line get-lines get-list-from-stream
-syn keyword txl_keyword contained get-sig-handler get-string get-string-from-stream gethash
-syn keyword txl_keyword contained getitimer getpid getppid giterate
-syn keyword txl_keyword contained glob glob-altdirfunc glob-brace glob-err
-syn keyword txl_keyword contained glob-mark glob-nocheck glob-noescape glob-nomagic
-syn keyword txl_keyword contained glob-nosort glob-onlydir glob-period glob-tilde
-syn keyword txl_keyword contained glob-tilde-check greater group-by gun
-syn keyword txl_keyword contained hash hash-alist hash-construct hash-count
-syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec
-syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update
-syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode
-syn keyword txl_keyword contained html-encode iapply identity ido
-syn keyword txl_keyword contained if iff iffi ignerr
-syn keyword txl_keyword contained in inc inhash int-flo
-syn keyword txl_keyword contained int-str integerp intern interp-fun-p
-syn keyword txl_keyword contained interpose ip ipf isqrt
-syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt
-syn keyword txl_keyword contained keep-if keep-if* keywordp kill
-syn keyword txl_keyword contained labels lambda last lazy-str
-syn keyword txl_keyword contained lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons
-syn keyword txl_keyword contained lazy-stringp lbind lcm lcons-fun
-syn keyword txl_keyword contained lconsp ldiff length length-list
-syn keyword txl_keyword contained length-str length-str-< length-str-<= length-str->
-syn keyword txl_keyword contained length-str->= length-vec lequal less
-syn keyword txl_keyword contained let let* lexical-fun-p lexical-lisp1-binding
-syn keyword txl_keyword contained lexical-var-p link lisp-parse list
-syn keyword txl_keyword contained list* list-str list-vector listp
-syn keyword txl_keyword contained log log-alert log-auth log-authpriv
-syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug
-syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay
-syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror
-syn keyword txl_keyword contained log-pid log-user log-warning log10
-syn keyword txl_keyword contained log2 logand logior lognot
-syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p
-syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet
-syn keyword txl_keyword contained major make-catenated-stream make-env make-hash
-syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state
-syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream
-syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc
-syn keyword txl_keyword contained make-trie makedev mapcar mapcar*
-syn keyword txl_keyword contained mapdo mapf maphash mappend
-syn keyword txl_keyword contained mappend* mask match-fun match-regex
-syn keyword txl_keyword contained match-regex-right match-regst match-regst-right match-str
-syn keyword txl_keyword contained match-str-tree max member member-if
-syn keyword txl_keyword contained memq memql memqual merge
-syn keyword txl_keyword contained min minor minusp mkdir
-syn keyword txl_keyword contained mknod mkstring mod multi
-syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
-syn keyword txl_keyword contained nilf none not notf
-syn keyword txl_keyword contained nreverse null nullify num-chr
-syn keyword txl_keyword contained num-str numberp oand oddp
-syn keyword txl_keyword contained op open-command open-directory open-file
-syn keyword txl_keyword contained open-files open-files* open-pipe open-process
-syn keyword txl_keyword contained open-tail openlog opip or
-syn keyword txl_keyword contained orf packagep pad partition
-syn keyword txl_keyword contained partition* partition-by perm plusp
-syn keyword txl_keyword contained pop pos pos-if pos-max
-syn keyword txl_keyword contained pos-min posq posql posqual
-syn keyword txl_keyword contained pppred ppred pprinl pprint
-syn keyword txl_keyword contained pprof pred prinl print
-syn keyword txl_keyword contained prof prog1 progn prop
-syn keyword txl_keyword contained proper-listp push pushhash put-byte
-syn keyword txl_keyword contained put-char put-line put-lines put-string
-syn keyword txl_keyword contained put-strings pwd qquote quasi
-syn keyword txl_keyword contained quasilist quote rand random
-syn keyword txl_keyword contained random-fixnum random-state-p range range*
-syn keyword txl_keyword contained range-regex rcomb read readlink
-syn keyword txl_keyword contained real-time-stream-p reduce-left reduce-right ref
-syn keyword txl_keyword contained refset regex-compile regex-parse regexp
-syn keyword txl_keyword contained regsub rehome-sym remhash remove-if
-syn keyword txl_keyword contained remove-if* remove-path remq remq*
-syn keyword txl_keyword contained remql remql* remqual remqual*
-syn keyword txl_keyword contained rename-path repeat replace replace-list
-syn keyword txl_keyword contained replace-str replace-vec rest ret
-syn keyword txl_keyword contained retf return return-from reverse
-syn keyword txl_keyword contained rlcp rperm rplaca rplacd
-syn keyword txl_keyword contained run s-ifblk s-ifchr s-ifdir
-syn keyword txl_keyword contained s-ififo s-iflnk s-ifmt s-ifreg
-syn keyword txl_keyword contained s-ifsock s-irgrp s-iroth s-irusr
-syn keyword txl_keyword contained s-irwxg s-irwxo s-irwxu s-isgid
-syn keyword txl_keyword contained s-isuid s-isvtx s-iwgrp s-iwoth
-syn keyword txl_keyword contained s-iwusr s-ixgrp s-ixoth s-ixusr
-syn keyword txl_keyword contained search search-regex search-regst search-str
-syn keyword txl_keyword contained search-str-tree second seek-stream select
-syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
-syn keyword txl_keyword contained set-sig-handler sethash setitimer setlogmask
-syn keyword txl_keyword contained sh sig-abrt sig-alrm sig-bus
-syn keyword txl_keyword contained sig-check sig-chld sig-cont sig-fpe
-syn keyword txl_keyword contained sig-hup sig-ill sig-int sig-io
-syn keyword txl_keyword contained sig-iot sig-kill sig-lost sig-pipe
-syn keyword txl_keyword contained sig-poll sig-prof sig-pwr sig-quit
-syn keyword txl_keyword contained sig-segv sig-stkflt sig-stop sig-sys
-syn keyword txl_keyword contained sig-term sig-trap sig-tstp sig-ttin
-syn keyword txl_keyword contained sig-ttou sig-urg sig-usr1 sig-usr2
-syn keyword txl_keyword contained sig-vtalrm sig-winch sig-xcpu sig-xfsz
-syn keyword txl_keyword contained sign-extend sin sixth size-vec
-syn keyword txl_keyword contained some sort sort-group source-loc
-syn keyword txl_keyword contained source-loc-str span-str splice split-str
-syn keyword txl_keyword contained split-str-set sqrt sssucc ssucc
-syn keyword txl_keyword contained stat stdlib str< str<=
-syn keyword txl_keyword contained str= str> str>= stream-get-prop
-syn keyword txl_keyword contained stream-set-prop streamp string-extend string-lt
-syn keyword txl_keyword contained stringp sub sub-list sub-str
-syn keyword txl_keyword contained sub-vec succ symacrolet symbol-function
-syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp
-syn keyword txl_keyword contained symlink sys-qquote sys-splice sys-unquote
-syn keyword txl_keyword contained syslog tan tb tc
-syn keyword txl_keyword contained tf third throw throwf
-syn keyword txl_keyword contained time time-fields-local time-fields-utc time-string-local
-syn keyword txl_keyword contained time-string-utc time-usec tofloat toint
-syn keyword txl_keyword contained tok-str tok-where tostring tostringp
-syn keyword txl_keyword contained transpose tree-bind tree-case tree-find
-syn keyword txl_keyword contained trie-add trie-compress trie-lookup-begin trie-lookup-feed-char
-syn keyword txl_keyword contained trie-value-at trim-str true trunc
-syn keyword txl_keyword contained trunc-rem tuples txr-case txr-if
-syn keyword txl_keyword contained txr-when typeof unget-byte unget-char
-syn keyword txl_keyword contained uniq unique unless unquote
-syn keyword txl_keyword contained until upcase-str update url-decode
-syn keyword txl_keyword contained url-encode usleep uw-protect vec
-syn keyword txl_keyword contained vec-push vec-set-length vecref vector
-syn keyword txl_keyword contained vector-list vectorp weave when
-syn keyword txl_keyword contained where while width with-saved-vars
-syn keyword txl_keyword contained wrap wrap* zerop zip
+syn keyword txl_keyword contained each each* empty ensure-dir
+syn keyword txl_keyword contained env env-fbind env-hash env-vbind
+syn keyword txl_keyword contained eq eql equal errno
+syn keyword txl_keyword contained error eval evenp exit
+syn keyword txl_keyword contained exp expt exptmod false
+syn keyword txl_keyword contained fbind fboundp fifth filter-equal
+syn keyword txl_keyword contained filter-string-tree finalize find find-if
+syn keyword txl_keyword contained find-max find-min find-package first
+syn keyword txl_keyword contained fixnump flatten flatten* flet
+syn keyword txl_keyword contained flip flo-int flo-str floatp
+syn keyword txl_keyword contained floor flush-stream for for*
+syn keyword txl_keyword contained force format fourth fun
+syn keyword txl_keyword contained func-get-env func-get-form func-set-env functionp
+syn keyword txl_keyword contained gcd gen generate gensym
+syn keyword txl_keyword contained gequal get-byte get-char get-error
+syn keyword txl_keyword contained get-error-str get-hash-userdata get-line get-lines
+syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream
+syn keyword txl_keyword contained gethash getitimer getpid getppid
+syn keyword txl_keyword contained giterate glob glob-altdirfunc glob-brace
+syn keyword txl_keyword contained glob-err glob-mark glob-nocheck glob-noescape
+syn keyword txl_keyword contained glob-nomagic glob-nosort glob-onlydir glob-period
+syn keyword txl_keyword contained glob-tilde glob-tilde-check greater group-by
+syn keyword txl_keyword contained gun hash hash-alist hash-construct
+syn keyword txl_keyword contained hash-count hash-diff hash-eql hash-equal
+syn keyword txl_keyword contained hash-isec hash-keys hash-pairs hash-uni
+syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if iff iffi
+syn keyword txl_keyword contained ignerr in inc inhash
+syn keyword txl_keyword contained int-flo int-str integerp intern
+syn keyword txl_keyword contained interp-fun-p interpose ip ipf
+syn keyword txl_keyword contained isqrt itimer-prov itimer-real itimer-virtual
+syn keyword txl_keyword contained juxt keep-if keep-if* keywordp
+syn keyword txl_keyword contained kill labels lambda last
+syn keyword txl_keyword contained lazy-str lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list
+syn keyword txl_keyword contained lazy-stream-cons lazy-stringp lbind lcm
+syn keyword txl_keyword contained lcons-fun lconsp ldiff length
+syn keyword txl_keyword contained length-list length-str length-str-< length-str-<=
+syn keyword txl_keyword contained length-str-> length-str->= length-vec lequal
+syn keyword txl_keyword contained less let let* lexical-fun-p
+syn keyword txl_keyword contained lexical-lisp1-binding lexical-var-p link lisp-parse
+syn keyword txl_keyword contained list list* list-str list-vector
+syn keyword txl_keyword contained listp log log-alert log-auth
+syn keyword txl_keyword contained log-authpriv log-cons log-crit log-daemon
+syn keyword txl_keyword contained log-debug log-emerg log-err log-info
+syn keyword txl_keyword contained log-ndelay log-notice log-nowait log-odelay
+syn keyword txl_keyword contained log-perror log-pid log-user log-warning
+syn keyword txl_keyword contained log10 log2 logand logior
+syn keyword txl_keyword contained lognot logtest logtrunc logxor
+syn keyword txl_keyword contained macro-form-p macro-time macroexpand macroexpand-1
+syn keyword txl_keyword contained macrolet major make-catenated-stream make-env
+syn keyword txl_keyword contained make-hash make-lazy-cons make-like make-package
+syn keyword txl_keyword contained make-random-state make-similar-hash make-string-byte-input-stream make-string-input-stream
+syn keyword txl_keyword contained make-string-output-stream make-strlist-output-stream make-sym make-time
+syn keyword txl_keyword contained make-time-utc make-trie makedev mapcar
+syn keyword txl_keyword contained mapcar* mapdo mapf maphash
+syn keyword txl_keyword contained mappend mappend* mask match-fun
+syn keyword txl_keyword contained match-regex match-regex-right match-regst match-regst-right
+syn keyword txl_keyword contained match-str match-str-tree max member
+syn keyword txl_keyword contained member-if memq memql memqual
+syn keyword txl_keyword contained merge min minor minusp
+syn keyword txl_keyword contained mkdir mknod mkstring mod
+syn keyword txl_keyword contained multi multi-sort n-choose-k n-perm-k
+syn keyword txl_keyword contained nconc nilf none not
+syn keyword txl_keyword contained notf nreverse null nullify
+syn keyword txl_keyword contained num-chr num-str numberp oand
+syn keyword txl_keyword contained oddp op open-command open-directory
+syn keyword txl_keyword contained open-file open-files open-files* open-pipe
+syn keyword txl_keyword contained open-process open-tail openlog opip
+syn keyword txl_keyword contained or orf packagep pad
+syn keyword txl_keyword contained partition partition* partition-by perm
+syn keyword txl_keyword contained plusp pop pos pos-if
+syn keyword txl_keyword contained pos-max pos-min posq posql
+syn keyword txl_keyword contained posqual pppred ppred pprinl
+syn keyword txl_keyword contained pprint pprof pred prinl
+syn keyword txl_keyword contained print prof prog1 progn
+syn keyword txl_keyword contained prop proper-listp push pushhash
+syn keyword txl_keyword contained put-byte put-char put-line put-lines
+syn keyword txl_keyword contained put-string put-strings pwd qquote
+syn keyword txl_keyword contained quasi quasilist quote rand
+syn keyword txl_keyword contained random random-fixnum random-state-p range
+syn keyword txl_keyword contained range* range-regex rcomb read
+syn keyword txl_keyword contained readlink real-time-stream-p reduce-left reduce-right
+syn keyword txl_keyword contained ref refset regex-compile regex-parse
+syn keyword txl_keyword contained regexp regsub rehome-sym remhash
+syn keyword txl_keyword contained remove-if remove-if* remove-path remq
+syn keyword txl_keyword contained remq* remql remql* remqual
+syn keyword txl_keyword contained remqual* rename-path repeat replace
+syn keyword txl_keyword contained replace-list replace-str replace-vec rest
+syn keyword txl_keyword contained ret retf return return-from
+syn keyword txl_keyword contained reverse rlcp rperm rplaca
+syn keyword txl_keyword contained rplacd run s-ifblk s-ifchr
+syn keyword txl_keyword contained s-ifdir s-ififo s-iflnk s-ifmt
+syn keyword txl_keyword contained s-ifreg s-ifsock s-irgrp s-iroth
+syn keyword txl_keyword contained s-irusr s-irwxg s-irwxo s-irwxu
+syn keyword txl_keyword contained s-isgid s-isuid s-isvtx s-iwgrp
+syn keyword txl_keyword contained s-iwoth s-iwusr s-ixgrp s-ixoth
+syn keyword txl_keyword contained s-ixusr search search-regex search-regst
+syn keyword txl_keyword contained search-str search-str-tree second seek-stream
+syn keyword txl_keyword contained select seqp set set-diff
+syn keyword txl_keyword contained set-hash-userdata set-sig-handler sethash setitimer
+syn keyword txl_keyword contained setlogmask sh sig-abrt sig-alrm
+syn keyword txl_keyword contained sig-bus sig-check sig-chld sig-cont
+syn keyword txl_keyword contained sig-fpe sig-hup sig-ill sig-int
+syn keyword txl_keyword contained sig-io sig-iot sig-kill sig-lost
+syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr
+syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop
+syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp
+syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1
+syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu
+syn keyword txl_keyword contained sig-xfsz sign-extend sin sixth
+syn keyword txl_keyword contained size-vec some sort sort-group
+syn keyword txl_keyword contained source-loc source-loc-str span-str splice
+syn keyword txl_keyword contained split-str split-str-set sqrt sssucc
+syn keyword txl_keyword contained ssucc stat stdlib str<
+syn keyword txl_keyword contained str<= str= str> str>=
+syn keyword txl_keyword contained stream-get-prop stream-set-prop streamp string-extend
+syn keyword txl_keyword contained string-lt stringp sub sub-list
+syn keyword txl_keyword contained sub-str sub-vec succ symacrolet
+syn keyword txl_keyword contained symbol-function symbol-name symbol-package symbol-value
+syn keyword txl_keyword contained symbolp symlink sys-qquote sys-splice
+syn keyword txl_keyword contained sys-unquote syslog tan tb
+syn keyword txl_keyword contained tc tf third throw
+syn keyword txl_keyword contained throwf time time-fields-local time-fields-utc
+syn keyword txl_keyword contained time-string-local time-string-utc time-usec tofloat
+syn keyword txl_keyword contained toint tok-str tok-where tostring
+syn keyword txl_keyword contained tostringp transpose tree-bind tree-case
+syn keyword txl_keyword contained tree-find trie-add trie-compress trie-lookup-begin
+syn keyword txl_keyword contained trie-lookup-feed-char trie-value-at trim-str true
+syn keyword txl_keyword contained trunc trunc-rem tuples txr-case
+syn keyword txl_keyword contained txr-if txr-when typeof unget-byte
+syn keyword txl_keyword contained unget-char uniq unique unless
+syn keyword txl_keyword contained unquote until upcase-str update
+syn keyword txl_keyword contained url-decode url-encode usleep uw-protect
+syn keyword txl_keyword contained vec vec-push vec-set-length vecref
+syn keyword txl_keyword contained vector vector-list vectorp weave
+syn keyword txl_keyword contained when where while width
+syn keyword txl_keyword contained with-saved-vars wrap wrap* zerop
+syn keyword txl_keyword contained zip
syn match txr_metanum "@[0-9]\+"
syn match txr_nested_error "[^\t `]\+" contained
diff --git a/txr.1 b/txr.1
index a8c10b07..ddd334b7 100644
--- a/txr.1
+++ b/txr.1
@@ -352,9 +352,9 @@
.ds TX \f[B]TXR\f[]
.ds TL \f[B]TXR Lisp\f[]
.\" Start of man page:
-.TH TXR 1 2015-02-08 "Utility Commands" "TXR Data Processing Language" "Kaz Kylheku"
+.TH TXR 1 2015-03-14 "Utility Commands" "TXR Data Processing Language" "Kaz Kylheku"
.SH* NAME
-\*(TX \- text processing language (version 104)
+\*(TX \- text processing language (version 105)
.SH* SYNOPSIS
.cblk
.meti txr >> [ options ] < query-file < data-files ..
diff --git a/txr.vim b/txr.vim
index 788b4541..5d1c999d 100644
--- a/txr.vim
+++ b/txr.vim
@@ -55,144 +55,145 @@ syn keyword txl_keyword contained countqual cum-norm-dist daemon dec
syn keyword txl_keyword contained defmacro defsymacro defun defvar
syn keyword txl_keyword contained del delay delete-package do
syn keyword txl_keyword contained dohash downcase-str dup dwim
-syn keyword txl_keyword contained each each* empty env
-syn keyword txl_keyword contained env-fbind env-hash env-vbind eq
-syn keyword txl_keyword contained eql equal errno error
-syn keyword txl_keyword contained eval evenp exit exp
-syn keyword txl_keyword contained expt exptmod false fbind
-syn keyword txl_keyword contained fboundp fifth filter-equal filter-string-tree
-syn keyword txl_keyword contained finalize find find-if find-max
-syn keyword txl_keyword contained find-min find-package first fixnump
-syn keyword txl_keyword contained flatten flatten* flet flip
-syn keyword txl_keyword contained flo-int flo-str floatp floor
-syn keyword txl_keyword contained flush-stream for for* force
-syn keyword txl_keyword contained format fourth fun func-get-env
-syn keyword txl_keyword contained func-get-form func-set-env functionp gcd
-syn keyword txl_keyword contained gen generate gensym gequal
-syn keyword txl_keyword contained get-byte get-char get-error get-error-str
-syn keyword txl_keyword contained get-hash-userdata get-line get-lines get-list-from-stream
-syn keyword txl_keyword contained get-sig-handler get-string get-string-from-stream gethash
-syn keyword txl_keyword contained getitimer getpid getppid giterate
-syn keyword txl_keyword contained glob glob-altdirfunc glob-brace glob-err
-syn keyword txl_keyword contained glob-mark glob-nocheck glob-noescape glob-nomagic
-syn keyword txl_keyword contained glob-nosort glob-onlydir glob-period glob-tilde
-syn keyword txl_keyword contained glob-tilde-check greater group-by gun
-syn keyword txl_keyword contained hash hash-alist hash-construct hash-count
-syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec
-syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update
-syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode
-syn keyword txl_keyword contained html-encode iapply identity ido
-syn keyword txl_keyword contained if iff iffi ignerr
-syn keyword txl_keyword contained in inc inhash int-flo
-syn keyword txl_keyword contained int-str integerp intern interp-fun-p
-syn keyword txl_keyword contained interpose ip ipf isqrt
-syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt
-syn keyword txl_keyword contained keep-if keep-if* keywordp kill
-syn keyword txl_keyword contained labels lambda last lazy-str
-syn keyword txl_keyword contained lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons
-syn keyword txl_keyword contained lazy-stringp lbind lcm lcons-fun
-syn keyword txl_keyword contained lconsp ldiff length length-list
-syn keyword txl_keyword contained length-str length-str-< length-str-<= length-str->
-syn keyword txl_keyword contained length-str->= length-vec lequal less
-syn keyword txl_keyword contained let let* lexical-fun-p lexical-lisp1-binding
-syn keyword txl_keyword contained lexical-var-p link lisp-parse list
-syn keyword txl_keyword contained list* list-str list-vector listp
-syn keyword txl_keyword contained log log-alert log-auth log-authpriv
-syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug
-syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay
-syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror
-syn keyword txl_keyword contained log-pid log-user log-warning log10
-syn keyword txl_keyword contained log2 logand logior lognot
-syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p
-syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet
-syn keyword txl_keyword contained major make-catenated-stream make-env make-hash
-syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state
-syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream
-syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc
-syn keyword txl_keyword contained make-trie makedev mapcar mapcar*
-syn keyword txl_keyword contained mapdo mapf maphash mappend
-syn keyword txl_keyword contained mappend* mask match-fun match-regex
-syn keyword txl_keyword contained match-regex-right match-regst match-regst-right match-str
-syn keyword txl_keyword contained match-str-tree max member member-if
-syn keyword txl_keyword contained memq memql memqual merge
-syn keyword txl_keyword contained min minor minusp mkdir
-syn keyword txl_keyword contained mknod mkstring mod multi
-syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
-syn keyword txl_keyword contained nilf none not notf
-syn keyword txl_keyword contained nreverse null nullify num-chr
-syn keyword txl_keyword contained num-str numberp oand oddp
-syn keyword txl_keyword contained op open-command open-directory open-file
-syn keyword txl_keyword contained open-files open-files* open-pipe open-process
-syn keyword txl_keyword contained open-tail openlog opip or
-syn keyword txl_keyword contained orf packagep pad partition
-syn keyword txl_keyword contained partition* partition-by perm plusp
-syn keyword txl_keyword contained pop pos pos-if pos-max
-syn keyword txl_keyword contained pos-min posq posql posqual
-syn keyword txl_keyword contained pppred ppred pprinl pprint
-syn keyword txl_keyword contained pprof pred prinl print
-syn keyword txl_keyword contained prof prog1 progn prop
-syn keyword txl_keyword contained proper-listp push pushhash put-byte
-syn keyword txl_keyword contained put-char put-line put-lines put-string
-syn keyword txl_keyword contained put-strings pwd qquote quasi
-syn keyword txl_keyword contained quasilist quote rand random
-syn keyword txl_keyword contained random-fixnum random-state-p range range*
-syn keyword txl_keyword contained range-regex rcomb read readlink
-syn keyword txl_keyword contained real-time-stream-p reduce-left reduce-right ref
-syn keyword txl_keyword contained refset regex-compile regex-parse regexp
-syn keyword txl_keyword contained regsub rehome-sym remhash remove-if
-syn keyword txl_keyword contained remove-if* remove-path remq remq*
-syn keyword txl_keyword contained remql remql* remqual remqual*
-syn keyword txl_keyword contained rename-path repeat replace replace-list
-syn keyword txl_keyword contained replace-str replace-vec rest ret
-syn keyword txl_keyword contained retf return return-from reverse
-syn keyword txl_keyword contained rlcp rperm rplaca rplacd
-syn keyword txl_keyword contained run s-ifblk s-ifchr s-ifdir
-syn keyword txl_keyword contained s-ififo s-iflnk s-ifmt s-ifreg
-syn keyword txl_keyword contained s-ifsock s-irgrp s-iroth s-irusr
-syn keyword txl_keyword contained s-irwxg s-irwxo s-irwxu s-isgid
-syn keyword txl_keyword contained s-isuid s-isvtx s-iwgrp s-iwoth
-syn keyword txl_keyword contained s-iwusr s-ixgrp s-ixoth s-ixusr
-syn keyword txl_keyword contained search search-regex search-regst search-str
-syn keyword txl_keyword contained search-str-tree second seek-stream select
-syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
-syn keyword txl_keyword contained set-sig-handler sethash setitimer setlogmask
-syn keyword txl_keyword contained sh sig-abrt sig-alrm sig-bus
-syn keyword txl_keyword contained sig-check sig-chld sig-cont sig-fpe
-syn keyword txl_keyword contained sig-hup sig-ill sig-int sig-io
-syn keyword txl_keyword contained sig-iot sig-kill sig-lost sig-pipe
-syn keyword txl_keyword contained sig-poll sig-prof sig-pwr sig-quit
-syn keyword txl_keyword contained sig-segv sig-stkflt sig-stop sig-sys
-syn keyword txl_keyword contained sig-term sig-trap sig-tstp sig-ttin
-syn keyword txl_keyword contained sig-ttou sig-urg sig-usr1 sig-usr2
-syn keyword txl_keyword contained sig-vtalrm sig-winch sig-xcpu sig-xfsz
-syn keyword txl_keyword contained sign-extend sin sixth size-vec
-syn keyword txl_keyword contained some sort sort-group source-loc
-syn keyword txl_keyword contained source-loc-str span-str splice split-str
-syn keyword txl_keyword contained split-str-set sqrt sssucc ssucc
-syn keyword txl_keyword contained stat stdlib str< str<=
-syn keyword txl_keyword contained str= str> str>= stream-get-prop
-syn keyword txl_keyword contained stream-set-prop streamp string-extend string-lt
-syn keyword txl_keyword contained stringp sub sub-list sub-str
-syn keyword txl_keyword contained sub-vec succ symacrolet symbol-function
-syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp
-syn keyword txl_keyword contained symlink sys-qquote sys-splice sys-unquote
-syn keyword txl_keyword contained syslog tan tb tc
-syn keyword txl_keyword contained tf third throw throwf
-syn keyword txl_keyword contained time time-fields-local time-fields-utc time-string-local
-syn keyword txl_keyword contained time-string-utc time-usec tofloat toint
-syn keyword txl_keyword contained tok-str tok-where tostring tostringp
-syn keyword txl_keyword contained transpose tree-bind tree-case tree-find
-syn keyword txl_keyword contained trie-add trie-compress trie-lookup-begin trie-lookup-feed-char
-syn keyword txl_keyword contained trie-value-at trim-str true trunc
-syn keyword txl_keyword contained trunc-rem tuples txr-case txr-if
-syn keyword txl_keyword contained txr-when typeof unget-byte unget-char
-syn keyword txl_keyword contained uniq unique unless unquote
-syn keyword txl_keyword contained until upcase-str update url-decode
-syn keyword txl_keyword contained url-encode usleep uw-protect vec
-syn keyword txl_keyword contained vec-push vec-set-length vecref vector
-syn keyword txl_keyword contained vector-list vectorp weave when
-syn keyword txl_keyword contained where while width with-saved-vars
-syn keyword txl_keyword contained wrap wrap* zerop zip
+syn keyword txl_keyword contained each each* empty ensure-dir
+syn keyword txl_keyword contained env env-fbind env-hash env-vbind
+syn keyword txl_keyword contained eq eql equal errno
+syn keyword txl_keyword contained error eval evenp exit
+syn keyword txl_keyword contained exp expt exptmod false
+syn keyword txl_keyword contained fbind fboundp fifth filter-equal
+syn keyword txl_keyword contained filter-string-tree finalize find find-if
+syn keyword txl_keyword contained find-max find-min find-package first
+syn keyword txl_keyword contained fixnump flatten flatten* flet
+syn keyword txl_keyword contained flip flo-int flo-str floatp
+syn keyword txl_keyword contained floor flush-stream for for*
+syn keyword txl_keyword contained force format fourth fun
+syn keyword txl_keyword contained func-get-env func-get-form func-set-env functionp
+syn keyword txl_keyword contained gcd gen generate gensym
+syn keyword txl_keyword contained gequal get-byte get-char get-error
+syn keyword txl_keyword contained get-error-str get-hash-userdata get-line get-lines
+syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream
+syn keyword txl_keyword contained gethash getitimer getpid getppid
+syn keyword txl_keyword contained giterate glob glob-altdirfunc glob-brace
+syn keyword txl_keyword contained glob-err glob-mark glob-nocheck glob-noescape
+syn keyword txl_keyword contained glob-nomagic glob-nosort glob-onlydir glob-period
+syn keyword txl_keyword contained glob-tilde glob-tilde-check greater group-by
+syn keyword txl_keyword contained gun hash hash-alist hash-construct
+syn keyword txl_keyword contained hash-count hash-diff hash-eql hash-equal
+syn keyword txl_keyword contained hash-isec hash-keys hash-pairs hash-uni
+syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if iff iffi
+syn keyword txl_keyword contained ignerr in inc inhash
+syn keyword txl_keyword contained int-flo int-str integerp intern
+syn keyword txl_keyword contained interp-fun-p interpose ip ipf
+syn keyword txl_keyword contained isqrt itimer-prov itimer-real itimer-virtual
+syn keyword txl_keyword contained juxt keep-if keep-if* keywordp
+syn keyword txl_keyword contained kill labels lambda last
+syn keyword txl_keyword contained lazy-str lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list
+syn keyword txl_keyword contained lazy-stream-cons lazy-stringp lbind lcm
+syn keyword txl_keyword contained lcons-fun lconsp ldiff length
+syn keyword txl_keyword contained length-list length-str length-str-< length-str-<=
+syn keyword txl_keyword contained length-str-> length-str->= length-vec lequal
+syn keyword txl_keyword contained less let let* lexical-fun-p
+syn keyword txl_keyword contained lexical-lisp1-binding lexical-var-p link lisp-parse
+syn keyword txl_keyword contained list list* list-str list-vector
+syn keyword txl_keyword contained listp log log-alert log-auth
+syn keyword txl_keyword contained log-authpriv log-cons log-crit log-daemon
+syn keyword txl_keyword contained log-debug log-emerg log-err log-info
+syn keyword txl_keyword contained log-ndelay log-notice log-nowait log-odelay
+syn keyword txl_keyword contained log-perror log-pid log-user log-warning
+syn keyword txl_keyword contained log10 log2 logand logior
+syn keyword txl_keyword contained lognot logtest logtrunc logxor
+syn keyword txl_keyword contained macro-form-p macro-time macroexpand macroexpand-1
+syn keyword txl_keyword contained macrolet major make-catenated-stream make-env
+syn keyword txl_keyword contained make-hash make-lazy-cons make-like make-package
+syn keyword txl_keyword contained make-random-state make-similar-hash make-string-byte-input-stream make-string-input-stream
+syn keyword txl_keyword contained make-string-output-stream make-strlist-output-stream make-sym make-time
+syn keyword txl_keyword contained make-time-utc make-trie makedev mapcar
+syn keyword txl_keyword contained mapcar* mapdo mapf maphash
+syn keyword txl_keyword contained mappend mappend* mask match-fun
+syn keyword txl_keyword contained match-regex match-regex-right match-regst match-regst-right
+syn keyword txl_keyword contained match-str match-str-tree max member
+syn keyword txl_keyword contained member-if memq memql memqual
+syn keyword txl_keyword contained merge min minor minusp
+syn keyword txl_keyword contained mkdir mknod mkstring mod
+syn keyword txl_keyword contained multi multi-sort n-choose-k n-perm-k
+syn keyword txl_keyword contained nconc nilf none not
+syn keyword txl_keyword contained notf nreverse null nullify
+syn keyword txl_keyword contained num-chr num-str numberp oand
+syn keyword txl_keyword contained oddp op open-command open-directory
+syn keyword txl_keyword contained open-file open-files open-files* open-pipe
+syn keyword txl_keyword contained open-process open-tail openlog opip
+syn keyword txl_keyword contained or orf packagep pad
+syn keyword txl_keyword contained partition partition* partition-by perm
+syn keyword txl_keyword contained plusp pop pos pos-if
+syn keyword txl_keyword contained pos-max pos-min posq posql
+syn keyword txl_keyword contained posqual pppred ppred pprinl
+syn keyword txl_keyword contained pprint pprof pred prinl
+syn keyword txl_keyword contained print prof prog1 progn
+syn keyword txl_keyword contained prop proper-listp push pushhash
+syn keyword txl_keyword contained put-byte put-char put-line put-lines
+syn keyword txl_keyword contained put-string put-strings pwd qquote
+syn keyword txl_keyword contained quasi quasilist quote rand
+syn keyword txl_keyword contained random random-fixnum random-state-p range
+syn keyword txl_keyword contained range* range-regex rcomb read
+syn keyword txl_keyword contained readlink real-time-stream-p reduce-left reduce-right
+syn keyword txl_keyword contained ref refset regex-compile regex-parse
+syn keyword txl_keyword contained regexp regsub rehome-sym remhash
+syn keyword txl_keyword contained remove-if remove-if* remove-path remq
+syn keyword txl_keyword contained remq* remql remql* remqual
+syn keyword txl_keyword contained remqual* rename-path repeat replace
+syn keyword txl_keyword contained replace-list replace-str replace-vec rest
+syn keyword txl_keyword contained ret retf return return-from
+syn keyword txl_keyword contained reverse rlcp rperm rplaca
+syn keyword txl_keyword contained rplacd run s-ifblk s-ifchr
+syn keyword txl_keyword contained s-ifdir s-ififo s-iflnk s-ifmt
+syn keyword txl_keyword contained s-ifreg s-ifsock s-irgrp s-iroth
+syn keyword txl_keyword contained s-irusr s-irwxg s-irwxo s-irwxu
+syn keyword txl_keyword contained s-isgid s-isuid s-isvtx s-iwgrp
+syn keyword txl_keyword contained s-iwoth s-iwusr s-ixgrp s-ixoth
+syn keyword txl_keyword contained s-ixusr search search-regex search-regst
+syn keyword txl_keyword contained search-str search-str-tree second seek-stream
+syn keyword txl_keyword contained select seqp set set-diff
+syn keyword txl_keyword contained set-hash-userdata set-sig-handler sethash setitimer
+syn keyword txl_keyword contained setlogmask sh sig-abrt sig-alrm
+syn keyword txl_keyword contained sig-bus sig-check sig-chld sig-cont
+syn keyword txl_keyword contained sig-fpe sig-hup sig-ill sig-int
+syn keyword txl_keyword contained sig-io sig-iot sig-kill sig-lost
+syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr
+syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop
+syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp
+syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1
+syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu
+syn keyword txl_keyword contained sig-xfsz sign-extend sin sixth
+syn keyword txl_keyword contained size-vec some sort sort-group
+syn keyword txl_keyword contained source-loc source-loc-str span-str splice
+syn keyword txl_keyword contained split-str split-str-set sqrt sssucc
+syn keyword txl_keyword contained ssucc stat stdlib str<
+syn keyword txl_keyword contained str<= str= str> str>=
+syn keyword txl_keyword contained stream-get-prop stream-set-prop streamp string-extend
+syn keyword txl_keyword contained string-lt stringp sub sub-list
+syn keyword txl_keyword contained sub-str sub-vec succ symacrolet
+syn keyword txl_keyword contained symbol-function symbol-name symbol-package symbol-value
+syn keyword txl_keyword contained symbolp symlink sys-qquote sys-splice
+syn keyword txl_keyword contained sys-unquote syslog tan tb
+syn keyword txl_keyword contained tc tf third throw
+syn keyword txl_keyword contained throwf time time-fields-local time-fields-utc
+syn keyword txl_keyword contained time-string-local time-string-utc time-usec tofloat
+syn keyword txl_keyword contained toint tok-str tok-where tostring
+syn keyword txl_keyword contained tostringp transpose tree-bind tree-case
+syn keyword txl_keyword contained tree-find trie-add trie-compress trie-lookup-begin
+syn keyword txl_keyword contained trie-lookup-feed-char trie-value-at trim-str true
+syn keyword txl_keyword contained trunc trunc-rem tuples txr-case
+syn keyword txl_keyword contained txr-if txr-when typeof unget-byte
+syn keyword txl_keyword contained unget-char uniq unique unless
+syn keyword txl_keyword contained unquote until upcase-str update
+syn keyword txl_keyword contained url-decode url-encode usleep uw-protect
+syn keyword txl_keyword contained vec vec-push vec-set-length vecref
+syn keyword txl_keyword contained vector vector-list vectorp weave
+syn keyword txl_keyword contained when where while width
+syn keyword txl_keyword contained with-saved-vars wrap wrap* zerop
+syn keyword txl_keyword contained zip
syn keyword txr_keyword contained accept all and assert
syn keyword txr_keyword contained bind block cases cat