diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-01-18 12:19:41 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-01-18 12:19:41 +0100 |
commit | 81ba12d74d03e3aa9398efb2949346ab1710469a (patch) | |
tree | 3bec8be2efbffa5b509578f3f8c47d28ea2ef391 /libguile/procs.c | |
parent | 2b807ea75c9a4dc3059918d2d04e1cb3ed301acf (diff) | |
download | guile-81ba12d74d03e3aa9398efb2949346ab1710469a.tar.gz |
Don't use `scm_immutable_cell ()' for subrs.
* libguile/procs.c (scm_c_make_subr): Use `scm_cell ()' instead of
`scm_immutable_cell ()' since subr cells can be mutated, e.g., via
`SCM_SUBR_GENERIC ()' as in `scm_c_extend_primitive_generic ()' (this
doesn't make any difference in practice as of libgc 7.1, though).
Diffstat (limited to 'libguile/procs.c')
-rw-r--r-- | libguile/procs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/procs.c b/libguile/procs.c index 0b4b00e8f..f4afda1f6 100644 --- a/libguile/procs.c +++ b/libguile/procs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2006, 2008, 2009 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 @@ -64,7 +64,7 @@ scm_c_make_subr (const char *name, long type, SCM (*fcn) ()) } entry = scm_subr_table_size; - z = scm_immutable_cell ((entry << 8) + type, (scm_t_bits) fcn); + z = scm_cell ((entry << 8) + type, (scm_t_bits) fcn); scm_subr_table[entry].handle = z; scm_subr_table[entry].name = scm_from_locale_symbol (name); scm_subr_table[entry].generic = 0; |