diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-26 02:05:21 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-26 02:05:21 -0800 |
commit | ae24a27bbe4764bc57a64169ecff3cba899efd7b (patch) | |
tree | 59d63149b961378218f1ed7683a8733667c430b2 | |
parent | 255accfa7d1a0c401f267cd0381b151985fedaba (diff) | |
download | txr-ae24a27bbe4764bc57a64169ecff3cba899efd7b.tar.gz txr-ae24a27bbe4764bc57a64169ecff3cba899efd7b.tar.bz2 txr-ae24a27bbe4764bc57a64169ecff3cba899efd7b.zip |
Version 81txr-81
* txr.c (version): Bumped.
* txr.1: Bumped version and set date.
* configure (txr_ver): Bumped.
* RELNOTES, txr.vim: Updated.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | RELNOTES | 88 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.c | 2 | ||||
-rw-r--r-- | txr.vim | 218 |
6 files changed, 214 insertions, 112 deletions
@@ -1,5 +1,17 @@ 2014-02-26 Kaz Kylheku <kaz@kylheku.com> + Version 81 + + * txr.c (version): Bumped. + + * txr.1: Bumped version and set date. + + * configure (txr_ver): Bumped. + + * RELNOTES, txr.vim: Updated. + +2014-02-26 Kaz Kylheku <kaz@kylheku.com> + * parser.l (regex_parse, lisp_parse): Better formatting for the context string that serves in place of a filename. @@ -1,3 +1,91 @@ + TXR 81 + 2014-02-25 + + + Features + + - Calls to stream opening functions can omit the mode parameter, + which defaults to "r". + + - New functions for accessing environment variables from TXR Lisp, + augmenting the @(next :env) method in TXR pattern language. + + - New variables *args* and *full-args* for accessing the + partial and full command line. + + - New functions macro-form-p, macroexpand and macroexpand-1. + + - Implemented special variables (dynamic scope). All global variables + defined with defvar and all the predefined variables are special, + with the symbols being attributed for special binding similarly + to Common Lisp. + + - Implemented the macrolet operator for binding local macros. + The macroexpand and macro-form-p functions work correctly with + the environment from a macrolet. + + - Implemented symbol macros: global symbol macros via defsymacro, + and local macros via symacrolet. Local symbol maros are shadowed + properly by lexical bindings, and are expanded properly in + situations where they are used as assignment places by the + set operator, and related operators. + + - Introduced the (. expr) syntax which is equivalent to expr. + Handy for writing a function argument list that accepts + only trailing parameters as (lambda (. rest) ...) + rather than (lambda rest ...). + + - New functions prinl and pprinl, which are like print and pprint, + but add a newline. + + - Added new Unix filesystem access functions: symlink, link, mkdir, + readlink, mknod. Also makedev, minor and major. + + + + Bugs + + - Fixed broken seek-to-end-p boolean parameter in open-tail, + a regression in TXR 71. + + - Fixed a regression in the debugger, also introduced in TXR 71, + causing it not to print the data line being processed in a horizontal + scanning context. + + - Fixed premature opening of data sources in the TXR pattern language. + Opening files is now delayed until a data consuming directive + needs to match data. The previous kludgy approach recognized only the + @(next) directive, and only one occurrence of it. + + - Fixed incorrect square root calculation over bignums. It was + not computing the last bit of the result and so could be off by + one. + + - Numerous bugfixes in form expansion, in particular handling of + variable bindings and function and macro parameter lists. + + - Global macro bindings make a symbol fboundp. Also, symbol-function + retrieves information about a global macro. + + - Fixed several bugs in quasiquote, including the handling of + `(... . ,form) in quasiquote. + + - Fixed get-string-from-stream throwing an inappropriate internal error on + type mismatch. + + - Fixed the neglect to expand Lisp forms in the argument lists + of the directives of the pattern matching language. + + - Added the neglected s-ifsock variable, which is part of the Unix + filesystem interface, corresponding to S_IFSOCK. + + - Fixed some instances of source code line number not propagating + through code transformations. + + - Fixed numerous formatting issues in the documentation, and omissions. + + + TXR 80 2014-02-17 @@ -387,7 +387,7 @@ fi # -txr_ver=80 +txr_ver=81 # # The all important banner. @@ -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-17 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-02-25 "Utility Commands" "Txr Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 80) +txr \- text processing language (version 81) .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("80"); +const wchli_t *version = wli("81"); const wchar_t *progname = L"txr"; val self_path, prog_args_full, prog_args; @@ -47,119 +47,121 @@ syn keyword txl_keyword contained asin assoc assql atan syn keyword txl_keyword contained atan2 atom bignump 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 chr-isalnum chr-isalpha -syn keyword txl_keyword contained chr-isascii chr-iscntrl chr-isdigit chr-isgraph -syn keyword txl_keyword contained chr-islower chr-isprint chr-ispunct chr-isspace -syn keyword txl_keyword contained chr-isupper chr-isxdigit chr-num chr-str -syn keyword txl_keyword contained chr-str-set chr-tolower chr-toupper chrp -syn keyword txl_keyword contained close-stream closelog collect-each collect-each* -syn keyword txl_keyword contained comb compl-span-str cond cons -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 defmacro defsymacro defun -syn keyword txl_keyword contained defvar del delete-package do -syn keyword txl_keyword contained dohash downcase-str dwim each -syn keyword txl_keyword contained each* env env-hash eq -syn keyword txl_keyword contained eql equal errno error -syn keyword txl_keyword contained eval evenp exit exp -syn keyword txl_keyword contained expand 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 func-set-env 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 group-by -syn keyword txl_keyword contained hash hash-alist hash-construct hash-count -syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec -syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update -syn keyword txl_keyword contained hash-update-1 hash-values hashp 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 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* -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 logand logior -syn keyword txl_keyword contained lognot logtest logtrunc logxor -syn keyword txl_keyword contained macro-form-p macro-time macroexpand macroexpand-1 -syn keyword txl_keyword contained macrolet make-catenated-stream 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 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 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 defmacro defsymacro +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* env env-hash +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-update-1 hash-values hashp +syn keyword txl_keyword contained identity if iff iffi +syn keyword txl_keyword contained inc inhash int-flo int-str +syn keyword txl_keyword contained integerp intern interp-fun-p isqrt +syn keyword txl_keyword contained keep-if keep-if* keywordp lambda +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 logand logior lognot logtest +syn keyword txl_keyword contained logtrunc logxor macro-form-p macro-time +syn keyword txl_keyword contained macroexpand macroexpand-1 macrolet major +syn keyword txl_keyword contained make-catenated-stream make-hash make-lazy-cons make-package +syn keyword txl_keyword contained make-random-state make-similar-hash make-string-byte-input-stream make-string-input-stream +syn keyword txl_keyword contained make-string-output-stream make-strlist-output-stream make-sym make-time +syn keyword txl_keyword contained make-time-utc 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 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 perm -syn keyword txl_keyword contained pop pos pos-if posq -syn keyword txl_keyword contained posql posqual pprinl pprint -syn keyword txl_keyword contained prinl 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 memqual merge min minor +syn keyword txl_keyword contained mkdir mknod 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 op +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 perm pop +syn keyword txl_keyword contained pos pos-if posq posql +syn keyword txl_keyword contained posqual pprinl pprint prinl +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 pwd 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 symacrolet 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-fields-local time-fields-utc time-string-local -syn keyword txl_keyword contained time-string-utc time-usec tok-str tostring -syn keyword txl_keyword contained tostringp tree-bind tree-case tree-find -syn keyword txl_keyword contained trim-str trunc typeof unget-byte -syn keyword txl_keyword contained unget-char unquote 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 with-saved-vars -syn keyword txl_keyword contained zerop +syn keyword txl_keyword contained range* rcomb read readlink +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* remove-path remq remq* +syn keyword txl_keyword contained remql remql* remqual remqual* +syn keyword txl_keyword contained rename-path repeat replace replace-list +syn keyword txl_keyword contained replace-str replace-vec rest return +syn keyword txl_keyword contained return-from reverse rlcp rperm +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-ifsock 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 symacrolet +syn keyword txl_keyword contained symbol-function symbol-name symbol-package symbol-value +syn keyword txl_keyword contained symbolp symlink 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 +syn keyword txl_keyword contained vec-push vec-set-length vecref vector +syn keyword txl_keyword contained vector-list vectorp with-saved-vars zerop syn match txr_error "@[\t ]*[*]\?[\t ]*." syn match txr_nested_error "[^\t `]\+" contained |