diff options
-rw-r--r-- | RELNOTES | 74 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | dep.mk | 2 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.vim | 240 |
5 files changed, 200 insertions, 122 deletions
@@ -1,3 +1,77 @@ + TXR 91 + 2014-07-02 + + + + Features + + - @(load `@stdlib/ver`) brings in a definition of a new variable + called *lib-version* which lets programs check what version of + the library they are using. + + - New functions where and sel for working with multiple indexes + into a sequence. + + - New function seqp for testing whether an object is a sequence of any type. + + - New functions pos-max, pos-min, find-max and find-min. + + - New character constant #\pnul denoting the U+DC00 code + (TXR's "pseudo null"). + + - New function tuples for reorganizing a sequence into tuples. + + - New functions true and false, expressive in applicative programming: + for instance [all true list]. + + - New functions member and member-if. + + - New function multi for applying a one-sequence operation to + parallel sequences. + + - New functions tf, nilf, retf, apf, ipf. + + - New macros ret, ip and ap. + + - New function iapply for applying improper lists. + + - New functions transpose and zip. + + - New functions tok-where and range-regex. + + - New function bit for testing bits. + + - [] indexing now allows element extraction by index list, + as well as assignment by index list, increasing the "slicing power". + + Bugs + + - Fixed reliance on leading slash as indicator of absolute path in @(load). + + - Fixed breakage in range and range* function (regression introduced + in TXR 89). + + - Fixed bug in dwim operator: Lisp-1 evaluation semantics being propagated + into nested forms, contrary to documentation. + + - Line number of error correctly reported in some situations in which + it previously wasn't. + + - Fixed macros not being expanded inside quasiliteral brace notation. + + - Fixed broken last function. + + - Fixed broken bignum bit operations, not handling negative values + properly. + + - Fixed reversed logic of logtest function. + + - Fixed some memory leaks in MPI bignum integer operations. + + - Documentation fixes. + + + TXR 90 2014-06-11 @@ -407,7 +407,7 @@ fi # -txr_ver=90 +txr_ver=91 # # 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)/./eval.h $(top_srcdir)/./regex.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)/./regex.h $(top_srcdir)/./arith.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)/./stream.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 @@ -21,9 +21,9 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2014-06-11 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-07-02 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 90) +txr \- text processing language (version 91) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp @@ -42,77 +42,79 @@ syn keyword txl_keyword contained - / /= < syn keyword txl_keyword contained <= = > >= syn keyword txl_keyword contained abs abs-path-p 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 chdir -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 cmp-str collect-each collect-each* comb -syn keyword txl_keyword contained compl-span-str cond cons conses -syn keyword txl_keyword contained conses* consp 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 defmacro defsymacro defun -syn keyword txl_keyword contained defvar del delay delete-package -syn keyword txl_keyword contained do dohash downcase-str dwim -syn keyword txl_keyword contained each each* empty 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 exit exp -syn keyword txl_keyword contained expt exptmod false fboundp -syn keyword txl_keyword contained fifth filter-equal filter-string-tree find -syn keyword txl_keyword contained find-if find-max find-min 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 func-set-env functionp -syn keyword txl_keyword contained gcd gen 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 gun 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-update hash-update-1 hash-values -syn keyword txl_keyword contained hashp html-decode html-encode identity +syn keyword txl_keyword contained all and andf ap +syn keyword txl_keyword contained apf append append* append-each +syn keyword txl_keyword contained append-each* apply ash asin +syn keyword txl_keyword contained assoc assql atan atan2 +syn keyword txl_keyword contained atom bignump bit block +syn keyword txl_keyword contained boundp break-str call car +syn keyword txl_keyword contained cat-str cat-vec catch cdr +syn keyword txl_keyword contained ceil chain chdir 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 cmp-str +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 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 defmacro defsymacro defun defvar +syn keyword txl_keyword contained del delay delete-package do +syn keyword txl_keyword contained dohash downcase-str dwim each +syn keyword txl_keyword contained each* empty 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 exit exp expt +syn keyword txl_keyword contained exptmod false fboundp fifth +syn keyword txl_keyword contained filter-equal filter-string-tree find find-if +syn keyword txl_keyword contained find-max find-min 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 gen 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 group-by +syn keyword txl_keyword contained gun 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-update-1 hash-values hashp +syn keyword txl_keyword contained html-decode html-encode iapply identity syn keyword txl_keyword contained if iff iffi inc syn keyword txl_keyword contained inhash 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 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 lcons-fun 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 let let* link lisp-parse -syn keyword txl_keyword contained list 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 log10 logand logior lognot -syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p -syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet -syn keyword txl_keyword contained major make-catenated-stream make-env make-hash -syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state -syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream -syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc -syn keyword txl_keyword contained make-trie makedev mapcar mapcar* -syn keyword txl_keyword contained maphash mappend mappend* mask -syn keyword txl_keyword contained match-fun match-regex match-regex-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 min minor mkdir mknod -syn keyword txl_keyword contained mkstring mod multi-sort n-choose-k -syn keyword txl_keyword contained n-perm-k none not nreverse +syn keyword txl_keyword contained intern interp-fun-p ip ipf +syn keyword txl_keyword contained isqrt keep-if keep-if* keywordp +syn keyword txl_keyword contained lambda last 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 link lisp-parse list list* +syn keyword txl_keyword contained list-str list-vector listp 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 logand +syn keyword txl_keyword contained logior lognot logtest logtrunc +syn keyword txl_keyword contained logxor 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 mapcar mapcar* maphash mappend +syn keyword txl_keyword contained mappend* mask match-fun match-regex +syn keyword txl_keyword contained match-regex-right match-str match-str-tree max +syn keyword txl_keyword contained member member-if memq memql +syn keyword txl_keyword contained memqual merge min minor +syn keyword txl_keyword contained mkdir mknod mkstring mod +syn keyword txl_keyword contained multi multi-sort n-choose-k n-perm-k +syn keyword txl_keyword contained nilf none not nreverse syn keyword txl_keyword contained null nullify num-chr num-str syn keyword txl_keyword contained numberp oddp op open-command syn keyword txl_keyword contained open-directory open-file open-files open-files* @@ -126,57 +128,59 @@ 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 pwd qquote quasi quasilist syn keyword txl_keyword contained quote rand random random-fixnum -syn keyword txl_keyword contained random-state-p range range* 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 return return-from reverse -syn keyword txl_keyword contained rlcp 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-str search-str-tree -syn keyword txl_keyword contained second seek-stream select seqp -syn keyword txl_keyword contained set set-diff set-hash-userdata set-sig-handler -syn keyword txl_keyword contained sethash setlogmask sh 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 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 symacrolet -syn keyword txl_keyword contained symbol-function symbol-name symbol-package symbol-value -syn keyword txl_keyword contained symbolp symlink sys-qquote sys-splice -syn keyword txl_keyword contained sys-unquote syslog tan third +syn keyword txl_keyword contained random-state-p range range* range-regex +syn keyword txl_keyword contained rcomb read readlink 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 ret retf +syn keyword txl_keyword contained return return-from reverse rlcp +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-str search-str-tree second +syn keyword txl_keyword contained seek-stream select seqp set +syn keyword txl_keyword contained set-diff set-hash-userdata set-sig-handler sethash +syn keyword txl_keyword contained setlogmask sh 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 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 sub sub-list +syn keyword txl_keyword contained sub-str sub-vec symacrolet symbol-function +syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp +syn keyword txl_keyword contained symlink sys-qquote sys-splice sys-unquote +syn keyword txl_keyword contained syslog tan tf 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 tofloat toint tok-str tostring -syn keyword txl_keyword contained tostringp tree-bind tree-case tree-find -syn keyword txl_keyword contained trie-add trie-compress trim-str true -syn keyword txl_keyword contained trunc tuples typeof unget-byte -syn keyword txl_keyword contained unget-char unless unquote until -syn keyword txl_keyword contained upcase-str update url-decode url-encode -syn keyword txl_keyword contained usleep uw-protect vec vec-push -syn keyword txl_keyword contained vec-set-length vecref vector vector-list -syn keyword txl_keyword contained vectorp when where while -syn keyword txl_keyword contained with-saved-vars zerop +syn keyword txl_keyword contained tofloat toint tok-str tok-where +syn keyword txl_keyword contained tostring tostringp transpose tree-bind +syn keyword txl_keyword contained tree-case tree-find trie-add trie-compress +syn keyword txl_keyword contained trim-str true trunc tuples +syn keyword txl_keyword contained typeof unget-byte unget-char unless +syn keyword txl_keyword contained unquote until upcase-str update +syn keyword txl_keyword contained url-decode url-encode usleep uw-protect +syn keyword txl_keyword contained vec vec-push vec-set-length vecref +syn keyword txl_keyword contained vector vector-list vectorp when +syn keyword txl_keyword contained where while with-saved-vars zerop +syn keyword txl_keyword contained zip syn match txr_error "@[\t ]*[*]\?[\t ]*." syn match txr_nested_error "[^\t `]\+" contained |