diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-17 22:00:55 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-17 22:00:55 -0800 |
commit | ccede3ad2a306c68861e8483a647e78f7ee54fbe (patch) | |
tree | 4ec929b5681759e5a885da3cad20b88f2bf80b00 | |
parent | dffbb98d4b2166db150c95d2d94a35a65d61b20d (diff) | |
download | txr-ccede3ad2a306c68861e8483a647e78f7ee54fbe.tar.gz txr-ccede3ad2a306c68861e8483a647e78f7ee54fbe.tar.bz2 txr-ccede3ad2a306c68861e8483a647e78f7ee54fbe.zip |
Version 80txr-80
* txr.c (version): Bumped.
* txr.1: Bumped version and set date.
* configure (txr_ver): Bumped.
* RELNOTES, txr.vim, dep.mk: Updated.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | RELNOTES | 55 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | dep.mk | 4 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.c | 2 | ||||
-rw-r--r-- | txr.vim | 177 |
7 files changed, 163 insertions, 93 deletions
@@ -1,5 +1,17 @@ 2014-02-17 Kaz Kylheku <kaz@kylheku.com> + Version 80 + + * txr.c (version): Bumped. + + * txr.1: Bumped version and set date. + + * configure (txr_ver): Bumped. + + * RELNOTES, txr.vim, dep.mk: Updated. + +2014-02-17 Kaz Kylheku <kaz@kylheku.com> + * eval.c (bind_args, op_defvar, op_defun, op_defmacro, op_modplace): Fix sybol misspelling. @@ -1,3 +1,58 @@ + TXR 80 + 2014-02-17 + + + Features + + - TXR now nicely handles null characters in text stream inputs. + They are internally encoded to the Unicode value U+DC00, + which will map back to a single null byte on output (that being + existing behavior). + + - TXR now has Lisp macros: the defmacro operator is implemented, + with destructuring lambda lists and all. + + - New operators tree-bind and tree-case for pattern binding similar + to Common Lisp's destructuring. This piggybacks off the defmacro + infrastructure which we now have. + + - Big improvement in debuggability: the unhandled exception error message now + gives source code location information. + + - New functions pos, pos-if, posq, posql and posqual for finding item + positions in sequences. + + - Predicate function is now optional in the some, all and none functions. + + - hash-uni and hash-isec functions take a join-func argument which + lets you specify how elements from two tables are merged. + + - new hash table functions inhash and hash-update-1. + + - two hashes can now be tested for deep equality using equal. + + Bugs + + - Removed bogus optimization from hash table implementation. + + - Syntactic fix: input like 1.0a no longer parses as a floating-point number + followed by a symbol, but is diagnosed as an error. Syntax like 123a + continues to work as before: it denotes one symbol, not 123 + followed by a. + + - Bugfix in type check for "cobj" class objects that would crash if + given non-heaped values like fixnum integers. + + - Corrected problems in the code walking and expansion of lambda and + defun forms. + + - Fixed failure to propagate line number info through the abstract syntax + of string quasiliterals. + + - Doc bugs: missing descriptions of gethash and gensym. + + + TXR 79 2014-02-11 @@ -387,7 +387,7 @@ fi # -txr_ver=79 +txr_ver=80 # # The all important banner. @@ -5,7 +5,7 @@ ./lib.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./rand.h $(top_srcdir)/./hash.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./utf8.h $(top_srcdir)/./filter.h $(top_srcdir)/./eval.h $(top_srcdir)/./regex.h ./regex.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./parser.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./txr.h $(top_srcdir)/./gc.h ./gc.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./stream.h $(top_srcdir)/./hash.h $(top_srcdir)/./txr.h $(top_srcdir)/./eval.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h -./unwind.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h $(top_srcdir)/./txr.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h +./unwind.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h $(top_srcdir)/./txr.h $(top_srcdir)/./signal.h $(top_srcdir)/./eval.h $(top_srcdir)/./parser.h $(top_srcdir)/./unwind.h ./stream.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./utf8.h ./arith.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h ./hash.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./hash.h @@ -13,7 +13,7 @@ ./filter.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./hash.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./match.h $(top_srcdir)/./filter.h $(top_srcdir)/./gc.h $(top_srcdir)/./stream.h ./eval.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./regex.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h $(top_srcdir)/./hash.h $(top_srcdir)/./debug.h $(top_srcdir)/./match.h $(top_srcdir)/./rand.h $(top_srcdir)/./filter.h $(top_srcdir)/./txr.h $(top_srcdir)/./syslog.h $(top_srcdir)/./combi.h $(top_srcdir)/./eval.h ./rand.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./gc.h $(top_srcdir)/./arith.h $(top_srcdir)/./rand.h -./combi.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./eval.h $(top_srcdir)/./combi.h +./combi.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./eval.h $(top_srcdir)/./hash.h $(top_srcdir)/./combi.h mpi-1.8.6/mpi.o: config.h $(top_srcdir)/mpi-1.8.6/mpi.h $(top_srcdir)/mpi-1.8.6/logtab.h mpi-1.8.6/mplogic.o: config.h $(top_srcdir)/mpi-1.8.6/mplogic.h ./debug.o: config.h $(top_srcdir)/./lib.h $(top_srcdir)/./debug.h $(top_srcdir)/./gc.h $(top_srcdir)/./signal.h $(top_srcdir)/./unwind.h $(top_srcdir)/./stream.h $(top_srcdir)/./parser.h $(top_srcdir)/./txr.h @@ -21,9 +21,9 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2014-02-11 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-02-17 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 79) +txr \- text processing language (version 80) .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("79"); +const wchli_t *version = wli("80"); const wchar_t *progname = L"txr"; val self_path; @@ -33,50 +33,51 @@ syn keyword txr_keyword contained set skip some text syn keyword txr_keyword contained throw trailer try until syn keyword txr_keyword contained var -syn keyword txl_keyword contained * *keyword-package* *random-state* *self-path* -syn keyword txl_keyword contained *stddebug* *stderr* *stdin* *stdlog* -syn keyword txl_keyword contained *stdnull* *stdout* *system-package* *user-package* -syn keyword txl_keyword contained + - / /= -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* 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* comb compl-span-str cond -syn keyword txl_keyword contained cons conses conses* consp -syn keyword txl_keyword contained copy-alist copy-cons copy-hash copy-list -syn keyword txl_keyword contained copy-str copy-vec cos count-if -syn keyword txl_keyword contained countq countql countqual cum-norm-dist -syn keyword txl_keyword contained daemon dec defun defvar -syn keyword txl_keyword contained del delete-package do 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 expand 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 func-set-env -syn keyword txl_keyword contained functionp gcd generate gensym -syn keyword txl_keyword contained get-byte get-char get-hash-userdata get-line -syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string-from-stream gethash -syn keyword txl_keyword contained group-by hash hash-alist hash-construct -syn keyword txl_keyword contained hash-count hash-diff hash-eql hash-equal -syn keyword txl_keyword contained hash-isec hash-keys hash-pairs hash-uni -syn keyword txl_keyword contained hash-update hash-values hashp identity -syn keyword txl_keyword contained if iff iffi inc +syn keyword txl_keyword contained * *gensym-counter* *keyword-package* *random-state* +syn keyword txl_keyword contained *self-path* *stddebug* *stderr* *stdin* +syn keyword txl_keyword contained *stdlog* *stdnull* *stdout* *system-package* +syn keyword txl_keyword contained *user-package* + - / +syn keyword txl_keyword contained /= < <= = +syn keyword txl_keyword contained > >= abs acons +syn keyword txl_keyword contained acons-new aconsql-new acos alist-nremove +syn keyword txl_keyword contained alist-remove all and andf +syn keyword txl_keyword contained append append* append-each append-each* +syn keyword txl_keyword contained apply ash asin assoc +syn keyword txl_keyword contained assql atan atan2 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* comb compl-span-str +syn keyword txl_keyword contained cond cons conses conses* +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 defmacro +syn keyword txl_keyword contained defun defvar del delete-package +syn keyword txl_keyword contained do dohash downcase-str dwim +syn keyword txl_keyword contained each each* eq eql +syn keyword txl_keyword contained equal errno error eval +syn keyword txl_keyword contained evenp exit exp expand +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 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-update hash-update-1 +syn keyword txl_keyword contained hash-values hashp identity if +syn keyword txl_keyword contained iff iffi inc inhash 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 @@ -105,49 +106,51 @@ syn keyword txl_keyword contained nreverse null num-chr num-str syn keyword txl_keyword contained numberp oddp op 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 perm 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 rcomb 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* 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 return return-from reverse -syn keyword txl_keyword contained rperm 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-fields-local time-fields-utc -syn keyword txl_keyword contained time-string-local time-string-utc time-usec tok-str -syn keyword txl_keyword contained tostring tostringp tree-find trim-str +syn keyword txl_keyword contained packagep perm pop pos +syn keyword txl_keyword contained pos-if posq posql posqual +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* rcomb read real-time-stream-p +syn keyword txl_keyword contained reduce-left reduce-right ref refset +syn keyword txl_keyword contained regex-compile regex-parse regexp regsub +syn keyword txl_keyword contained rehome-sym remhash remove-if remove-if* +syn keyword txl_keyword contained remove-path remq remq* remql +syn keyword txl_keyword contained remql* remqual remqual* rename-path +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 rlcp rperm rplaca +syn keyword txl_keyword contained rplacd 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-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-regex +syn keyword txl_keyword contained search-str search-str-tree second seek-stream +syn keyword txl_keyword contained set set-diff set-hash-userdata set-sig-handler +syn keyword txl_keyword contained sethash setlogmask sig-abrt sig-alrm +syn keyword txl_keyword contained sig-bus sig-check sig-chld sig-cont +syn keyword txl_keyword contained sig-fpe sig-hup sig-ill sig-int +syn keyword txl_keyword contained sig-io sig-iot sig-kill sig-lost +syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr +syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop +syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp +syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1 +syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu +syn keyword txl_keyword contained sig-xfsz sin sixth size-vec +syn keyword txl_keyword contained some sort source-loc source-loc-str +syn keyword txl_keyword contained span-str splice split-str split-str-set +syn keyword txl_keyword contained sqrt stat stream-get-prop stream-set-prop +syn keyword txl_keyword contained streamp string-cmp string-extend string-lt +syn keyword txl_keyword contained stringp sub sub-list sub-str +syn keyword txl_keyword contained sub-vec symbol-function symbol-name symbol-package +syn keyword txl_keyword contained symbol-value symbolp syslog tan +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 tok-str tostring tostringp +syn keyword txl_keyword contained tree-bind tree-case tree-find trim-str syn keyword txl_keyword contained trunc typeof unget-byte unget-char syn keyword txl_keyword contained unquote upcase-str update url-decode syn keyword txl_keyword contained url-encode usleep uw-protect vec |