summaryrefslogtreecommitdiff
path: root/libguile/programs.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-01-05 16:50:39 +0100
committerAndy Wingo <wingo@pobox.com>2010-01-07 10:19:53 +0100
commit31a26df2cc91427f0a4281d6ac5a1c0b53a8c0f1 (patch)
treefd09cd0a9e69449b60045ae8ed763a1ed456923e /libguile/programs.c
parentd8164b046c71c3f313fa4f7e239d50823b619297 (diff)
downloadguile-31a26df2cc91427f0a4281d6ac5a1c0b53a8c0f1.tar.gz
program-meta procedures get their program's objtable
* libguile/programs.c (scm_program_meta): Give the program meta procedure the same object table as the main procedure. Will allow for easier hand-crafting of meta programs. Of course when compiling a metadata procedure from Scheme, one still wants to avoid preallocating the heap objects needed by the metadata...
Diffstat (limited to 'libguile/programs.c')
-rw-r--r--libguile/programs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/programs.c b/libguile/programs.c
index 336e621e3..fdc0c32a9 100644
--- a/libguile/programs.c
+++ b/libguile/programs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -138,7 +138,8 @@ SCM_DEFINE (scm_program_meta, "program-meta", 1, 0, 0,
metaobj = scm_objcode_meta (SCM_PROGRAM_OBJCODE (program));
if (scm_is_true (metaobj))
- return scm_make_program (metaobj, SCM_BOOL_F, SCM_BOOL_F);
+ return scm_make_program (metaobj, SCM_PROGRAM_OBJTABLE (program),
+ SCM_BOOL_F);
else
return SCM_BOOL_F;
}