summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-01-16 00:11:27 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-01-16 00:11:27 -0800
commit6a3afa9e22cd33e88f0b1527fcff06c6b42c355d (patch)
tree77c18249ca27da76c4648e0035c47418420b6406
parentaba056045000ed165027829eef93d469cc04b35d (diff)
downloadtxr-6a3afa9e22cd33e88f0b1527fcff06c6b42c355d.tar.gz
txr-6a3afa9e22cd33e88f0b1527fcff06c6b42c355d.tar.bz2
txr-6a3afa9e22cd33e88f0b1527fcff06c6b42c355d.zip
Version 75.txr-75
-rw-r--r--ChangeLog12
-rw-r--r--RELNOTES36
-rwxr-xr-xconfigure2
-rw-r--r--txr.14
-rw-r--r--txr.c2
-rw-r--r--txr.vim213
6 files changed, 159 insertions, 110 deletions
diff --git a/ChangeLog b/ChangeLog
index 94760add..60977626 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-01-16 Kaz Kylheku <kaz@kylheku.com>
+
+ Version 75
+
+ * txr.c (version): Bumped.
+
+ * txr.1: Bumped version and set date.
+
+ * configure (txr_ver): Bumped.
+
+ * RELNOTES, txr.vim: Updated.
+
2014-01-15 Kaz Kylheku <kaz@kylheku.com>
* lib.c (obj_print, obj_pprint): Convert the internal representation
diff --git a/RELNOTES b/RELNOTES
index 5647d593..f7ff3a35 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,3 +1,39 @@
+ TXR 75
+ 2014-01-16
+
+
+ Features
+
+ - Two new stream functions: unget-char and unget-byte. Some streams now
+ support ungetting a byte or character, which was a glaring omission
+ in the API, without which some common scanning tasks are awkward.
+
+ - TXR Lisp functions with optional parameters can now specify expressions
+ to give those arguments values when the arguments are missing.
+
+ - New operators in TXR Lisp: append-each and append-each*.
+
+ - Change in the Lisp structure printer. The special structure generated by
+ the read syntax @sym and @(...) now prints back in the same syntax,
+ rather than as (sys:var sym) and (sys:expr ...).
+
+ Bugs
+
+ - Fix in put-byte function: before invoking the underlying operation,
+ it was testing whether the put-char operation exists for the stream,
+ rather than the put-byte operation. This would result in a crash if
+ the stream supports put-char but not put-byte.
+
+ - Mistake in calculating bitmasks for regex character class ranges,
+ resulting in incorrect behavior for ranges whose upper range is
+ a character code corresponding to the last bit of a word in the
+ bitmask array, e.g. [A-\x7f], resulting in failures to match
+ 32 or more characters in the upper end of the range.
+
+ - Missing documentation filled in for the functions throw, throwf and error.
+
+
+
TXR 74
2014-01-13
diff --git a/configure b/configure
index 18c8748f..8f0bf7c4 100755
--- a/configure
+++ b/configure
@@ -387,7 +387,7 @@ fi
#
-txr_ver=74
+txr_ver=75
#
# The all important banner.
diff --git a/txr.1 b/txr.1
index b4ab6814..cd8d2e8e 100644
--- a/txr.1
+++ b/txr.1
@@ -21,9 +21,9 @@
.\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-.TH "TXR" 1 2014-01-13 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku"
+.TH "TXR" 1 2014-01-16 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku"
.SH NAME
-txr \- text processing language (version 74)
+txr \- text processing language (version 75)
.SH SYNOPSIS
.B txr [ options ] query-file { data-file }*
.sp
diff --git a/txr.c b/txr.c
index 1ec16ec6..fc1bb32b 100644
--- a/txr.c
+++ b/txr.c
@@ -46,7 +46,7 @@
#include "syslog.h"
#include "txr.h"
-const wchli_t *version = wli("74");
+const wchli_t *version = wli("75");
const wchar_t *progname = L"txr";
const wchar_t *spec_file = L"stdin";
val self_path;
diff --git a/txr.vim b/txr.vim
index 28ebebbb..b18a0ea2 100644
--- a/txr.vim
+++ b/txr.vim
@@ -41,112 +41,113 @@ syn keyword txl_keyword contained < <= = >
syn keyword txl_keyword contained >= abs acons acons-new
syn keyword txl_keyword contained aconsql-new acos alist-nremove alist-remove
syn keyword txl_keyword contained all and andf append
-syn keyword txl_keyword contained append* apply ash asin
-syn keyword txl_keyword contained assoc assql atan atom
-syn keyword txl_keyword contained bignump block boundp break-str
-syn keyword txl_keyword contained call car cat-str cat-vec
-syn keyword txl_keyword contained catch cdr ceil chain
-syn keyword txl_keyword contained chr-isalnum chr-isalpha chr-isascii chr-iscntrl
-syn keyword txl_keyword contained chr-isdigit chr-isgraph chr-islower chr-isprint
-syn keyword txl_keyword contained chr-ispunct chr-isspace chr-isupper chr-isxdigit
-syn keyword txl_keyword contained chr-num chr-str chr-str-set chr-tolower
-syn keyword txl_keyword contained chr-toupper chrp close-stream closelog
-syn keyword txl_keyword contained collect-each collect-each* compl-span-str cond
-syn keyword txl_keyword contained cons consp copy-alist copy-cons
-syn keyword txl_keyword contained copy-hash copy-list copy-str copy-vec
-syn keyword txl_keyword contained cos count-if countq countql
-syn keyword txl_keyword contained countqual cum-norm-dist daemon dec
-syn keyword txl_keyword contained defun defvar del delete-package
-syn keyword txl_keyword contained dohash downcase-str dwim each
-syn keyword txl_keyword contained each* eq eql equal
-syn keyword txl_keyword contained errno error eval evenp
-syn keyword txl_keyword contained exit exp expt exptmod
-syn keyword txl_keyword contained fboundp fifth find find-if
-syn keyword txl_keyword contained find-package first fixnump flatten
-syn keyword txl_keyword contained flatten* flip flo-int flo-str
-syn keyword txl_keyword contained floatp floor flush-stream for
-syn keyword txl_keyword contained for* force format fourth
-syn keyword txl_keyword contained fun func-get-env func-get-form functionp
-syn keyword txl_keyword contained gcd generate gensym get-byte
-syn keyword txl_keyword contained get-char get-hash-userdata get-line get-list-from-stream
-syn keyword txl_keyword contained get-sig-handler get-string-from-stream gethash hash
-syn keyword txl_keyword contained hash-alist hash-construct hash-count hash-diff
-syn keyword txl_keyword contained hash-eql hash-equal hash-isec hash-keys
-syn keyword txl_keyword contained hash-pairs hash-uni hash-values hashp
-syn keyword txl_keyword contained identity if iff iffi
-syn keyword txl_keyword contained inc int-flo int-str integerp
-syn keyword txl_keyword contained intern interp-fun-p isqrt keep-if
-syn keyword txl_keyword contained keep-if* keywordp lambda 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 lcons-fun 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 let
-syn keyword txl_keyword contained let* lisp-parse list list-str
-syn keyword txl_keyword contained list-vector listp log log-alert
-syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit
-syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err
-syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait
-syn keyword txl_keyword contained log-odelay log-perror log-pid log-user
-syn keyword txl_keyword contained log-warning logand logior lognot
-syn keyword txl_keyword contained logtest logtrunc logxor make-hash
-syn keyword txl_keyword contained make-lazy-cons make-package make-random-state make-similar-hash
-syn keyword txl_keyword contained make-string-byte-input-stream make-string-input-stream make-string-output-stream make-strlist-output-stream
-syn keyword txl_keyword contained make-sym make-time make-time-utc mapcar
-syn keyword txl_keyword contained mapcar* maphash mappend mappend*
-syn keyword txl_keyword contained mask match-fun match-regex match-str
-syn keyword txl_keyword contained match-str-tree max memq memql
-syn keyword txl_keyword contained memqual merge min mkstring
-syn keyword txl_keyword contained mod multi-sort n-choose-k n-perm-k
-syn keyword txl_keyword contained none not nreverse null
-syn keyword txl_keyword contained num-chr num-str numberp oddp
-syn keyword txl_keyword contained open-command open-directory open-file open-pipe
-syn keyword txl_keyword contained open-process open-tail openlog or
-syn keyword txl_keyword contained orf packagep pop pprint
-syn keyword txl_keyword contained print prog1 progn prop
-syn keyword txl_keyword contained proper-listp push pushhash put-byte
-syn keyword txl_keyword contained put-char put-line put-string qquote
-syn keyword txl_keyword contained quasi quote rand random
-syn keyword txl_keyword contained random-fixnum random-state-p range range*
-syn keyword txl_keyword contained read 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* remq remq*
-syn keyword txl_keyword contained remql remql* remqual remqual*
-syn keyword txl_keyword contained repeat replace replace-list replace-str
-syn keyword txl_keyword contained replace-vec rest return return-from
-syn keyword txl_keyword contained reverse rplaca rplacd s-ifblk
-syn keyword txl_keyword contained s-ifchr s-ifdir s-ififo s-iflnk
-syn keyword txl_keyword contained s-ifmt s-ifreg 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-regex search-str search-str-tree
-syn keyword txl_keyword contained second seek-stream set set-diff
-syn keyword txl_keyword contained set-hash-userdata set-sig-handler sethash setlogmask
-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 sin
-syn keyword txl_keyword contained sixth size-vec some sort
-syn keyword txl_keyword contained source-loc source-loc-str span-str splice
-syn keyword txl_keyword contained split-str split-str-set sqrt stat
-syn keyword txl_keyword contained stream-get-prop stream-set-prop streamp string-cmp
-syn keyword txl_keyword contained string-extend string-lt stringp sub
-syn keyword txl_keyword contained sub-list sub-str sub-vec symbol-function
-syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp
-syn keyword txl_keyword contained syslog tan third throw
-syn keyword txl_keyword contained throwf time time-string-local time-string-utc
-syn keyword txl_keyword contained time-usec tok-str tostring tostringp
-syn keyword txl_keyword contained tree-find trim-str trunc typeof
-syn keyword txl_keyword contained unquote upcase-str url-decode url-encode
-syn keyword txl_keyword contained usleep uw-protect vec-push vec-set-length
-syn keyword txl_keyword contained vecref vector vector-list vectorp
-syn keyword txl_keyword contained zerop
+syn keyword txl_keyword contained append* append-each append-each* apply
+syn keyword txl_keyword contained ash asin assoc assql
+syn keyword txl_keyword contained atan atan2 atom bignump
+syn keyword txl_keyword contained block boundp break-str call
+syn keyword txl_keyword contained car cat-str cat-vec catch
+syn keyword txl_keyword contained cdr ceil chain chr-isalnum
+syn keyword txl_keyword contained chr-isalpha chr-isascii chr-iscntrl chr-isdigit
+syn keyword txl_keyword contained chr-isgraph chr-islower chr-isprint chr-ispunct
+syn keyword txl_keyword contained chr-isspace chr-isupper chr-isxdigit chr-num
+syn keyword txl_keyword contained chr-str chr-str-set chr-tolower chr-toupper
+syn keyword txl_keyword contained chrp close-stream closelog collect-each
+syn keyword txl_keyword contained collect-each* compl-span-str cond cons
+syn keyword txl_keyword contained consp copy-alist copy-cons copy-hash
+syn keyword txl_keyword contained copy-list copy-str copy-vec cos
+syn keyword txl_keyword contained count-if countq countql countqual
+syn keyword txl_keyword contained cum-norm-dist daemon dec defun
+syn keyword txl_keyword contained defvar del delete-package dohash
+syn keyword txl_keyword contained downcase-str dwim each each*
+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 fboundp
+syn keyword txl_keyword contained fifth find find-if find-package
+syn keyword txl_keyword contained first fixnump flatten flatten*
+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 functionp gcd
+syn keyword txl_keyword contained generate gensym get-byte get-char
+syn keyword txl_keyword contained get-hash-userdata get-line get-list-from-stream get-sig-handler
+syn keyword txl_keyword contained get-string-from-stream gethash hash hash-alist
+syn keyword txl_keyword contained hash-construct hash-count hash-diff hash-eql
+syn keyword txl_keyword contained hash-equal hash-isec hash-keys hash-pairs
+syn keyword txl_keyword contained hash-uni hash-values hashp identity
+syn keyword txl_keyword contained if iff iffi inc
+syn keyword txl_keyword contained int-flo int-str integerp intern
+syn keyword txl_keyword contained interp-fun-p isqrt keep-if keep-if*
+syn keyword txl_keyword contained keywordp lambda lazy-str lazy-str-force
+syn keyword txl_keyword contained lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons lazy-stringp
+syn keyword txl_keyword contained lcons-fun 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 let let*
+syn keyword txl_keyword contained lisp-parse 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 logand logior lognot logtest
+syn keyword txl_keyword contained logtrunc logxor make-hash make-lazy-cons
+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 mapcar mapcar*
+syn keyword txl_keyword contained maphash mappend mappend* mask
+syn keyword txl_keyword contained match-fun match-regex match-str match-str-tree
+syn keyword txl_keyword contained max memq memql memqual
+syn keyword txl_keyword contained merge min mkstring mod
+syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k none
+syn keyword txl_keyword contained not nreverse null num-chr
+syn keyword txl_keyword contained num-str numberp oddp open-command
+syn keyword txl_keyword contained open-directory open-file open-pipe open-process
+syn keyword txl_keyword contained open-tail openlog or orf
+syn keyword txl_keyword contained packagep pop pprint print
+syn keyword txl_keyword contained prog1 progn prop proper-listp
+syn keyword txl_keyword contained push pushhash put-byte put-char
+syn keyword txl_keyword contained put-line put-string qquote quasi
+syn keyword txl_keyword contained quote rand random random-fixnum
+syn keyword txl_keyword contained random-state-p range range* read
+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* remq remq* remql
+syn keyword txl_keyword contained remql* remqual remqual* repeat
+syn keyword txl_keyword contained replace replace-list replace-str replace-vec
+syn keyword txl_keyword contained rest return return-from reverse
+syn keyword txl_keyword contained rplaca rplacd 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-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-regex search-str search-str-tree second
+syn keyword txl_keyword contained seek-stream set set-diff set-hash-userdata
+syn keyword txl_keyword contained set-sig-handler sethash setlogmask sig-abrt
+syn keyword txl_keyword contained sig-alrm sig-bus sig-check sig-chld
+syn keyword txl_keyword contained sig-cont sig-fpe sig-hup sig-ill
+syn keyword txl_keyword contained sig-int sig-io sig-iot sig-kill
+syn keyword txl_keyword contained sig-lost sig-pipe sig-poll sig-prof
+syn keyword txl_keyword contained sig-pwr sig-quit sig-segv sig-stkflt
+syn keyword txl_keyword contained sig-stop sig-sys sig-term sig-trap
+syn keyword txl_keyword contained sig-tstp sig-ttin sig-ttou sig-urg
+syn keyword txl_keyword contained sig-usr1 sig-usr2 sig-vtalrm sig-winch
+syn keyword txl_keyword contained sig-xcpu sig-xfsz sin sixth
+syn keyword txl_keyword contained size-vec some sort source-loc
+syn keyword txl_keyword contained source-loc-str span-str splice split-str
+syn keyword txl_keyword contained split-str-set sqrt stat stream-get-prop
+syn keyword txl_keyword contained stream-set-prop streamp string-cmp string-extend
+syn keyword txl_keyword contained string-lt stringp sub sub-list
+syn keyword txl_keyword contained sub-str sub-vec symbol-function symbol-name
+syn keyword txl_keyword contained symbol-package symbol-value symbolp syslog
+syn keyword txl_keyword contained tan third throw throwf
+syn keyword txl_keyword contained time time-string-local time-string-utc time-usec
+syn keyword txl_keyword contained tok-str tostring tostringp tree-find
+syn keyword txl_keyword contained trim-str trunc typeof unget-byte
+syn keyword txl_keyword contained unget-char unquote upcase-str url-decode
+syn keyword txl_keyword contained url-encode usleep uw-protect vec-push
+syn keyword txl_keyword contained vec-set-length vecref vector vector-list
+syn keyword txl_keyword contained vectorp zerop
syn match txr_error "@[\t ]*[*]\?[\t ]*."
syn match txr_nested_error "[^\t `]\+" contained