diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-05 16:50:39 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-01-07 10:19:53 +0100 |
commit | 31a26df2cc91427f0a4281d6ac5a1c0b53a8c0f1 (patch) | |
tree | fd09cd0a9e69449b60045ae8ed763a1ed456923e /libguile/programs.c | |
parent | d8164b046c71c3f313fa4f7e239d50823b619297 (diff) | |
download | guile-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.c | 5 |
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; } |