1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-01 15:20:34 +02:00

Fix GOOPS for <regexp>

* module/oop/goops.scm (<regexp>):
* libguile/goops.c: (scm_class_of): Give regexps their own class; it
doesn't come from smobs.
This commit is contained in:
Andy Wingo 2025-06-18 10:58:08 +02:00
parent 2a015937ca
commit 6ba6fbdf64
2 changed files with 6 additions and 8 deletions

View file

@ -144,6 +144,7 @@ static SCM class_continuation;
static SCM class_directory;
static SCM class_macro;
static SCM class_random_state;
static SCM class_regexp;
static struct scm_ephemeron_table *vtable_class_map;
static SCM pre_goops_vtables = SCM_EOL;
@ -357,6 +358,8 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
return class_macro;
case scm_tc16_random_state:
return class_random_state;
case scm_tc16_regexp:
return class_regexp;
default:
abort ();
}
@ -998,6 +1001,7 @@ SCM_DEFINE (scm_sys_goops_early_init, "%goops-early-init", 0, 0, 0,
class_directory = scm_variable_ref (scm_c_lookup ("<directory>"));
class_macro = scm_variable_ref (scm_c_lookup ("<macro>"));
class_random_state = scm_variable_ref (scm_c_lookup ("<random-state>"));
class_regexp = scm_variable_ref (scm_c_lookup ("<regexp>"));
create_smob_classes ();
create_struct_classes ();