| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* hash.h (hash_from_pairs, hash_list): Declared.
* eval.c (eval_init): Registered hash-from-pairs and hash-list
intrinsic.
* txr.1: Documented new functions.
|
|
|
|
|
|
|
| |
* lib.c (nary_op): New function.
(plusv, mulv, logandv, logiorv): Use nary_op.
* lib.h (nary_op): Declared.
|
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Register hash-subset and hash-proper-subset
intrinsics.
* hash.c (hash_subset, hash_proper_subset): New functions.
* hash.h (hash_subset, hash_proper_subset): Declared.
* txr.1: New functions documented.
|
| |
|
|
|
|
| |
* tl.vim, txr.vim: Regenerated.
|
|
|
|
|
|
| |
whole module.
* genvim.txr: Handle (def's not preceded by spaces.
|
| |
|
|
|
|
|
|
|
|
| |
* share/txr/stdlib/ifa.tl (conda): New macro.
* tests/012/ifa.tl: Adding test for conda.
* txr.1: Documenting conda.
|
|
|
|
|
|
| |
values derived from the title text, so that when sections are inserted
or deleted, the URL's remain stable. The PREAMBLE is gone, and
VERSION is collected when processsing the body.
|
|
|
|
| |
Page date is converted to a time value, and later formatted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (GEN_HDRS, LISP_TO_C_STRING): Variables removed.
(%.h: %.tl): Rule removed. The place.h header is no longer
generated from place.tl.
* lisplib.c (place_instantiate): Load place.tl from stdlib directory,
rather than obtaining it from a string literal in generated header
place.h.
* place.tl: Moved to share/txr/stdlib directory.
* genvim.txr: Refer to place.tl in stdlib.
|
| |
|
|
|
|
| |
* txr.1: Document have.
|
|
|
|
|
|
|
| |
* share/txr/stdlib/ifa.tl: Tightened up the tests for
situations when the macro is ill-formed, following
the improved specification. Also, eval-error is thrown
instead of just error.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Makefile (TEST_OUT): Include .tl files.
(tst/%.out): New rule variant, from .tl prerequisite.
* tests/012/ifa.expected: New file.
* tests/012/ifa.tl: New file.
|
|
|
|
|
| |
its value is nao. Introduced on 2015-06-10, "Error handling improvement
in read".
|
| |
|
|
|
|
| |
calculation.
|
|
|
|
|
|
|
| |
* hash.c (equal_hash): For conses and vectors, ensure that
distinct permutations lead to different hash codes. This is done by
accumulating the partial hash with a multiplier, rather than just
adding subhashes.
|
|
|
|
|
| |
Removing references to the need for explicitly loading
any library material.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisplib.c (ver_set_entries, ver_instantiate,
txr_case_set_entries, txr_case_instantiate): New
static functions.
(lisplib_init): Register new functions.
* share/txr/stdlib/txr-case.txr: Reduced to a load for the
corresponding .tl file, retained for backward compatibility.
* share/txr/stdlib/ver.txr: Likewise.
* share/txr/stdlib/txr-case.tl: New file, based on previous
contents of corresponding .txr file.
* share/txr/stdlib/ver.tl: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile (install): Install .tl files present in stdlib directory.
(INSTALL): Handle argument 2 being a list.
* eval.c (load): New function.
* eval.h (load): Declared.
* lisplib.c (ifa_set_entries, ifa_instantiate): New functions
to lazily load ifa.tl.
(lisplib_init): Register new functions.
* txr.c (stdlib_path): New variable.
(sysroot_init): Store the stdlib path in stdlib_path.
* txr.h (stdlib_path): Declared.
* share/txr/stdlib/ifa.tl: New file.
|
|
|
|
|
|
|
|
|
|
|
| |
* lisplib.c (set_dlt_entries): New static function.
(set_place_dlt_entries): Renamed to place_set_entries.
Uses set_dlt_entries as subroutine.
(place_instantiate): Argument changes from table to function,
which is invoked to null out the hash entries.
(dlt_register): New static function.
(lisplib_init): Use dlt_register to register dynamic loading
of places_tl.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* txr.c (help): Added help text.
(txr_main): Handle lisp option.
|
| |
|
|
|
|
|
|
|
| |
* eval.c (sys_load_s): New symbol variable.
(sys_load, me_load): New static functions.
(eval_init): Initialize sys_load_s, register
sys:load intrinsic function and load macro.
|
|
|
|
|
|
|
|
|
|
|
| |
* match.c (v_load): Check txr_lisp_p flag coming out of
open_txr_file and handle the Lisp case usin read_eval_stream.
* parser.c (read_eval_stream, get_parser, parser_errors):
New functions.
* parser.h (read_eval_stream, get_parser, parser_errors):
Declared.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (open_txr_file): Rewritten to take new argument
which indicates whether to treat an unsuffixed file as
TXR or TXR Lisp, and is updated to indicate which is the
case by looking at the suffix.
* parser.h (open_txr_file): Declaration updated.
* match.c (v_load): Follow change in open_txr_file.
* txr.c (txr_main): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* parser.y (spec): New grammar production to handle the cases
that SECRET_ESCAPE_E is not followed by anything (the input
ends before any object is scanned, or there is no input
token which starts an object).
* parser.c (lisp_parse): Deal with EOF indication from parser
(the syntax_tree member of parser_t set to nao).
|
|
|
|
| |
literally rather than as a Lisp character literal.
|
|
|
|
|
| |
* txr.c (txr_main): Replacing two code blocks with single
call to existing open_txr_file function.
|
|
|
|
|
|
|
| |
* hash.c (hash_mark): Hash tables which have both weak keys
and values were not added to the reachable_weak_hashes list,
and thus not subject to complete hash processing, leading
to corruption.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(parser_mark): Mark parser and primer members.
(parser, ensure_parser): new argument: primer.
(get_parser_impl, ensure_parser): New static
functions.
(prime_parser): New function.
(lisp_parse): Multiple calls to this function on the same stream
now logically continue the parse, not resetting the line
number to 1.
(parse_init): Initialize and gc-protect stream_parser_hash.
* parser.h (parser_t): New members, primer and parser.
(prime_parser): Declared.
(parser): Declaration updated.
* parser.y (parse): Now responsible for calling prime_parser.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parser.c (regex_parse): Likewise.
* txr.c (txr_main): Likewise.
* parser.h (parse): Declaration updated.
(parse_once): Declared.
* parser.y (parse_once): New function, same as old parse implementation.
(parse): Becomes one argument function which works with a previously
initialized parser and continues the parse.
|
|
|
|
| |
* stream.h (catenated_stream_p, catenated_stream_push): Declared.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (bindings_helper): In the parallel binding case, only allocate
a new dynamic env when it is needed (because a special variable is
being bound), rather than unconditionally.
Consequently, only modify dyn_env when the dynamic environment actually
needs to be extended. Constructs that use bindings_helper are only
wrapped in the dynamic environment save/restore form
sys:with-saved-vars if they bind special variables.
|