summaryrefslogtreecommitdiffstats
path: root/tests/010/seq.expected
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-05-06 06:47:30 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-05-06 06:47:30 -0700
commit209e731429a0fd890ec6d922c1efc6f02d81a032 (patch)
tree55302eeaaaf8ee7e0fdc7add129f2e6c68756f27 /tests/010/seq.expected
parentf7aaccf9231081e840987be9b1e5922592b147e6 (diff)
downloadtxr-209e731429a0fd890ec6d922c1efc6f02d81a032.tar.gz
txr-209e731429a0fd890ec6d922c1efc6f02d81a032.tar.bz2
txr-209e731429a0fd890ec6d922c1efc6f02d81a032.zip
New macro-based framework for assignment places.
The operators set, inc, dec, pop and others are now macros which generate code, rather than built-in special forms that use "C magic". Moreover, new such macros are easy to write, and several new ones are already available. Moreover, new kinds of assignable places are easy to create. * place.tl: New file. * lisplib.c, lisplib.h: New files. * Makefile (OBJS): New target, lisplib.o. (GEN_HDRS): New variable. (LISP_TO_C_STRING): New recipe macro, with rule. (clean): Remove generated headers named in $(GEN_HDRS). * eval.c (dec_s, push_s, pop_s, flip_s, del_s): Variables removed. (setq_s): New variable. (lookup_var, lokup_sym_lisp_1, lookup_var_l, lookup_fun, lookup_mac, lookup_symac, lookup_symac_lisp1): Trigger the delayed loading of libraries for undefined global symbols, and re-try the lookup. (op_modplace, dwim_loc, force_l): Static functions removed. (op_setq): New static function. (eval_init): Initialize setq_s; remove initializations of removed variables; remove registrations for op_modplace; add registration for sys:setq, sys:rplaca, sys:rplacd, sys:dwim-set and sys:dwim-del intrinsics. Call lisplib_init to initialize the dynamic library loading module. * lib.c (sys_rplaca, sys_rplacd): New functions, differing in return value from rplaca and rplacd. (ref, refset): Handle hash table. (dwim_set, dwim_del): New functions. * lib.h (sys_rplaca, sys_rplacd, dwim_set, dwim_del): Declared. * genvim.txr: Include place.tl in scan. * tests/010/seq.txr: The del operator test case no longer throws at run-time but at macro-expansion time, so the test case is simply removed. * tests/010/seq.expected: Updated output. * tests/011/macros-2.txr: Reset *gensym-counter* to zero, because the textual output of the test case includes gensyms, whose numberings fluctuate with the content of the new Lisp library material. * tests/011/macros-2.expected: Updated output.
Diffstat (limited to 'tests/010/seq.expected')
-rw-r--r--tests/010/seq.expected1
1 files changed, 0 insertions, 1 deletions
diff --git a/tests/010/seq.expected b/tests/010/seq.expected
index 73009319..5d589d40 100644
--- a/tests/010/seq.expected
+++ b/tests/010/seq.expected
@@ -5,7 +5,6 @@ nil
#\b "acd"
#\d "ac"
exception!
-exception!
#(8 7 6 5 4 3 2 1)
#((7 . #\h) (8 . #\g) (6 . #\f) (5 . #\e) (4 . #\d) (3 . #\c) (2 . #\b) (1 . #\a))
(100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1)