summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pez.c9
-rw-r--r--pez.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/pez.c b/pez.c
index 52744ad..f341c78 100644
--- a/pez.c
+++ b/pez.c
@@ -4540,6 +4540,15 @@ pez_pushuserobj(PezContext *cx, const PezUserType *typeid, void *data)
}
bool
+pez_setglobal(PezContext *cx, const char *name)
+{
+ Val k, v;
+ TRY(box_str(cx, &k, name, strlen(name)));
+ v = pop(cx);
+ return putglobal(cx, k, v);
+}
+
+bool
pez_isvoid(PezContext *cx, int idx)
{
return isvoid(*iget(cx, idx));
diff --git a/pez.h b/pez.h
index d29344f..62946d2 100644
--- a/pez.h
+++ b/pez.h
@@ -72,6 +72,8 @@ bool pez_pushstring(PezContext *, const char *str, int len);
bool pez_pushglobal(PezContext *, const char *name);
bool pez_pushuserobj(PezContext *, const PezUserType *, void *data);
+bool pez_setglobal(PezContext *, const char *name);
+
bool pez_isvoid(PezContext *, int idx);
bool pez_isnumber(PezContext *, int idx);
bool pez_isbool(PezContext *, int idx);