diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | RELNOTES | 45 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | dep.mk | 2 | ||||
-rw-r--r-- | share/txr/stdlib/ver.txr | 2 | ||||
-rw-r--r-- | txr.1 | 4 | ||||
-rw-r--r-- | txr.vim | 150 |
7 files changed, 138 insertions, 79 deletions
@@ -1,5 +1,17 @@ 2014-08-05 Kaz Kylheku <kaz@kylheku.com> + Version 94. + + * RELNOTES: Updated. + + * configure, txr.1: Bumped version. + + * share/txr/stdlib/ver.txr: Likewise + + * txr.vim, dep.mk: Updated. + +2014-08-05 Kaz Kylheku <kaz@kylheku.com> + * rand.c (make_random_state): Make the seeding behavior portable when the seed is a fixnum or bignum. The goal is that the same values of seed should produce the same random sequences on any @@ -1,3 +1,48 @@ + TXR 94 + 2014-08-05 + + + Features + + - New functions: giterate, partition-by, uniq. + + - reduce-left and reduce-right correctly work on strings and vectors. + + - quasiquote splices can now occur in string quasiliterals, directly + as `xyz @,foo`, `xyz @{,foo}`, `xyz @,(foo)` etc. Previously this + syntax was rejected, requiring workarounds like (let ((x ,foo)) `xyz @x`). + + - POSIX functions exposed: getpid, getppid, kill, setitimer, getitimer. + + - The parser is now re-entrant. This means that macro expanders can + safely recurse into the parser, for instance with regex-parse + or read. + + Bugs + + - @(output) blocks were discovered not to be applying filters to the results + of embedded TXR Lisp evaluations. + + - n-perm-k function was broken for values of k equal to 1. + + - Fixed situations when exceptions with bogus messages are issued when the + arithmetic +, - and * functions are called with wrong type arguments. + + - Fixed grossly incorrect documentation of the repeat function, to + reflect actual syntax and behavior. + + - Fixed situations in which some signal handlers that don't need to + execute on a separate stack might do so. + + - Put in a guard against async signal nesting: a situation when + an asynchronous signal handler performs some blocking operation + which enables async signal handling triggering re-entrancy. + + - Fixed platform-dependent behaviors in random number seeding + (make-random-state function). + + + TXR 93 2014-07-22 @@ -408,7 +408,7 @@ fi # -txr_ver=93 +txr_ver=94 # # The all important banner. @@ -1,5 +1,5 @@ ./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 +./lex.yy.o: config.h $(top_srcdir)/./lib.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.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 ./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 diff --git a/share/txr/stdlib/ver.txr b/share/txr/stdlib/ver.txr index b2164ffe..c81fc1a0 100644 --- a/share/txr/stdlib/ver.txr +++ b/share/txr/stdlib/ver.txr @@ -1 +1 @@ -@(do (defvar *lib-version* 93)) +@(do (defvar *lib-version* 94)) @@ -21,9 +21,9 @@ .\"IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.TH "TXR" 1 2014-07-21 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" +.TH "TXR" 1 2014-08-05 "Utility Commands" "TXR Text Processing Language" "Kaz Kylheku" .SH NAME -txr \- text processing language (version 93) +txr \- text processing language (version 94) .SH SYNOPSIS .B txr [ options ] query-file { data-file }* .sp @@ -80,80 +80,82 @@ syn keyword txl_keyword contained fun func-get-env func-get-form func-set-env syn keyword txl_keyword contained functionp gcd gen generate syn keyword txl_keyword contained gensym get-byte get-char get-hash-userdata syn keyword txl_keyword contained get-line get-lines get-list-from-stream get-sig-handler -syn keyword txl_keyword contained get-string get-string-from-stream gethash giterate -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 iapply -syn keyword txl_keyword contained identity ido if iff -syn keyword txl_keyword contained iffi inc inhash int-flo -syn keyword txl_keyword contained int-str integerp intern interp-fun-p -syn keyword txl_keyword contained interpose ip ipf isqrt -syn keyword txl_keyword contained juxt keep-if keep-if* keywordp -syn keyword txl_keyword contained labels lambda last 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 lbind lcons-fun lconsp -syn keyword txl_keyword contained ldiff length length-list length-str -syn keyword txl_keyword contained length-str-< length-str-<= length-str-> length-str->= -syn keyword txl_keyword contained length-vec let let* link -syn keyword txl_keyword contained lisp-parse list 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 log10 log2 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* mapdo maphash -syn keyword txl_keyword contained mappend mappend* mask match-fun -syn keyword txl_keyword contained match-regex match-regex-right match-str match-str-tree -syn keyword txl_keyword contained max member member-if memq -syn keyword txl_keyword contained memql memqual merge min -syn keyword txl_keyword contained minor mkdir mknod mkstring -syn keyword txl_keyword contained mod multi multi-sort n-choose-k -syn keyword txl_keyword contained n-perm-k nconc nilf none -syn keyword txl_keyword contained not nreverse null nullify -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-files open-files* open-pipe open-process -syn keyword txl_keyword contained open-tail openlog or orf -syn keyword txl_keyword contained packagep partition-by perm pop -syn keyword txl_keyword contained pos pos-if pos-max pos-min -syn keyword txl_keyword contained posq posql posqual pprinl -syn keyword txl_keyword contained pprint pprof prinl print -syn keyword txl_keyword contained prof prog1 progn prop -syn keyword txl_keyword contained proper-listp push pushhash put-byte -syn keyword txl_keyword contained put-char put-line put-lines put-string -syn keyword txl_keyword contained put-strings pwd qquote quasi -syn keyword txl_keyword contained quasilist quote rand random -syn keyword txl_keyword contained random-fixnum random-state-p range range* -syn keyword txl_keyword contained range-regex 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 ret -syn keyword txl_keyword contained retf 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 get-string get-string-from-stream gethash getitimer +syn keyword txl_keyword contained getpid getppid giterate 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 ido if iff iffi +syn keyword txl_keyword contained inc inhash int-flo int-str +syn keyword txl_keyword contained integerp intern interp-fun-p interpose +syn keyword txl_keyword contained ip ipf isqrt itimer-prov +syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if +syn keyword txl_keyword contained keep-if* keywordp kill labels +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 lbind lcons-fun lconsp 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 log2 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 major make-catenated-stream make-env +syn keyword txl_keyword contained make-hash make-lazy-cons make-like 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 make-trie makedev mapcar +syn keyword txl_keyword contained mapcar* mapdo 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 nconc nilf none not +syn keyword txl_keyword contained nreverse null nullify num-chr +syn keyword txl_keyword contained num-str numberp oddp op +syn keyword txl_keyword contained open-command open-directory open-file open-files +syn keyword txl_keyword contained open-files* open-pipe open-process open-tail +syn keyword txl_keyword contained openlog or orf packagep +syn keyword txl_keyword contained partition-by perm pop pos +syn keyword txl_keyword contained pos-if pos-max pos-min posq +syn keyword txl_keyword contained posql posqual pprinl pprint +syn keyword txl_keyword contained pprof prinl print prof +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-lines put-string put-strings +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* 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 setitimer 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 |