From 9efd26fe049a700e1999bad6fce9b29128f4cbb4 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Tue, 2 Dec 2008 15:44:29 +0100 Subject: [PATCH] New convenience functions, ecl_defvar/defparameter --- src/CHANGELOG | 2 ++ src/c/symbol.d | 14 ++++++++++++++ src/h/external.h | 4 ++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/CHANGELOG b/src/CHANGELOG index 03a27dbd1..1933ed5aa 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -99,6 +99,8 @@ ECL 8.9.0: ECL_OPT_SIGALTSTACK_SIZE, ECL_OPT_LIMIT + - Two new convenience functions, ecl_defparameter() and ecl_defvar. + * Bugs fixed: - The optimizer for COERCE might enter an infinite loop for certain diff --git a/src/c/symbol.d b/src/c/symbol.d index 874e9303b..5ba605567 100644 --- a/src/c/symbol.d +++ b/src/c/symbol.d @@ -460,3 +460,17 @@ cl_object ECL_SET(sym, val); @(return sym) } + +cl_object +ecl_defvar(cl_object sym, cl_object val) +{ + si_safe_eval(cl_list(3, @'defvar', sym, cl_list(2, @'quote', val))); + return sym; +} + +cl_object +ecl_defparameter(cl_object sym, cl_object val) +{ + si_safe_eval(cl_list(3, @'defparameter', sym, cl_list(2, @'quote', val))); + return sym; +} diff --git a/src/h/external.h b/src/h/external.h index 7f3a898fd..6a36b342d 100644 --- a/src/h/external.h +++ b/src/h/external.h @@ -1413,8 +1413,8 @@ extern ECL_API cl_object cl_gensym _ARGS((cl_narg narg, ...)); extern ECL_API cl_object cl_gentemp _ARGS((cl_narg narg, ...)); extern ECL_API cl_object si_put_properties _ARGS((cl_narg narg, cl_object sym, ...)); -extern ECL_API void cl_defvar(cl_object s, cl_object v); -extern ECL_API void cl_defparameter(cl_object s, cl_object v); +extern ECL_API void ecl_defvar(cl_object s, cl_object v); +extern ECL_API void ecl_defparameter(cl_object s, cl_object v); extern ECL_API cl_object ecl_make_keyword(const char *s); extern ECL_API cl_object ecl_symbol_value(cl_object s); extern ECL_API cl_object ecl_symbol_name(cl_object s);