summaryrefslogtreecommitdiff
path: root/libguile/variable.c
diff options
context:
space:
mode:
authorBrian Templeton <bpt@hcoop.net>2010-08-14 19:00:20 -0400
committerAndy Wingo <wingo@pobox.com>2010-12-07 13:21:01 +0100
commita8aa4c0b56624dc77b71d6b4892f6b14ad9e751d (patch)
treef1d729f9007c0056fab2bf7fdc8b01b483f2cb3b /libguile/variable.c
parentef94624eaf549ca9c730d4650b9dfed2ee48521b (diff)
downloadguile-a8aa4c0b56624dc77b71d6b4892f6b14ad9e751d.tar.gz
variable-unset!
* libguile/variable.c (scm_variable_unset_x): New function. * libguile/variable.h (scm_variable_unset_x): New prototype.
Diffstat (limited to 'libguile/variable.c')
-rw-r--r--libguile/variable.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libguile/variable.c b/libguile/variable.c
index a97444c0b..76fbf1821 100644
--- a/libguile/variable.c
+++ b/libguile/variable.c
@@ -111,6 +111,18 @@ SCM_DEFINE (scm_variable_set_x, "variable-set!", 2, 0, 0,
}
#undef FUNC_NAME
+SCM_DEFINE (scm_variable_unset_x, "variable-unset!", 1, 0, 0,
+ (SCM var),
+ "Ensure that @var{var} is not bound to a value.\n"
+ "@var{var} must be a variable object.")
+#define FUNC_NAME s_scm_variable_unset_x
+{
+ SCM_VALIDATE_VARIABLE (1, var);
+ SCM_VARIABLE_SET (var, SCM_UNDEFINED);
+ return SCM_UNSPECIFIED;
+}
+#undef FUNC_NAME
+
SCM_DEFINE (scm_variable_bound_p, "variable-bound?", 1, 0, 0,
(SCM var),
"Return @code{#t} iff @var{var} is bound to a value.\n"