summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-12-30 02:42:18 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-12-30 02:42:18 -0800
commit422eda12b8a931039a5bf613a8c260c3d6853403 (patch)
treea24ace5c0fd241dc5dfca5b6db21cffdcd1f741d /lib.h
parentfb7a02f021e153fa6769a5e47dda303560dfd8ff (diff)
downloadtxr-422eda12b8a931039a5bf613a8c260c3d6853403.tar.gz
txr-422eda12b8a931039a5bf613a8c260c3d6853403.tar.bz2
txr-422eda12b8a931039a5bf613a8c260c3d6853403.zip
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.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h1
1 files changed, 1 insertions, 0 deletions
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)))