From 6a3afa9e22cd33e88f0b1527fcff06c6b42c355d Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 16 Jan 2014 00:11:27 -0800 Subject: Version 75. --- ChangeLog | 12 ++++ RELNOTES | 36 +++++++++++ configure | 2 +- txr.1 | 4 +- txr.c | 2 +- txr.vim | 213 +++++++++++++++++++++++++++++++------------------------------- 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 + + 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 * 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 -- cgit v1.2.3