| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* txr.c (version): Bumped.
* txr.1: Bumped version and set date.
* configure (txr_ver): Bumped.
* RELNOTES, txr.vim, dep.mk: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dep.mk: Updated.
* eval.c: Removed combination and permutation functions; they
now reside in combi.c.
(generate): Changed from static to external linkage.
* eval.h (generate): Declared.
* combi.c: New file.
* combi.h: New file.
* txr.vim: Regenerated.
|
| |
|
|
|
|
|
|
| |
Do not color embedded decimal integers in symbols as integers.
* txr.vim: Regenerated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(transform_op): Recognize compounded metas, and strip one level off.
(eval_init): Intern sys:expand function so we have access to the
form expander from TXR Lisp.
* lib.c (obj_print, obj_pprint): Fix: wasn't rendering metanumbers.
* parser.y (list): Support @ in front of anything. If it's an atom,
treat it similarly to a metasymbol or metanumber.
* txr.1: Documented meta-meta arguments in nested op.
* genvim.txr, txr.vim: Support coloring for compounded meta syntax.
|
|
|
|
| |
like @ (a b c) and @ [1 2 3].
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* txr.c (version): Bumped.
* txr.1: Bumped version and set date.
* configure (txr_ver): Bumped.
* RELNOTES, txr.vim, dep.mk: Updated.
|
|
|
|
| |
* txr.vim: Regenerated.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile: Use -iquote to restrict our #include search paths from
being processed for #include <...>. Add syslog.o to OBJS-y if
have_syslog is y.
* configure (have_syslog): New variable, set by detecting syslog API.
* eval.c (eval_init): logand and logior registrations changed to
go to variadic versions. New syslog variables and functions registered.
* lib.c (logandv, logiorv): New functions.
* lib.h (logandv, logiorv): Declared.
* txr.c (main): Call syslog_init.
* syslog.c: New file.
* syslog.h: New file.
* txr.1: Updated.
* txr.vim: Regenerated.
|
|
|
|
| |
* txr.vim: Regenerated.
|
| |
|
|
|
|
| |
* txr.vim: Updated.
|
|
|
|
|
|
| |
* added, and also add the missing rep to these.
* txr.vim: Regenerated.
|
|
|
|
|
|
| |
and also ones with underscores.
* txr.vim: Updated.
|
|
|
|
|
|
| |
sources because actions aren't registered for them.
* txr.vim: Regenerated.
|
|
|
|
| |
* txr.vim: Updated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* txr.c (version): Bumped.
* txr.1: Bumped version, set date and documented string-cmp.
* configure (txr_ver): Bumped.
* eval.c (eval_init): Forgotten string-cmp registered as intrinsic.
* txr.vim: Highlighting for string-cmp.
* RELNOTES: Updated.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hash-uni, hash-diff, hash-isec.
* hash.c (make_similar_hash, copy_hash, hash_uni, hash_diff,
hash_isec): New functions.
* hash.h (make_similar_hash, copy_hash, hash_uni, hash_diff,
hash_isec): Declared.
* txr.1: Updated.
* txr.vim: Highlighting for these new functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* hash.c (make_hash): Likewise.
* lib.c (assq): Renamed to assql for consistency.
(aconsq_new): Renamed to aconsql_new.
(aconsq_new_l): Renamed to aconsql_new_l.
(alist_remove_test): Use equal rather than eq. Association lists
use equal equality by default.
(alist_nremove): Use memqual rather than memq.
(alist_nremove1): Use equal rather than eq.
(merge): Bugfix: unnecessary consing caused by using append
instead of nconc on list pieces that are already destructively
chopped up. This has implications for the efficiency of sort
over lists!
(multi_sort_less): Implement key functions.
(multi_sort): Interface change: arguments rearranged, and new
argument to specify key functions.
* lib.h (assoc, assq, assql, aconsq_new, aconsq_new_l): Declarations
renamed.
(multi_sort): Declaration updated.
* txr.1: Documented alist library, list sorting and completed
documenting lazy library.
* txr.vim: multi-sort highlighted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): New intrinsic functions source-loc
and source-loc-str. New variable *self-path*.
* txr.1: Stub doc sections.
* txr.c (self_path): New variable.
* txr.h (self_path): Declared.
* txr.vim: Syntax highlighting for source-loc, source-loc-str
and *self-path*.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib.c (obj_init): Change spelling of nongreedy operator and put
it into the user package so that it is available for use with
regex-compile.
* regex.c (match_regex, search_regex): Bugfix: optional start
position argument argument not defaulting to zero.
* txr.1: Documented regex-compile and regexp.
* txr.vim: Highlighting regex-compile and regexp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arith.h (bignum): Declared.
* configure: Added check for tm_gmtoff and tm_tmzone fields
being present in struct tm.
* eval.c (eval_init): New intrinsic functions: time, time-usec.
* lib.c (num): If the cnum is outside of the fixnum range, then
construct a bignum.
(time_sec, time_sec_usec): New functions.
* lib.h (mut): Slight change to macro to eliminate compiler warning.
(time_sec, time_sec_usec): Declared.
* txr.1: Stub section for time and time-usec.
* txr.vim: Highlighting for time and time-usec.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can walk table content in different ways.
* eval.c (op_dohash): Follow interface change of hash_next.
(eval_init): hash-keys, hash-values, hash-pairs and hash-alist
intrinsics introduced.
* filter.c (trie_compress): Follow interface change of hash_next.
* hash.c (hash_next): Silly interface which takes a pointer to
the iterator has changed to just take the iterator. The function
unambiguously returns nil when the iteration ends, so there
is no need to set the iterator variable to nil.
(maphash): Follows interface change of hash_next.
(hash_keys_lazy, hash_values_lazy, hash_pairs_lazy, hash_alist_lazy):
New static functions.
(hash_keys, hash_values, hash_pairs, hash_alist): New functions.
* hash.h (hash_next): Declaration updated.
(hash_keys, hash_values, hash_pairs, hash_alist): Declared.
* lib.c (make_half_lazy_cons): New way of constructing lazy cons,
with the car field specified. It simplifies situations when the
previous cons computes the car of the next one. Why hadn't I thought of
this before?
* lib.h (make_half_lazy_cons): Declared.
* txr.1: Doc stubs for new hash functions.
* txr.vim: Highlighting for new hash functions.
|
|
|
|
| |
can freely occur, and is useful in @(output).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(exptmod): Bugfix: was no normalizing the bignum, ouch.
Also was reporting "non-integral operands" for other
errors.
* eval.c (eval_init): Registered = intrinsic function.
* lib.c (numeqv): New function.
* lib.h (numeq, numeqv): Declared.
* txr.1: Documented expt, sqrt, isqrt, exptmod, fixnump, bignump,
integerp, floatp, numberp, zerop, evenp, oddp, >, <, >=, <= and =.
* txr.vim: Highlight =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exception if MPI fails.
(floorf, ceili): Map integer argument to itself.
(tang, asine, acosi): New functions.
* eval.c (eval_init): New intrinsics: tan, asin, acos.
* lib.h (tang, asine, acosi): Declared.
* txr.1: Documented gcd, abs, floor, ceil, sin, cos, tan
asin, acos, atan, log, and exp.
* txr.vim: Highlighting for tang, asine, acosi.
|
|
|
|
| |
* txr.vim: num-str added.
|
|
|
|
|
|
|
|
|
|
| |
intrinsics.
* lib.c (match_str, match_str_tree): Default position to zero.
* txr.1: Doc stubs created.
* txr.vim: Highlighting for match-str and match-str-tree.
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): expo registered as intrinsic exp.
* lib.h (expo): Declared.
* txr.1: Added to stub heading.
* txr.vim: Highlighting for exp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for the integer square root.
* arith.c (sqroot_fixnum): Renamed back to isqrt_fixnum.
(sqroot): Rewritten to handle only floating-point square root.
(isqrt): New function, based on previous sqroot,
handles only integers.
* eval.c (eval_init): New intrinsic, isqrt.
* lib.h (isqrt): New declaration.
* txr.1: Doc stubs.
* txr.vim: Highlighting for isqrt.
|
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): New intrinsic functions registered:
floor, ceil, sin, cons, atan, log.
* lib.h (floorf, ceili, sine, cosi, atang, loga): Declared.
* txr.1: Doc stub section for new functions.
* txr.vim: Highighting added.
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): divi registered as / intrinsic.
* lib.h (divi): Declared.
* txr.1: divi added to stub heading.
* txr.vim: / operator highlighted.
|
|
|
|
|
|
| |
float-str, int-flo and flo-int.
* txr.vim: Highlighting for new functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
chain, andf, orf, iff.
* lib.c (chainv): New function.
(do_and, do_or): Generalized to handle functions of
any arguments via apply.
(andf, orf): Turn do_and and do_or into variadic function instead of a
monadic function.
(do_iff): New static function.
(andv, orv, iff): New functions.
* lib.h (chainv, andv, orv, iff): New functions declared.
* txr.1: Doc stubs created.
* txr.vim: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* txr.c (version): Bumped.
* txr.1: Bumped version and set date.
* configure (txr_ver): Bumped.
* eval.c (op_modplace): Fix warning about uninitialized variable.
No bug.
* filter.c: gcc compilation regresion: missing <stdio.h> breaks inclusion
of "stream.h" header. Strangely, didn't show up when configured for
compiling with g++ on Ubuntu.
* match.c (match_filter): Fixed ununsed variable warning.
* txr.vim: Bunch of missing keywords added.
* dep.mk: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* hash.c (print_key_val, hash_print_op): New static functions.
(hash_ops): hash_print_op wired in in place of cobj_print_op.
* parser.l (HASH_H): New token recognized.
* parser.y (HASH_H): New terminal symbol.
(hash): New nonterminal symbol.
(expr): Acquires hash as a constituent.
(hash_from_notation): New static function.
* txr.1: Hash syntax described.
* txr.vim: Updated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): New intrinsic functions: url-encode, url-decode.
* filter.c (tourl_k, fromurl_k): New keyword variables.
(is_url_reserved, digit_value): New static functions.
(url_encode, url_decode): New functions.
(filter_init): Intialize new keyword variables and register
new :tourl and :fromurl filters.
* filter.h (tourl_k, fromurl_k, url_encode, url_decode): Declared.
* txr.1: Updated.
* txr.vim: Likewise.
|
| |
|