From 422eda12b8a931039a5bf613a8c260c3d6853403 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 30 Dec 2017 02:42:18 -0800 Subject: New methods rplaca and rplacd. * eval.c (eval_init): Register rplaca and rplacd using new rplaca_s and rplacd_s symbol variables. * lib.c (rplaca_s, rplacd_s): New symbol variables. (rplaca): Handle struct object via rplaca method, if it has one, otherwise lambda-set, if it has that, or else error out. (rplacd): Handle struct object via rplacd method. * lib.h (rplaca_s, rplacd_s): Declared. * txr.1: Documented rplaca and rplacd methods. --- lib.h | 1 + 1 file changed, 1 insertion(+) (limited to 'lib.h') diff --git a/lib.h b/lib.h index 8ead3804..6ba0140c 100644 --- a/lib.h +++ b/lib.h @@ -470,6 +470,7 @@ extern val query_error_s, file_error_s, process_error_s, syntax_error_s; extern val timeout_error_s, system_error_s, alloc_error_s; extern val warning_s, defr_warning_s, restart_s, continue_s; extern val gensym_counter_s; +extern val rplaca_s, rplacd_s; #define gensym_counter (deref(lookup_var_l(nil, gensym_counter_s))) -- cgit v1.2.3