summaryrefslogtreecommitdiffstats
path: root/txr.vim
Commit message (Collapse)AuthorAgeFilesLines
...
* * eval.c (plus_s, prof_s): New symbol global variables.Kaz Kylheku2014-03-121-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (op_prof, me_pprof): New static functions. (eval_init): Intern prof symbol, store in prof_s. Captured interned + symbol in plus_s. Register prof operator and pprof macro. * gc.c (gc_bytes): New global variable. (more): Use nse function chk_malloc_gc_more instead of chk_malloc. (make_obj): Increment gc_bytes. * lib.c (malloc_bytes): New global variable. (chk_malloc, chk_realloc): Increment malloc_bytes. (chk_calloc): Bugfix: incorrect size in recursion into oom_realloc. Incorrect calculation of malloc_high_bound. Increment malloc_bytes. (chk_malloc_gc_more): New function. * lib.h (alloc_bytes_t): New typedef. (malloc_bytes, gc_bytes): Declared. (chk_malloc_gc_more): Declared. * stream.c (format_s): New symbol global. (stream_init): format_s inited. format_s used to register formatv function. * stream.h (format_s): Declared. * txr.1: Documented prof and pprof. * genvim.txr: Recognize reg_fun calls with intern followed by a preceding assignment or other syntax. * txr.vim: Updated.
* * eval.c (eval_init): Registration of url_encode and url_decodeKaz Kylheku2014-03-111-78/+80
| | | | | | | | | | | | | | | | moved to filter.c. * filter.c (trie_compress_intrinsic, html_encode, html_decode): New static functions. (filter_init): Register make_trie, trie_add, trie_compress_intrinsic, filter_string_tree, filter_equal, html_encode and html_decode as intrinsics. Move registration of url_encode and url_decode here. * genvim.txr: Look for registrations in filter.c too. * txr.1: Documented. * txr.vim: Updated.
* Version 84.txr-84Kaz Kylheku2014-03-071-13/+13
|
* * eval.c (apply_intrinsic, lazy_mapcar): Changed linkage to external.Kaz Kylheku2014-03-061-70/+71
| | | | | | | | | | | | | * eval.h (apply_intrinsic, lazy_mapcar): Declarations added. * stream.c (open_files, open_file_star): New functions. (stream_init): Registered new functions as intrinsics. * txr.1: Documented open-files and open-files*. Added to make-catenated-stream documentation. * genvim.txr: Replace bunch of code with open-files. * txr.vim: Regenerated.
* * parser.l: Allowing ^ to be a quote character, and adjusting definitionKaz Kylheku2014-03-031-104/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of identifiers to rule this out from being the first character of a symbol which has no prefix. Recognize the ^ character as a token in the NESTED state. * lib.c (obj_print, obj_pprint): Render sys:qquote as ^. * parser.y (choose_quote): Function removed. (n_expr): Recognize '^' as quasiquote. Removed all the "smart quote" hacks that try to make quote behave as quote or quasiquote, or try to cancel out unquotes and quotes. * tests/009/json.txr: Fixed to ^ quasiquote. * tests/010/reghash.txr: Likewise. * tests/011/macros-2.txr: Likewise. * tests/011/mandel.txr: Likewise. * tests/011/special-1.txr: Likewise. * txr.1: Updated docs. * genvim.txr: Revamped definitions for txr_ident and txl_ident so that unqualified identifiers cannot start with # or ^, but ones with @ or : in front can start with these characters. * txr.vim: Regenerated.
* * genvim.txr: Skip lines that contain system_package.Kaz Kylheku2014-03-021-127/+128
| | | | * txr.vim: Regenerated.
* Version 82.txr-82Kaz Kylheku2014-02-271-108/+108
|
* * genvim.txr: Updated with regard to how operators are registered inKaz Kylheku2014-02-271-103/+104
| | | | | | | in eval_init. Also, scans reg_mac registrations now. * txr.vim: Refreshed. The previously missed "delay" operator is now listed, thanks to reg_mac.
* Version 81txr-81Kaz Kylheku2014-02-261-108/+110
| | | | | | | | | | * txr.c (version): Bumped. * txr.1: Bumped version and set date. * configure (txr_ver): Bumped. * RELNOTES, txr.vim: Updated.
* * parser.l: Support octal and binary numbers.Kaz Kylheku2014-02-241-0/+2
| | | | | | * txr.1: Documented. * genvim.txr, txr.vim: Updated.
* * genvim.txr, txr.vim: Updated.Kaz Kylheku2014-02-241-101/+102
|
* * genvim.txr, txr.vim: Updated.Kaz Kylheku2014-02-221-92/+95
|
* Version 80txr-80Kaz Kylheku2014-02-171-87/+90
| | | | | | | | | | * txr.c (version): Bumped. * txr.1: Bumped version and set date. * configure (txr_ver): Bumped. * RELNOTES, txr.vim, dep.mk: Updated.
* * Makefile (OBJS): New object file, combi.o.Kaz Kylheku2014-02-111-67/+68
| | | | | | | | | | | | | | | | * 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.
* Version 78.txr-78Kaz Kylheku2014-02-061-68/+68
|
* * genvim.txr: Support floating-point constants.Kaz Kylheku2014-01-301-5/+7
| | | | | | Do not color embedded decimal integers in symbols as integers. * txr.vim: Regenerated.
* Version 77txr-77Kaz Kylheku2014-01-291-60/+61
|
* * eval.c (meta_meta_p, meta_meta_strip): New static functions.Kaz Kylheku2014-01-281-94/+96
| | | | | | | | | | | | | | | (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.
* * txr.vim, genvim.txr: There can now be whitespace in TXR LispKaz Kylheku2014-01-271-78/+79
| | | | like @ (a b c) and @ [1 2 3].
* Version 76txr-76Kaz Kylheku2014-01-231-87/+89
|
* Version 75.txr-75Kaz Kylheku2014-01-161-106/+107
|
* Version 74txr-74Kaz Kylheku2014-01-131-54/+56
| | | | | | | | | | * txr.c (version): Bumped. * txr.1: Bumped version and set date. * configure (txr_ver): Bumped. * RELNOTES, txr.vim, dep.mk: Updated.
* * genvim.txr: Add forgotten until and last keywords.Kaz Kylheku2014-01-061-6/+7
| | | | * txr.vim: Regenerated.
* * txr.vim: Regenerated.Kaz Kylheku2013-12-171-64/+64
|
* * txr.vim: Regenerated.Kaz Kylheku2013-12-131-84/+95
|
* * txr.vim: Regenerated.Kaz Kylheku2013-12-101-19/+20
|
* syslog support; bitwise logior and logand functions become variadic.Kaz Kylheku2013-12-101-81/+87
| | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * genvim.txr: Missing catch and finally keywords added.Kaz Kylheku2013-12-021-11/+11
| | | | * txr.vim: Regenerated.
* Refresh.Kaz Kylheku2013-11-291-65/+67
|
* * genvim.txr: Missing highlighting for hex integers.Kaz Kylheku2013-11-241-0/+1
| | | | * txr.vim: Updated.
* * genvim.txr: Change how the hard-coded symbols (end, and, or) areKaz Kylheku2013-11-221-9/+9
| | | | | | * added, and also add the missing rep to these. * txr.vim: Regenerated.
* * genvim.txr: Handle symbols whose C names end with _star_s,Kaz Kylheku2013-11-051-7/+7
| | | | | | and also ones with underscores. * txr.vim: Updated.
* * genvim.txr: Include syntactic directives which aren't extracted fromKaz Kylheku2013-10-271-0/+1
| | | | | | sources because actions aren't registered for them. * txr.vim: Regenerated.
* * genvim.txr: Split long lines of keywords.Kaz Kylheku2013-10-231-2/+104
| | | | * txr.vim: Updated.
* * txr.vim: Updated using genvim.txr.Kaz Kylheku2013-10-231-91/+4
|
* Version 67Kaz Kylheku2013-07-121-1/+1
| | | | | | | | | | | | | | * 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.
* * txr.vim: Bringing up to date.Kaz Kylheku2013-07-121-6/+16
|
* Bring syntax highlighting function list up to date.Kaz Kylheku2012-09-171-5/+7
|
* * eval.c (eval_init): New intrinsics: make-similar-hash, copy-hash,Kaz Kylheku2012-09-121-2/+4
| | | | | | | | | | | | | | 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.
* * eval.c (eval_init): Follow function renames.Kaz Kylheku2012-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Provide access to line number info and source path.Kaz Kylheku2012-04-111-0/+1
| | | | | | | | | | | | | | * 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*.
* * eval.c (eval_init): Expose regex-compile and regexp as intrinsics.Kaz Kylheku2012-04-101-1/+1
| | | | | | | | | | | | | * 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.c (bignum): Previously static function now exposed as external.Kaz Kylheku2012-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | * 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.
* * txr.vim: Remove duplicate lines.Kaz Kylheku2012-04-081-4/+0
|
* * txr.vim: Fixed accidental breakage.Kaz Kylheku2012-04-081-1/+1
|
* Rounding out hash table functionality with lazy lists thatKaz Kylheku2012-04-071-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * txr.vim: @[...] syntax not marked as "contained" because itKaz Kylheku2012-04-051-1/+1
| | | | can freely occur, and is useful in @(output).
* * arith.c (numeq): New function.Kaz Kylheku2012-03-291-1/+1
| | | | | | | | | | | | | | | | | (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 =
* * arith.c (gcd): Allow zeros. Don't issue "non-integral"Kaz Kylheku2012-03-291-1/+1
| | | | | | | | | | | | | | | 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.1: num-str added to doc stub.Kaz Kylheku2012-03-291-1/+1
| | | | * txr.vim: num-str added.