diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-01-23 07:25:57 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-01-23 07:25:57 -0800 |
commit | 094df64b6c3362f01f44d108f0d5fa4c102341b8 (patch) | |
tree | 440f5557241aaf136de375b988a0845648c0a7d1 | |
parent | b1685e72fab5291ef2755d1e89ca729c05dc443e (diff) | |
download | txr-094df64b6c3362f01f44d108f0d5fa4c102341b8.tar.gz txr-094df64b6c3362f01f44d108f0d5fa4c102341b8.tar.bz2 txr-094df64b6c3362f01f44d108f0d5fa4c102341b8.zip |
Version 76txr-76
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | RELNOTES | 35 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | dep.mk | 2 | ||||
-rw-r--r-- | genvim.txr | 1 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.c | 2 | ||||
-rw-r--r-- | txr.vim | 176 |
8 files changed, 144 insertions, 92 deletions
@@ -1,5 +1,19 @@ 2014-01-23 Kaz Kylheku <kaz@kylheku.com> + Version 76 + + * txr.c (version): Bumped. + + * txr.1: Bumped version and set date. + + * configure (txr_ver): Bumped. + + * RELNOTES, txr.vim, dep.mk: Updated. + + * genvim.txr: Add missing op and do. + +2014-01-23 Kaz Kylheku <kaz@kylheku.com> + * eval.c (expand_op): Takes sym argument to distinguish op and do. The dwim operator is deleted when the symbol is do. (expand): Expand do_s form with expand_op, not only op_s. Pass down @@ -1,3 +1,38 @@ + TXR 76 + 2014-01-23 + + + Features + + - New time functions: time-fields-local and time-fields-utc for obtaining + broken-down time from Epoch seconds. + + - New group-by function for constructing a hash from a list when the + list elements can be partitioned into equivalence classes tied to keys, + rather than treated individually. + + - Sweeping changes in TXR List to allow vectors and strings to be manipulated + in many situations as if they were lists. Functions like car, cdr and + mapcar work on strings and vectors. + + - New command line options -e and -p for evaluating TXR Lisp expressions + more conveniently from the command line. + + - The and, or and if special operators are now also provided as functions, + so they can be indirected upon functionally. + + - New functions conses and conses*, useful for iterating over a list + similarly to Common Lisp's maplist function. + + - New do operator (unrelated to @(do) directive) similar to op, but + geared toward doing imperative things involving special operators. + + Bugs + + - @(require ...) directive was not expanding its forms prior to evaluation. + + + TXR 75 2014-01-16 @@ -387,7 +387,7 @@ fi # -txr_ver=75 +txr_ver=76 # # The all important banner. @@ -1,4 +1,4 @@ -./txr.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./stream.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./parser.h $(top_srcdir)/./match.h $(top_srcdir)/./utf8.h $(top_srcdir)/./debug.h $(top_srcdir)/./syslog.h $(top_srcdir)/./txr.h +./txr.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./stream.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./parser.h $(top_srcdir)/./match.h $(top_srcdir)/./utf8.h $(top_srcdir)/./debug.h $(top_srcdir)/./syslog.h $(top_srcdir)/./eval.h $(top_srcdir)/./txr.h ./lex.yy.o: config.h $(top_srcdir)/./lib.h y.tab.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h $(top_srcdir)/./utf8.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./hash.h $(top_srcdir)/./parser.h ./y.tab.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./utf8.h $(top_srcdir)/./match.h $(top_srcdir)/./hash.h $(top_srcdir)/./eval.h $(top_srcdir)/./parser.h ./match.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h $(top_srcdir)/./txr.h $(top_srcdir)/./utf8.h $(top_srcdir)/./filter.h $(top_srcdir)/./hash.h $(top_srcdir)/./debug.h $(top_srcdir)/./eval.h $(top_srcdir)/./match.h @@ -36,6 +36,7 @@ void eval_init(void) @(do (set [txr-sym 0..0] '("rep" "end" "and" "or" "catch" "finally" "until" "last"))) +@(do (set [txl-sym 0..0] '("do" "op")))@# Doo...wop! :) @(set (txr-sym txl-sym) (@(sortuniq txr-sym) @(sortuniq txl-sym))) @(output) " VIM Syntax file for txr @@ -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-16 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-01-23 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 75) +txr \- text processing language (version 76) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp @@ -47,7 +47,7 @@ #include "eval.h" #include "txr.h" -const wchli_t *version = wli("75"); +const wchli_t *version = wli("76"); const wchar_t *progname = L"txr"; val self_path; @@ -53,95 +53,97 @@ 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 conses conses* consp 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 defun defvar del +syn keyword txl_keyword contained delete-package do dohash downcase-str +syn keyword txl_keyword contained dwim each each* eq +syn keyword txl_keyword contained eql equal errno error +syn keyword txl_keyword contained eval evenp exit exp +syn keyword txl_keyword contained expt exptmod fboundp fifth +syn keyword txl_keyword contained find find-if find-package first +syn keyword txl_keyword contained fixnump flatten flatten* flip +syn keyword txl_keyword contained flo-int flo-str floatp floor +syn keyword txl_keyword contained flush-stream for for* force +syn keyword txl_keyword contained format fourth fun func-get-env +syn keyword txl_keyword contained func-get-form func-set-env functionp gcd syn keyword txl_keyword contained 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 get-string-from-stream gethash group-by 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 op open-command open-directory open-file +syn keyword txl_keyword contained open-pipe open-process open-tail openlog +syn keyword txl_keyword contained or orf packagep pop +syn keyword txl_keyword contained pprint print prog1 progn +syn keyword txl_keyword contained prop proper-listp push pushhash +syn keyword txl_keyword contained put-byte put-char put-line put-string +syn keyword txl_keyword contained qquote quasi quote rand +syn keyword txl_keyword contained random random-fixnum random-state-p range +syn keyword txl_keyword contained range* read 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* remq +syn keyword txl_keyword contained remq* remql remql* remqual +syn keyword txl_keyword contained remqual* repeat replace replace-list +syn keyword txl_keyword contained replace-str replace-vec rest return +syn keyword txl_keyword contained return-from reverse rplaca rplacd +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-irgrp +syn keyword txl_keyword contained s-iroth s-irusr s-irwxg s-irwxo +syn keyword txl_keyword contained s-irwxu s-isgid s-isuid s-isvtx +syn keyword txl_keyword contained s-iwgrp s-iwoth s-iwusr s-ixgrp +syn keyword txl_keyword contained s-ixoth s-ixusr search-regex search-str +syn keyword txl_keyword contained search-str-tree second seek-stream set +syn keyword txl_keyword contained set-diff set-hash-userdata set-sig-handler sethash +syn keyword txl_keyword contained setlogmask 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 sin sixth size-vec some +syn keyword txl_keyword contained sort source-loc source-loc-str span-str +syn keyword txl_keyword contained splice split-str split-str-set sqrt +syn keyword txl_keyword contained stat stream-get-prop stream-set-prop streamp +syn keyword txl_keyword contained string-cmp string-extend string-lt stringp +syn keyword txl_keyword contained sub sub-list sub-str sub-vec +syn keyword txl_keyword contained symbol-function symbol-name symbol-package symbol-value +syn keyword txl_keyword contained symbolp syslog tan third +syn keyword txl_keyword contained throw throwf time time-fields-local +syn keyword txl_keyword contained time-fields-utc 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 |