| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Register search-regst, match-regst
and match-regst-right intrinsics.
* regex.c (search_regst, match_regst, match_regst_right): New functions.
* regex.h (search_regst, match_regst, match_regst_right): Declared.
* txr.1: Documented new variants.
|
|
|
|
|
|
|
|
| |
* eval.c (pad_func, pad, weave_while, weave_gen, weavev):
New static functions.
(eval_init): Registered pad and weave intrisics.
* txr.1: Documented pad and weave.
|
|
|
|
|
|
|
|
|
|
| |
(lexical_lisp1_binding): New static function.
(eval_init): Initialize symacro_k and fun_k; register
new intrinsic function lexical-lisp1-binding.
* match.h (var_k): Existing external name declared.
* txr.1: Documented lexical-lisp1-binding.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Register trunc-rem intrinsic.
* lib.h (trunc_rem): Declared.
* txr.1: Documented trunc-rem.
* tl.vim, txr.vim: Updated.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(sysif_init): Registered abort intrinsic.
* txr.1: Documented abort. Changed Unix Programming heading
to System Programming, since exit, abort and errno are not
Unix-specific, but C-specific.
* tl.vim, txr.vim: Updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(uw_throw): In the unhandled case, check if *unhandled-hook* variable
has a function, and use it instead of the default logic. If it's not a
function, abort with an error message. Clear it so that if the hook
function re-enters this code, it will not be used. Always exit now on
unhandled exceptions; do not abort.
(uw_late_init): New function.
* unwind.h (uw_late_init): Declared.
* lib.c (init): Call uw_late_init.
* txr.1: Documented *unhandled-hook*.
* genvim.txr: Scan the unwind.c file, since it has a reg_var now.
* tl.vim, txr.vim: Updated.
|
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (lookup_symac_lisp1, expand_lisp1,
expand_forms_lisp1): New static functions.
(expand): Handle dwim's arguments via
expand_forms_lisp1, rather than as a generic
compound form.
* txr.1: Revised text in several places to clarify
this expansion rule.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(sign_extend): New function.
* eval.c (eval_init): Register sign-extend intrinsic.
* lib.h (sign_extend): Declared.
* txr.1: Documented sign-extend.
* tl.vim, txr.vim: Updated.
|
| |
|
|
|
|
| |
fixed bad formatting under logtrunc and partition.
|
|
|
|
|
|
|
|
| |
* arith.h (width): Declared.
* eval.c (eval_init): Width registered as intrisinc.
* txr.1: Documented width.
|
|
|
|
|
|
|
|
|
| |
(do_mapf, mapf): new static functions.
(eval_init): protect call_f from gc, and initialize it.
re-register call function using call_f.
register mapf intrinsic.
* txr.1: Documented mapf.
|
|
|
|
|
|
|
|
|
|
|
| |
the dup and flip intrinsics.
* lib.c (do_dup): New static function.
(dupl): New function.
* lib.h (dupl): Declared.
* txr.1: Documented dup and flip.
|
|
|
|
|
|
| |
(eval_init): callf registered.
* txr.1: Documented callf.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
recognize forms like (+ 2 2) as constant.
* eval.c (constantp_noex, constantp): New functions.
(eval_init): Registered constantp as intrinsic.
* tl.vim, txr.vim: Updated.
* txr.1: Documented constantp.
|
|
|
|
|
|
|
|
|
|
|
| |
Close the stream unless close_after_p is specified and is nil,
or when it is missing, an there is no compatibility or it's
newer than version 102.
* stream.h (get_string): Updated declartion.
* txr.1: Documented default closing behavior of get-string
and the new optional argument for overriding it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
or variable bindings.
* eval.c (lexical_var_p, lexical_fun_p): New local functions.
(eval_init): Registered as intrinsics.
* txr.1: Documented lexical-var-p and lexical-fun-p.
* tl.vim, txr.vim: Updated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(plusp, minusp): New functions.
* eval.c (eval_init): Register plusp and minusp.
* lib.h (plusp, minusp): Declared.
* txr.1: Documented plusp and minusp, and the
handling of characters by zerop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(glob_wrap, glob_init): New functions.
(errfunc_thunk): New static function.
* glob.h: New file.
* txr.c (main): call glob_init if HAVE_GLOB is defined.
* configure (have_glob): New variable.
(gen_config_make): Add have_glob to config/config.make.
Detect glob function and set have_glob, and add
HAVE_GLOB to config/config.h.
* Makefile (OBJS): Include glob.h if have_glob is "y".
* genvim.txr: Scan glob.c for functions and variables also.
* txr.1: Documented glob and glob-related variables.
|
|
|
|
|
|
|
|
|
|
| |
must return the empty string, not nil. Only
lists of non-characters fail to convert to a string.
Since programs may depend on the hitherto wrong,
undocumented behavior, this is made subject to
compatibility.
* txr.1: Added compatibility note.
|
|
|
|
| |
* txr.1: Update documentation for merge function.
|
| |
|
| |
|
|
|
|
| |
replace not to refset.
|
|
|
|
|
|
|
|
|
|
| |
if get_line returns nil.
* stream.c (cat_get_line, cat_get_char, cat_get_byte): The catenated
stream read operations close an exhausted stream before popping
to the next one.
* txr.1: Document closing behavior of catenated streams.
|
|
|
|
|
|
|
|
| |
a different form as cat-streams.
* txr.1: Document cat-streams.
* tl.vim, txr.vim: Regenerated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(me_ret): Static function renamed to me_ret_aret.
Handles ret and aret macro expansion.
(eval_init): Initialize ap_s, ret_s and aret_s.
Re-register ret macro using ret_s and bind to me_ret_aret.
Register aret macro.
* txr.1: Documented aret.
* tl.vim, txr.vim: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
| |
* lib.c (unique): New function.
(uniq): Becomes wrapper around unique.
* lib.h (unique): Declared.
* txr.1: Documented unique, and equivalence between uniq and unique.
* tl.vim, txr.vim: Regenerated.
|
|
|
|
|
|
| |
vi make_random_state.
* txr.1: Updated.
|
|
|
|
|
|
|
|
|
| |
state, we do not want to make the 8 calls to rand32 to
mix up the state; we need are making a straight copy.
* txr.1: Document the possibility that the seed object
is a random state. Document the platform-independence of the
integer seed.
|
|
|
|
|
|
| |
Fix error message in toint wrongly identifying itself as tofloat.
* txr.1: Document handling of characters.
|
|
|
|
|
|
|
|
|
|
| |
* lib.c (in): New function.
* lib.h (in): Declared.
* txr.1: Documented in.
* txr.vim, tl.vim: Regenerated.
|
|
|
|
|
|
|
|
|
|
| |
* lib.c (lequal, gequal, lequalv, gequalv): New functions.
* lib.h (lequal, gequal, lequalv, gequalv): Declared.
* txr.1: Documented lequal and gequal.
* txr.vim, tl.vim: Regenerated.
|
|
|
|
|
|
|
|
|
|
| |
the lessv and greaterv functions instead of less and greater.
* lib.c (lessv, greaterv): New functions.
* lib.h (lessv, greaterv): Declared.
* txr.1: Document variadic nature of less and greater.
|
|
|
|
|
|
|
|
| |
* lib.c (sort_group): New function.
* lib.h (sort_group): Declared.
* txr.1: Documented.
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Registered wrap and wrap* intrinsics.
* lib.h (wrap_star, wrap): Declared.
* txr.1: wrap and wrap* documented.
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Register new functions as intrinsics.
* lib.h (succ, ssucc, sssucc, pred, ppred, pppred): Declared.
* txr.1: Documented.
|
|
|
|
|
|
| |
* lib.h (where): Declaration updated.
* txr.1: Documented.
|
|
|
|
| |
* txr.1: Documented.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
then unless opt_compat is 100 or less, provide a more
consistent behavior, rather than splitting the string
into characters. This latter behavior was never documented.
* txr.1: Documented.
* dep.mk: Updated.
|
|
|
|
|
|
|
|
|
| |
for generic semantics.
* lib.h (max2, min2): Parameter names changed to avoid suggesting
that the operands are numbers.
* txr.1: Documentation for min and max updated.
|
|
|
|
|
|
|
|
|
|
|
|
| |
(macro_form_p): Forward declaration added.
(me_opip): New static function.
(eval_init): Intern new symbols, register opip and oand macros
to me_opip function. Use chain_s and chand_s in registration
for chain and chand.
* txr.1: Document opip and oand
* tl.vim, txr.vim: Regenerated.
|