[seed] Move Seed.print to the global object, as 'print', keep Seed.print for this release
- From: Robert Carr <racarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] Move Seed.print to the global object, as 'print', keep Seed.print for this release
- Date: Wed, 27 May 2009 04:19:14 -0400 (EDT)
commit 405feab8bf95281cdf2bc80fe8524730aaf1c222
Author: Robert Carr <racarr svn gnome org>
Date: Wed May 27 04:19:07 2009 -0400
Move Seed.print to the global object, as 'print', keep Seed.print for this release
---
libseed/seed-builtins.c | 9 ++++++++-
libseed/seed-builtins.h | 2 ++
libseed/seed-engine.c | 2 ++
3 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/libseed/seed-builtins.c b/libseed/seed-builtins.c
index b24cb68..6097b34 100644
--- a/libseed/seed-builtins.c
+++ b/libseed/seed-builtins.c
@@ -23,6 +23,8 @@
#include <string.h>
#include <signal.h>
+JSValueRef seed_print_ref;
+
static JSValueRef
seed_include (JSContextRef ctx,
JSObjectRef function,
@@ -483,7 +485,12 @@ seed_init_builtins (SeedEngine * local_eng, gint * argc, gchar *** argv)
seed_create_function (local_eng->context, "include", &seed_include, obj);
seed_create_function (local_eng->context, "scoped_include",
&seed_scoped_include, obj);
- seed_create_function (local_eng->context, "print", &seed_print, obj);
+
+ seed_print_ref = JSObjectMakeFunctionWithCallback (local_eng->context, NULL, &seed_print);
+ seed_object_set_property (local_eng->context, obj, "print", seed_print_ref);
+ seed_object_set_property (local_eng->context, local_eng->global, "print", seed_print_ref);
+ JSValueProtect (local_eng->context, seed_print_ref);
+
seed_create_function (local_eng->context,
"check_syntax", &seed_check_syntax, obj);
seed_create_function (local_eng->context,
diff --git a/libseed/seed-builtins.h b/libseed/seed-builtins.h
index 247bd53..259d9e7 100644
--- a/libseed/seed-builtins.h
+++ b/libseed/seed-builtins.h
@@ -24,6 +24,8 @@
#include "seed-private.h"
+extern JSValueRef seed_print_ref;
+
void seed_init_builtins (SeedEngine * local_eng, gint * argc, gchar *** argv);
extern JSClassRef seed_argv_class;
diff --git a/libseed/seed-engine.c b/libseed/seed-engine.c
index e03dc77..aeae25a 100644
--- a/libseed/seed-engine.c
+++ b/libseed/seed-engine.c
@@ -68,6 +68,8 @@ seed_prepare_global_context (JSContextRef ctx)
seed_object_set_property (ctx, global, "imports", importer);
seed_object_set_property (ctx, global, "GType", seed_gtype_constructor);
seed_object_set_property (ctx, global, "Seed", seed_obj_ref);
+ seed_object_set_property (ctx, global, "print", seed_print_ref);
+
JSEvaluateScript (ctx, defaults_script, NULL, NULL, 0, NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]