summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELNOTES36
-rwxr-xr-xconfigure2
-rw-r--r--genvim.txr6
-rw-r--r--share/txr/stdlib/ver.tl2
-rw-r--r--tl.vim322
-rw-r--r--txr.14
-rw-r--r--txr.vim322
7 files changed, 377 insertions, 317 deletions
diff --git a/RELNOTES b/RELNOTES
index e450fe85..cb806cdc 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,39 @@
+ TXR 114
+ 2015-09-03
+
+
+ Features:
+
+ ! Note: TXR code base converted to new way of handling variadic function
+ (variable-length struct args, defined on stack).
+
+ * New function shuffle: Fisher-Yates/Knuth on lists and vectors.
+
+ * Numerous documentation improvements.
+
+ * Improved diagnostic in situations when an error exception is
+ thrown at code parse time, pinpointing file and line number.
+
+ * New feature: structs! TXR now has typed data structures with named
+ slots. Structures can be related by single inheritance, and
+ single-dispatch OOP is easily expressed.
+
+ * stat, lstat and fstat functions return a stat structure now.
+
+ * New functions: time-struct-local and time-struct-utc return
+ a structure instead of a list of fields.
+
+ * Unix password database functions: getpwent, getpwuid, getpwnam.
+
+ Bugs:
+
+ * Fixed regression: broken treatment of [hash x..y] place.
+
+ * Fixed finalize function, which was found to be fundamentally broken.
+ Advertized as a new feature in TXR 101, it now actually works.
+
+
+
TXR 113
2015-08-20
diff --git a/configure b/configure
index c6452488..72653709 100755
--- a/configure
+++ b/configure
@@ -429,7 +429,7 @@ fi
#
-txr_ver=113
+txr_ver=114
#
# The all important banner.
diff --git a/genvim.txr b/genvim.txr
index e71827b6..9fbe15cd 100644
--- a/genvim.txr
+++ b/genvim.txr
@@ -10,9 +10,9 @@ static void dir_tables_init(void)
@(bind lib "share/txr/stdlib")
@(next @(open-files ^(#*"eval.c rand.c signal.c stream.c gc.c glob.c"
#*"syslog.c filter.c txr.c arith.c unwind.c cadr.c"
- ,*#`sysif.c @lib/place.tl @lib/ifa.tl @lib/ver.tl`
- ,*#`@lib/cadr.tl @lib/with-resources.tl`
- ,*#`@lib/txr-case.tl`)))
+ ,*#`sysif.c struct.c @lib/place.tl @lib/ifa.tl`
+ ,*#`@lib/ver.tl @lib/cadr.tl @lib/with-resources.tl`
+ ,*#`@lib/txr-case.tl @lib/path-test.tl @lib/struct.tl`)))
@(collect)
@ (block)
@ (cases)
diff --git a/share/txr/stdlib/ver.tl b/share/txr/stdlib/ver.tl
index a422f47e..db67c418 100644
--- a/share/txr/stdlib/ver.tl
+++ b/share/txr/stdlib/ver.tl
@@ -1,2 +1,2 @@
-(defvarl lib-version 113)
+(defvarl lib-version 114)
(defvarl *lib-version* lib-version)
diff --git a/tl.vim b/tl.vim
index e53a2194..73769f19 100644
--- a/tl.vim
+++ b/tl.vim
@@ -69,23 +69,24 @@ syn keyword txl_keyword contained collect-each* comb compl-span-str cond
syn keyword txl_keyword contained conda cons conses conses*
syn keyword txl_keyword contained consp constantp copy copy-alist
syn keyword txl_keyword contained copy-cons copy-hash copy-list copy-str
-syn keyword txl_keyword contained copy-vec cos count-if countq
-syn keyword txl_keyword contained countql countqual cum-norm-dist daemon
-syn keyword txl_keyword contained dec define-modify-macro define-place-macro defmacro
-syn keyword txl_keyword contained defparm defparml defplace defsymacro
-syn keyword txl_keyword contained defun defvar defvarl del
-syn keyword txl_keyword contained delay delete-package display-width do
-syn keyword txl_keyword contained dohash dotimes downcase-str dup
-syn keyword txl_keyword contained dupfd dwim each each*
-syn keyword txl_keyword contained eighth empty ensure-dir 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 exec exit
-syn keyword txl_keyword contained exit* exp expr expt
-syn keyword txl_keyword contained exptmod false fbind fboundp
-syn keyword txl_keyword contained fifth fileno 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 copy-struct copy-vec cos count-if
+syn keyword txl_keyword contained countq countql countqual cum-norm-dist
+syn keyword txl_keyword contained daemon dec define-modify-macro define-place-macro
+syn keyword txl_keyword contained defmacro defparm defparml defplace
+syn keyword txl_keyword contained defstruct defsymacro defun defvar
+syn keyword txl_keyword contained defvarl del delay delete-package
+syn keyword txl_keyword contained display-width do dohash dotimes
+syn keyword txl_keyword contained downcase-str dup dupfd dwim
+syn keyword txl_keyword contained each each* eighth empty
+syn keyword txl_keyword contained endpwent ensure-dir env env-fbind
+syn keyword txl_keyword contained env-hash env-vbind eq eql
+syn keyword txl_keyword contained equal errno error eval
+syn keyword txl_keyword contained evenp exec exit exit*
+syn keyword txl_keyword contained exp expr expt exptmod
+syn keyword txl_keyword contained false fbind fboundp fifth
+syn keyword txl_keyword contained fileno filter-equal filter-string-tree finalize
+syn keyword txl_keyword contained find find-if find-max find-min
+syn keyword txl_keyword contained find-package find-struct-type first fixnump
syn keyword txl_keyword contained flatten flatten* flet flip
syn keyword txl_keyword contained flipargs flo-dig flo-epsilon flo-int
syn keyword txl_keyword contained flo-max flo-min flo-str floatp
@@ -100,57 +101,59 @@ syn keyword txl_keyword contained get-indent get-indent-mode 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 get-update-expander getegid getenv geteuid
syn keyword txl_keyword contained getgid getgroups gethash getitimer
-syn keyword txl_keyword contained getpid getppid getuid 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-from-pairs
-syn keyword txl_keyword contained hash-isec hash-keys hash-list hash-pairs
-syn keyword txl_keyword contained hash-proper-subset hash-revget hash-subset hash-uni
-syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
-syn keyword txl_keyword contained have html-decode html-encode iapply
-syn keyword txl_keyword contained identity ido if ifa
-syn keyword txl_keyword contained iff iffi iflet ignerr
-syn keyword txl_keyword contained in inc inc-indent indent-code
-syn keyword txl_keyword contained indent-data indent-off 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* keyword-package 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 lcons-fun lconsp ldiff
-syn keyword txl_keyword contained length length-list length-str length-str-<
-syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec
-syn keyword txl_keyword contained lequal less let let*
-syn keyword txl_keyword contained lexical-fun-p lexical-lisp1-binding lexical-var-p lib-version
-syn keyword txl_keyword contained link lisp-parse list list*
-syn keyword txl_keyword contained list-str list-vector listp load
-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 lstat
-syn keyword txl_keyword contained mac-param-bind macro-form-p macro-time macroexpand
-syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream
-syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like
-syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream
-syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym
-syn keyword txl_keyword contained make-time make-time-utc make-trie makedev
-syn keyword txl_keyword contained makunbound mapcar mapcar* mapdo
-syn keyword txl_keyword contained mapf maphash mappend mappend*
-syn keyword txl_keyword contained mask match-fun match-regex match-regex-right
-syn keyword txl_keyword contained match-regst match-regst-right match-str match-str-tree
-syn keyword txl_keyword contained max member member-if memq
-syn keyword txl_keyword contained memql memqual merge min
-syn keyword txl_keyword contained minor minusp mkdir mknod
-syn keyword txl_keyword contained mkstring mlet mod multi
-syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
+syn keyword txl_keyword contained getpid getppid getpwent getpwnam
+syn keyword txl_keyword contained getpwuid getuid giterate glob
+syn keyword txl_keyword contained glob-altdirfunc glob-brace glob-err glob-mark
+syn keyword txl_keyword contained glob-nocheck glob-noescape glob-nomagic glob-nosort
+syn keyword txl_keyword contained glob-onlydir glob-period glob-tilde glob-tilde-check
+syn keyword txl_keyword contained greater group-by gun hash
+syn keyword txl_keyword contained hash-alist hash-construct hash-count hash-diff
+syn keyword txl_keyword contained hash-eql hash-equal hash-from-pairs hash-isec
+syn keyword txl_keyword contained hash-keys hash-list hash-pairs hash-proper-subset
+syn keyword txl_keyword contained hash-revget hash-subset hash-uni hash-update
+syn keyword txl_keyword contained hash-update-1 hash-values hashp have
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if ifa iff
+syn keyword txl_keyword contained iffi iflet ignerr in
+syn keyword txl_keyword contained inc inc-indent indent-code indent-data
+syn keyword txl_keyword contained indent-off inhash int-flo int-str
+syn keyword txl_keyword contained integerp intern interp-fun-p interpose
+syn keyword txl_keyword contained ip ipf isqrt itimer-prov
+syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if
+syn keyword txl_keyword contained keep-if* keyword-package 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
+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 lib-version link
+syn keyword txl_keyword contained lisp-parse list list* list-str
+syn keyword txl_keyword contained list-vector listp load log
+syn keyword txl_keyword contained log-alert log-auth log-authpriv log-cons
+syn keyword txl_keyword contained log-crit log-daemon log-debug log-emerg
+syn keyword txl_keyword contained log-err log-info log-ndelay log-notice
+syn keyword txl_keyword contained log-nowait log-odelay log-perror log-pid
+syn keyword txl_keyword contained log-user log-warning log10 log2
+syn keyword txl_keyword contained logand logior lognot logtest
+syn keyword txl_keyword contained logtrunc logxor lstat mac-param-bind
+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-struct make-struct-type
+syn keyword txl_keyword contained make-sym make-time make-time-utc make-trie
+syn keyword txl_keyword contained makedev makunbound 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 meth method min minor
+syn keyword txl_keyword contained minusp mkdir mknod mkstring
+syn keyword txl_keyword contained mlet mod multi multi-sort
+syn keyword txl_keyword contained n-choose-k n-perm-k nconc new
syn keyword txl_keyword contained nilf ninth none not
syn keyword txl_keyword contained notf nreverse nthcdr null
syn keyword txl_keyword contained nullify num-chr num-str numberp
@@ -159,93 +162,102 @@ syn keyword txl_keyword contained open-directory open-file open-fileno open-file
syn keyword txl_keyword contained open-files* open-pipe open-process open-tail
syn keyword txl_keyword contained openlog opip or orf
syn keyword txl_keyword contained packagep pad partition partition*
-syn keyword txl_keyword contained partition-by perm pipe place-form-p
-syn keyword txl_keyword contained placelet placelet* plusp poll
-syn keyword txl_keyword contained poll-err poll-in poll-nval poll-out
-syn keyword txl_keyword contained poll-pri poll-rdband poll-rdhup poll-wrband
-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 pset push pushhash
-syn keyword txl_keyword contained pushnew put-byte put-char put-line
-syn keyword txl_keyword contained put-lines put-string put-strings pwd
-syn keyword txl_keyword contained qquote quasi quasilist quote
-syn keyword txl_keyword contained rand random random-fixnum random-state-p
-syn keyword txl_keyword contained range range* range-regex rcomb
-syn keyword txl_keyword contained read readlink real-time-stream-p reduce-left
-syn keyword txl_keyword contained reduce-right ref refset regex-compile
-syn keyword txl_keyword contained regex-parse regexp regsub rehome-sym
-syn keyword txl_keyword contained remhash remove-if remove-if* remove-path
-syn keyword txl_keyword contained remq remq* remql remql*
-syn keyword txl_keyword contained remqual remqual* rename-path repeat
-syn keyword txl_keyword contained replace replace-list replace-str replace-vec
-syn keyword txl_keyword contained rest ret retf return
-syn keyword txl_keyword contained return-from reverse rlcp rlet
-syn keyword txl_keyword contained rotate 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 self-path seqp set set-diff
-syn keyword txl_keyword contained set-hash-userdata set-indent set-indent-mode set-sig-handler
-syn keyword txl_keyword contained setegid setenv seteuid setgid
-syn keyword txl_keyword contained sethash setitimer setlogmask setq
+syn keyword txl_keyword contained partition-by path-blkdev-p path-chrdev-p path-dir-p
+syn keyword txl_keyword contained path-executable-to-me-p path-exists-p path-file-p path-mine-p
+syn keyword txl_keyword contained path-my-group-p path-newer path-older path-pipe-p
+syn keyword txl_keyword contained path-same-object path-setgid-p path-setuid-p path-sock-p
+syn keyword txl_keyword contained path-sticky-p path-symlink-p path-writable-to-me-p perm
+syn keyword txl_keyword contained pipe place-form-p placelet placelet*
+syn keyword txl_keyword contained plusp poll poll-err poll-in
+syn keyword txl_keyword contained poll-nval poll-out poll-pri poll-rdband
+syn keyword txl_keyword contained poll-rdhup poll-wrband pop pos
+syn keyword txl_keyword contained pos-if pos-max pos-min posq
+syn keyword txl_keyword contained posql posqual pppred ppred
+syn keyword txl_keyword contained pprinl pprint pprof pred
+syn keyword txl_keyword contained prinl print prof prog1
+syn keyword txl_keyword contained progn prop proper-listp pset
+syn keyword txl_keyword contained push pushhash pushnew put-byte
+syn keyword txl_keyword contained put-char put-line put-lines put-string
+syn keyword txl_keyword contained put-strings pwd qquote qref
+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 rlet rotate
+syn keyword txl_keyword contained rperm rplaca rplacd run
+syn keyword txl_keyword contained s-ifblk s-ifchr s-ifdir s-ififo
+syn keyword txl_keyword contained s-iflnk s-ifmt s-ifreg s-ifsock
+syn keyword txl_keyword contained s-irgrp s-iroth s-irusr s-irwxg
+syn keyword txl_keyword contained s-irwxo s-irwxu s-isgid s-isuid
+syn keyword txl_keyword contained s-isvtx s-iwgrp s-iwoth s-iwusr
+syn keyword txl_keyword contained s-ixgrp s-ixoth s-ixusr search
+syn keyword txl_keyword contained search-regex search-regst search-str search-str-tree
+syn keyword txl_keyword contained second seek-stream select self-path
+syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
+syn keyword txl_keyword contained set-indent set-indent-mode set-sig-handler setegid
+syn keyword txl_keyword contained setenv seteuid setgid sethash
+syn keyword txl_keyword contained setitimer setlogmask setpwent setq
syn keyword txl_keyword contained setuid seventh sh shift
-syn keyword txl_keyword contained sig-abrt sig-alrm sig-bus sig-check
-syn keyword txl_keyword contained sig-chld sig-cont sig-fpe sig-hup
-syn keyword txl_keyword contained sig-ill sig-int sig-io sig-iot
-syn keyword txl_keyword contained sig-kill sig-lost sig-pipe sig-poll
-syn keyword txl_keyword contained sig-prof sig-pwr sig-quit sig-segv
-syn keyword txl_keyword contained sig-stkflt sig-stop sig-sys sig-term
-syn keyword txl_keyword contained sig-trap sig-tstp sig-ttin sig-ttou
-syn keyword txl_keyword contained sig-urg sig-usr1 sig-usr2 sig-vtalrm
-syn keyword txl_keyword contained sig-winch sig-xcpu sig-xfsz sign-extend
-syn keyword txl_keyword contained sin sixth size-vec some
-syn keyword txl_keyword contained sort sort-group source-loc source-loc-str
-syn keyword txl_keyword contained span-str special-operator-p special-var-p splice
-syn keyword txl_keyword contained split split-str split-str-set sqrt
-syn keyword txl_keyword contained sssucc ssucc stat stdlib
-syn keyword txl_keyword contained str< str<= str= str>
-syn keyword txl_keyword contained str>= stream-get-prop stream-set-prop streamp
-syn keyword txl_keyword contained string-extend string-lt stringp sub
-syn keyword txl_keyword contained sub-list sub-str sub-vec succ
-syn keyword txl_keyword contained swap symacrolet symbol-function symbol-name
-syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink
-syn keyword txl_keyword contained sys-lisp1-value sys-mark-special sys-qquote sys-splice
-syn keyword txl_keyword contained sys-unquote sys:*lisp1* sys:eval-err sys:get-fb
-syn keyword txl_keyword contained sys:get-vb sys:l1-setq sys:l1-val sys:pl-expand
-syn keyword txl_keyword contained sys:placelet-1 sys:sym-clobber-expander sys:sym-delete-expander sys:sym-update-expander
-syn keyword txl_keyword contained sys:trigger-load syslog tan tb
-syn keyword txl_keyword contained tc tenth test-set-indent-mode tf
-syn keyword txl_keyword contained third throw throwf time
-syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc
-syn keyword txl_keyword contained time-usec tofloat toint tok-str
-syn keyword txl_keyword contained tok-where tostring tostringp tprint
-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-case-impl
-syn keyword txl_keyword contained txr-if txr-version txr-when typeof
-syn keyword txl_keyword contained unget-byte unget-char uniq unique
-syn keyword txl_keyword contained unless unquote unsetenv until
-syn keyword txl_keyword contained until* upcase-str update url-decode
-syn keyword txl_keyword contained url-encode user-package usleep uw-protect
-syn keyword txl_keyword contained var vec vec-push vec-set-length
-syn keyword txl_keyword contained vecref vector vector-list vectorp
-syn keyword txl_keyword contained w-continued w-coredump w-exitstatus w-ifcontinued
-syn keyword txl_keyword contained w-ifexited w-ifsignaled w-ifstopped w-nohang
-syn keyword txl_keyword contained w-stopsig w-termsig w-untraced wait
-syn keyword txl_keyword contained weave when whenlet where
-syn keyword txl_keyword contained while while* whilet width
-syn keyword txl_keyword contained width-check with-clobber-expander with-delete-expander with-gensyms
-syn keyword txl_keyword contained with-resources with-saved-vars with-update-expander wrap
-syn keyword txl_keyword contained wrap* zap zerop zip
+syn keyword txl_keyword contained shuffle 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 slot slotset some sort
+syn keyword txl_keyword contained sort-group source-loc source-loc-str span-str
+syn keyword txl_keyword contained special-operator-p special-var-p splice split
+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 struct-type struct-type-p
+syn keyword txl_keyword contained structp sub sub-list sub-str
+syn keyword txl_keyword contained sub-vec succ super swap
+syn keyword txl_keyword contained symacrolet symbol-function symbol-name symbol-package
+syn keyword txl_keyword contained symbol-value symbolp symlink sys-lisp1-value
+syn keyword txl_keyword contained sys-mark-special sys-qquote sys-splice sys-unquote
+syn keyword txl_keyword contained sys:*lisp1* sys:do-path-test sys:eval-err sys:get-fb
+syn keyword txl_keyword contained sys:get-vb sys:l1-setq sys:l1-val sys:path-access
+syn keyword txl_keyword contained sys:path-examine sys:path-test sys:path-test-mode sys:pl-expand
+syn keyword txl_keyword contained sys:placelet-1 sys:struct-lit sys:sym-clobber-expander sys:sym-delete-expander
+syn keyword txl_keyword contained sys:sym-update-expander sys:trigger-load syslog tan
+syn keyword txl_keyword contained tb tc tenth test-set-indent-mode
+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-struct-local time-struct-utc time-usec
+syn keyword txl_keyword contained tofloat toint tok-str tok-where
+syn keyword txl_keyword contained tostring tostringp tprint transpose
+syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add
+syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at
+syn keyword txl_keyword contained trim-str true trunc trunc-rem
+syn keyword txl_keyword contained tuples txr-case txr-case-impl txr-if
+syn keyword txl_keyword contained txr-version txr-when typeof unget-byte
+syn keyword txl_keyword contained unget-char uniq unique unless
+syn keyword txl_keyword contained unquote unsetenv until until*
+syn keyword txl_keyword contained upcase-str update url-decode url-encode
+syn keyword txl_keyword contained user-package usleep uw-protect var
+syn keyword txl_keyword contained vec vec-push vec-set-length vecref
+syn keyword txl_keyword contained vector vector-list vectorp w-continued
+syn keyword txl_keyword contained w-coredump w-exitstatus w-ifcontinued w-ifexited
+syn keyword txl_keyword contained w-ifsignaled w-ifstopped w-nohang w-stopsig
+syn keyword txl_keyword contained w-termsig w-untraced wait weave
+syn keyword txl_keyword contained when whenlet where while
+syn keyword txl_keyword contained while* whilet width width-check
+syn keyword txl_keyword contained with-clobber-expander with-delete-expander with-gensyms with-resources
+syn keyword txl_keyword contained with-saved-vars with-update-expander wrap wrap*
+syn keyword txl_keyword contained zap zerop zip
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]*"
@@ -285,7 +297,7 @@ syn match txr_quote "\^" contained
syn match txr_dotdot "\.\." contained
syn match txr_metaat "@" contained
-syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
+syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_dot,txr_dotdot,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
syn region txr_list matchgroup=Delimiter start="#\?H\?(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_bracket matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_mlist matchgroup=Delimiter start="@[ \t^',]*(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
diff --git a/txr.1 b/txr.1
index 6e90c97d..b4d0754d 100644
--- a/txr.1
+++ b/txr.1
@@ -344,9 +344,9 @@
.ds TX \f[B]TXR\f[]
.ds TL \f[B]TXR Lisp\f[]
.\" Start of man page:
-.TH TXR 1 2015-08-20 "Utility Commands" "TXR Data Processing Language" "Kaz Kylheku"
+.TH TXR 1 2015-09-03 "Utility Commands" "TXR Data Processing Language" "Kaz Kylheku"
.SH* NAME
-\*(TX \- text processing language (version 113)
+\*(TX \- text processing language (version 114)
.SH* SYNOPSIS
.cblk
.meti txr >> [ options ] < query-file < data-files ..
diff --git a/txr.vim b/txr.vim
index 4b05ae5b..eff00258 100644
--- a/txr.vim
+++ b/txr.vim
@@ -69,23 +69,24 @@ syn keyword txl_keyword contained collect-each* comb compl-span-str cond
syn keyword txl_keyword contained conda cons conses conses*
syn keyword txl_keyword contained consp constantp copy copy-alist
syn keyword txl_keyword contained copy-cons copy-hash copy-list copy-str
-syn keyword txl_keyword contained copy-vec cos count-if countq
-syn keyword txl_keyword contained countql countqual cum-norm-dist daemon
-syn keyword txl_keyword contained dec define-modify-macro define-place-macro defmacro
-syn keyword txl_keyword contained defparm defparml defplace defsymacro
-syn keyword txl_keyword contained defun defvar defvarl del
-syn keyword txl_keyword contained delay delete-package display-width do
-syn keyword txl_keyword contained dohash dotimes downcase-str dup
-syn keyword txl_keyword contained dupfd dwim each each*
-syn keyword txl_keyword contained eighth empty ensure-dir 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 exec exit
-syn keyword txl_keyword contained exit* exp expr expt
-syn keyword txl_keyword contained exptmod false fbind fboundp
-syn keyword txl_keyword contained fifth fileno 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 copy-struct copy-vec cos count-if
+syn keyword txl_keyword contained countq countql countqual cum-norm-dist
+syn keyword txl_keyword contained daemon dec define-modify-macro define-place-macro
+syn keyword txl_keyword contained defmacro defparm defparml defplace
+syn keyword txl_keyword contained defstruct defsymacro defun defvar
+syn keyword txl_keyword contained defvarl del delay delete-package
+syn keyword txl_keyword contained display-width do dohash dotimes
+syn keyword txl_keyword contained downcase-str dup dupfd dwim
+syn keyword txl_keyword contained each each* eighth empty
+syn keyword txl_keyword contained endpwent ensure-dir env env-fbind
+syn keyword txl_keyword contained env-hash env-vbind eq eql
+syn keyword txl_keyword contained equal errno error eval
+syn keyword txl_keyword contained evenp exec exit exit*
+syn keyword txl_keyword contained exp expr expt exptmod
+syn keyword txl_keyword contained false fbind fboundp fifth
+syn keyword txl_keyword contained fileno filter-equal filter-string-tree finalize
+syn keyword txl_keyword contained find find-if find-max find-min
+syn keyword txl_keyword contained find-package find-struct-type first fixnump
syn keyword txl_keyword contained flatten flatten* flet flip
syn keyword txl_keyword contained flipargs flo-dig flo-epsilon flo-int
syn keyword txl_keyword contained flo-max flo-min flo-str floatp
@@ -100,57 +101,59 @@ syn keyword txl_keyword contained get-indent get-indent-mode 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 get-update-expander getegid getenv geteuid
syn keyword txl_keyword contained getgid getgroups gethash getitimer
-syn keyword txl_keyword contained getpid getppid getuid 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-from-pairs
-syn keyword txl_keyword contained hash-isec hash-keys hash-list hash-pairs
-syn keyword txl_keyword contained hash-proper-subset hash-revget hash-subset hash-uni
-syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
-syn keyword txl_keyword contained have html-decode html-encode iapply
-syn keyword txl_keyword contained identity ido if ifa
-syn keyword txl_keyword contained iff iffi iflet ignerr
-syn keyword txl_keyword contained in inc inc-indent indent-code
-syn keyword txl_keyword contained indent-data indent-off 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* keyword-package 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 lcons-fun lconsp ldiff
-syn keyword txl_keyword contained length length-list length-str length-str-<
-syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec
-syn keyword txl_keyword contained lequal less let let*
-syn keyword txl_keyword contained lexical-fun-p lexical-lisp1-binding lexical-var-p lib-version
-syn keyword txl_keyword contained link lisp-parse list list*
-syn keyword txl_keyword contained list-str list-vector listp load
-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 lstat
-syn keyword txl_keyword contained mac-param-bind macro-form-p macro-time macroexpand
-syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream
-syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like
-syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream
-syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym
-syn keyword txl_keyword contained make-time make-time-utc make-trie makedev
-syn keyword txl_keyword contained makunbound mapcar mapcar* mapdo
-syn keyword txl_keyword contained mapf maphash mappend mappend*
-syn keyword txl_keyword contained mask match-fun match-regex match-regex-right
-syn keyword txl_keyword contained match-regst match-regst-right match-str match-str-tree
-syn keyword txl_keyword contained max member member-if memq
-syn keyword txl_keyword contained memql memqual merge min
-syn keyword txl_keyword contained minor minusp mkdir mknod
-syn keyword txl_keyword contained mkstring mlet mod multi
-syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc
+syn keyword txl_keyword contained getpid getppid getpwent getpwnam
+syn keyword txl_keyword contained getpwuid getuid giterate glob
+syn keyword txl_keyword contained glob-altdirfunc glob-brace glob-err glob-mark
+syn keyword txl_keyword contained glob-nocheck glob-noescape glob-nomagic glob-nosort
+syn keyword txl_keyword contained glob-onlydir glob-period glob-tilde glob-tilde-check
+syn keyword txl_keyword contained greater group-by gun hash
+syn keyword txl_keyword contained hash-alist hash-construct hash-count hash-diff
+syn keyword txl_keyword contained hash-eql hash-equal hash-from-pairs hash-isec
+syn keyword txl_keyword contained hash-keys hash-list hash-pairs hash-proper-subset
+syn keyword txl_keyword contained hash-revget hash-subset hash-uni hash-update
+syn keyword txl_keyword contained hash-update-1 hash-values hashp have
+syn keyword txl_keyword contained html-decode html-encode iapply identity
+syn keyword txl_keyword contained ido if ifa iff
+syn keyword txl_keyword contained iffi iflet ignerr in
+syn keyword txl_keyword contained inc inc-indent indent-code indent-data
+syn keyword txl_keyword contained indent-off inhash int-flo int-str
+syn keyword txl_keyword contained integerp intern interp-fun-p interpose
+syn keyword txl_keyword contained ip ipf isqrt itimer-prov
+syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if
+syn keyword txl_keyword contained keep-if* keyword-package 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
+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 lib-version link
+syn keyword txl_keyword contained lisp-parse list list* list-str
+syn keyword txl_keyword contained list-vector listp load log
+syn keyword txl_keyword contained log-alert log-auth log-authpriv log-cons
+syn keyword txl_keyword contained log-crit log-daemon log-debug log-emerg
+syn keyword txl_keyword contained log-err log-info log-ndelay log-notice
+syn keyword txl_keyword contained log-nowait log-odelay log-perror log-pid
+syn keyword txl_keyword contained log-user log-warning log10 log2
+syn keyword txl_keyword contained logand logior lognot logtest
+syn keyword txl_keyword contained logtrunc logxor lstat mac-param-bind
+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-struct make-struct-type
+syn keyword txl_keyword contained make-sym make-time make-time-utc make-trie
+syn keyword txl_keyword contained makedev makunbound 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 meth method min minor
+syn keyword txl_keyword contained minusp mkdir mknod mkstring
+syn keyword txl_keyword contained mlet mod multi multi-sort
+syn keyword txl_keyword contained n-choose-k n-perm-k nconc new
syn keyword txl_keyword contained nilf ninth none not
syn keyword txl_keyword contained notf nreverse nthcdr null
syn keyword txl_keyword contained nullify num-chr num-str numberp
@@ -159,93 +162,102 @@ syn keyword txl_keyword contained open-directory open-file open-fileno open-file
syn keyword txl_keyword contained open-files* open-pipe open-process open-tail
syn keyword txl_keyword contained openlog opip or orf
syn keyword txl_keyword contained packagep pad partition partition*
-syn keyword txl_keyword contained partition-by perm pipe place-form-p
-syn keyword txl_keyword contained placelet placelet* plusp poll
-syn keyword txl_keyword contained poll-err poll-in poll-nval poll-out
-syn keyword txl_keyword contained poll-pri poll-rdband poll-rdhup poll-wrband
-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 pset push pushhash
-syn keyword txl_keyword contained pushnew put-byte put-char put-line
-syn keyword txl_keyword contained put-lines put-string put-strings pwd
-syn keyword txl_keyword contained qquote quasi quasilist quote
-syn keyword txl_keyword contained rand random random-fixnum random-state-p
-syn keyword txl_keyword contained range range* range-regex rcomb
-syn keyword txl_keyword contained read readlink real-time-stream-p reduce-left
-syn keyword txl_keyword contained reduce-right ref refset regex-compile
-syn keyword txl_keyword contained regex-parse regexp regsub rehome-sym
-syn keyword txl_keyword contained remhash remove-if remove-if* remove-path
-syn keyword txl_keyword contained remq remq* remql remql*
-syn keyword txl_keyword contained remqual remqual* rename-path repeat
-syn keyword txl_keyword contained replace replace-list replace-str replace-vec
-syn keyword txl_keyword contained rest ret retf return
-syn keyword txl_keyword contained return-from reverse rlcp rlet
-syn keyword txl_keyword contained rotate 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 self-path seqp set set-diff
-syn keyword txl_keyword contained set-hash-userdata set-indent set-indent-mode set-sig-handler
-syn keyword txl_keyword contained setegid setenv seteuid setgid
-syn keyword txl_keyword contained sethash setitimer setlogmask setq
+syn keyword txl_keyword contained partition-by path-blkdev-p path-chrdev-p path-dir-p
+syn keyword txl_keyword contained path-executable-to-me-p path-exists-p path-file-p path-mine-p
+syn keyword txl_keyword contained path-my-group-p path-newer path-older path-pipe-p
+syn keyword txl_keyword contained path-same-object path-setgid-p path-setuid-p path-sock-p
+syn keyword txl_keyword contained path-sticky-p path-symlink-p path-writable-to-me-p perm
+syn keyword txl_keyword contained pipe place-form-p placelet placelet*
+syn keyword txl_keyword contained plusp poll poll-err poll-in
+syn keyword txl_keyword contained poll-nval poll-out poll-pri poll-rdband
+syn keyword txl_keyword contained poll-rdhup poll-wrband pop pos
+syn keyword txl_keyword contained pos-if pos-max pos-min posq
+syn keyword txl_keyword contained posql posqual pppred ppred
+syn keyword txl_keyword contained pprinl pprint pprof pred
+syn keyword txl_keyword contained prinl print prof prog1
+syn keyword txl_keyword contained progn prop proper-listp pset
+syn keyword txl_keyword contained push pushhash pushnew put-byte
+syn keyword txl_keyword contained put-char put-line put-lines put-string
+syn keyword txl_keyword contained put-strings pwd qquote qref
+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 rlet rotate
+syn keyword txl_keyword contained rperm rplaca rplacd run
+syn keyword txl_keyword contained s-ifblk s-ifchr s-ifdir s-ififo
+syn keyword txl_keyword contained s-iflnk s-ifmt s-ifreg s-ifsock
+syn keyword txl_keyword contained s-irgrp s-iroth s-irusr s-irwxg
+syn keyword txl_keyword contained s-irwxo s-irwxu s-isgid s-isuid
+syn keyword txl_keyword contained s-isvtx s-iwgrp s-iwoth s-iwusr
+syn keyword txl_keyword contained s-ixgrp s-ixoth s-ixusr search
+syn keyword txl_keyword contained search-regex search-regst search-str search-str-tree
+syn keyword txl_keyword contained second seek-stream select self-path
+syn keyword txl_keyword contained seqp set set-diff set-hash-userdata
+syn keyword txl_keyword contained set-indent set-indent-mode set-sig-handler setegid
+syn keyword txl_keyword contained setenv seteuid setgid sethash
+syn keyword txl_keyword contained setitimer setlogmask setpwent setq
syn keyword txl_keyword contained setuid seventh sh shift
-syn keyword txl_keyword contained sig-abrt sig-alrm sig-bus sig-check
-syn keyword txl_keyword contained sig-chld sig-cont sig-fpe sig-hup
-syn keyword txl_keyword contained sig-ill sig-int sig-io sig-iot
-syn keyword txl_keyword contained sig-kill sig-lost sig-pipe sig-poll
-syn keyword txl_keyword contained sig-prof sig-pwr sig-quit sig-segv
-syn keyword txl_keyword contained sig-stkflt sig-stop sig-sys sig-term
-syn keyword txl_keyword contained sig-trap sig-tstp sig-ttin sig-ttou
-syn keyword txl_keyword contained sig-urg sig-usr1 sig-usr2 sig-vtalrm
-syn keyword txl_keyword contained sig-winch sig-xcpu sig-xfsz sign-extend
-syn keyword txl_keyword contained sin sixth size-vec some
-syn keyword txl_keyword contained sort sort-group source-loc source-loc-str
-syn keyword txl_keyword contained span-str special-operator-p special-var-p splice
-syn keyword txl_keyword contained split split-str split-str-set sqrt
-syn keyword txl_keyword contained sssucc ssucc stat stdlib
-syn keyword txl_keyword contained str< str<= str= str>
-syn keyword txl_keyword contained str>= stream-get-prop stream-set-prop streamp
-syn keyword txl_keyword contained string-extend string-lt stringp sub
-syn keyword txl_keyword contained sub-list sub-str sub-vec succ
-syn keyword txl_keyword contained swap symacrolet symbol-function symbol-name
-syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink
-syn keyword txl_keyword contained sys-lisp1-value sys-mark-special sys-qquote sys-splice
-syn keyword txl_keyword contained sys-unquote sys:*lisp1* sys:eval-err sys:get-fb
-syn keyword txl_keyword contained sys:get-vb sys:l1-setq sys:l1-val sys:pl-expand
-syn keyword txl_keyword contained sys:placelet-1 sys:sym-clobber-expander sys:sym-delete-expander sys:sym-update-expander
-syn keyword txl_keyword contained sys:trigger-load syslog tan tb
-syn keyword txl_keyword contained tc tenth test-set-indent-mode tf
-syn keyword txl_keyword contained third throw throwf time
-syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc
-syn keyword txl_keyword contained time-usec tofloat toint tok-str
-syn keyword txl_keyword contained tok-where tostring tostringp tprint
-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-case-impl
-syn keyword txl_keyword contained txr-if txr-version txr-when typeof
-syn keyword txl_keyword contained unget-byte unget-char uniq unique
-syn keyword txl_keyword contained unless unquote unsetenv until
-syn keyword txl_keyword contained until* upcase-str update url-decode
-syn keyword txl_keyword contained url-encode user-package usleep uw-protect
-syn keyword txl_keyword contained var vec vec-push vec-set-length
-syn keyword txl_keyword contained vecref vector vector-list vectorp
-syn keyword txl_keyword contained w-continued w-coredump w-exitstatus w-ifcontinued
-syn keyword txl_keyword contained w-ifexited w-ifsignaled w-ifstopped w-nohang
-syn keyword txl_keyword contained w-stopsig w-termsig w-untraced wait
-syn keyword txl_keyword contained weave when whenlet where
-syn keyword txl_keyword contained while while* whilet width
-syn keyword txl_keyword contained width-check with-clobber-expander with-delete-expander with-gensyms
-syn keyword txl_keyword contained with-resources with-saved-vars with-update-expander wrap
-syn keyword txl_keyword contained wrap* zap zerop zip
+syn keyword txl_keyword contained shuffle 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 slot slotset some sort
+syn keyword txl_keyword contained sort-group source-loc source-loc-str span-str
+syn keyword txl_keyword contained special-operator-p special-var-p splice split
+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 struct-type struct-type-p
+syn keyword txl_keyword contained structp sub sub-list sub-str
+syn keyword txl_keyword contained sub-vec succ super swap
+syn keyword txl_keyword contained symacrolet symbol-function symbol-name symbol-package
+syn keyword txl_keyword contained symbol-value symbolp symlink sys-lisp1-value
+syn keyword txl_keyword contained sys-mark-special sys-qquote sys-splice sys-unquote
+syn keyword txl_keyword contained sys:*lisp1* sys:do-path-test sys:eval-err sys:get-fb
+syn keyword txl_keyword contained sys:get-vb sys:l1-setq sys:l1-val sys:path-access
+syn keyword txl_keyword contained sys:path-examine sys:path-test sys:path-test-mode sys:pl-expand
+syn keyword txl_keyword contained sys:placelet-1 sys:struct-lit sys:sym-clobber-expander sys:sym-delete-expander
+syn keyword txl_keyword contained sys:sym-update-expander sys:trigger-load syslog tan
+syn keyword txl_keyword contained tb tc tenth test-set-indent-mode
+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-struct-local time-struct-utc time-usec
+syn keyword txl_keyword contained tofloat toint tok-str tok-where
+syn keyword txl_keyword contained tostring tostringp tprint transpose
+syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add
+syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at
+syn keyword txl_keyword contained trim-str true trunc trunc-rem
+syn keyword txl_keyword contained tuples txr-case txr-case-impl txr-if
+syn keyword txl_keyword contained txr-version txr-when typeof unget-byte
+syn keyword txl_keyword contained unget-char uniq unique unless
+syn keyword txl_keyword contained unquote unsetenv until until*
+syn keyword txl_keyword contained upcase-str update url-decode url-encode
+syn keyword txl_keyword contained user-package usleep uw-protect var
+syn keyword txl_keyword contained vec vec-push vec-set-length vecref
+syn keyword txl_keyword contained vector vector-list vectorp w-continued
+syn keyword txl_keyword contained w-coredump w-exitstatus w-ifcontinued w-ifexited
+syn keyword txl_keyword contained w-ifsignaled w-ifstopped w-nohang w-stopsig
+syn keyword txl_keyword contained w-termsig w-untraced wait weave
+syn keyword txl_keyword contained when whenlet where while
+syn keyword txl_keyword contained while* whilet width width-check
+syn keyword txl_keyword contained with-clobber-expander with-delete-expander with-gensyms with-resources
+syn keyword txl_keyword contained with-saved-vars with-update-expander wrap wrap*
+syn keyword txl_keyword contained zap zerop zip
syn keyword txr_keyword contained accept all and assert
syn keyword txr_keyword contained bind block cases cat
@@ -310,7 +322,7 @@ syn match txr_quote "\^" contained
syn match txr_dotdot "\.\." contained
syn match txr_metaat "@" contained
-syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
+syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_dot,txr_dotdot,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
syn region txr_directive matchgroup=Delimiter start="@[ \t]*(" matchgroup=Delimiter end=")" contains=txr_keyword,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_num,txr_badnum,txl_ident,txl_regex,txr_string,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_list contained matchgroup=Delimiter start="#\?H\?(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_bracket contained matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error