mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 06:42:18 -08:00
The slot accessors written in C now rely on slot-value to avoid infinite recursion
This commit is contained in:
parent
ea555590b2
commit
69651e3073
3 changed files with 4 additions and 2 deletions
|
|
@ -46,7 +46,7 @@ slot_method_name(cl_object gfun, cl_object args)
|
|||
cl_object first = ECL_CONS_CAR(methods);
|
||||
cl_object slotd = _ecl_funcall3(@'slot-value', first,
|
||||
@'clos::slot-definition');
|
||||
return _ecl_funcall2(@'clos::slot-definition-name', slotd);
|
||||
return _ecl_funcall3(@'slot-value', slotd, @'clos::name');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ slot_method_index(cl_object gfun, cl_object instance, cl_object args)
|
|||
ECL_CLASS_OF(instance),
|
||||
@'clos::slot-table');
|
||||
cl_object slotd = ecl_gethash_safe(slot_name, table, OBJNULL);
|
||||
return _ecl_funcall2(@'clos::slot-definition-location', slotd);
|
||||
return _ecl_funcall3(@'slot-value', slotd, @'ext::location');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1686,6 +1686,7 @@ cl_symbols[] = {
|
|||
{CLOS_ "METHOD-GENERIC-FUNCTION", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "METHOD-LAMBDA-LIST", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "METHOD-SPECIALIZERS", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "NAME", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "READER-METHOD-CLASS", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "REMOVE-DEPENDENT", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
{CLOS_ "REMOVE-DIRECT-METHOD", CLOS_ORDINARY, NULL, -1, OBJNULL},
|
||||
|
|
|
|||
|
|
@ -1686,6 +1686,7 @@ cl_symbols[] = {
|
|||
{CLOS_ "METHOD-GENERIC-FUNCTION",NULL},
|
||||
{CLOS_ "METHOD-LAMBDA-LIST",NULL},
|
||||
{CLOS_ "METHOD-SPECIALIZERS",NULL},
|
||||
{CLOS_ "NAME",NULL},
|
||||
{CLOS_ "READER-METHOD-CLASS",NULL},
|
||||
{CLOS_ "REMOVE-DEPENDENT",NULL},
|
||||
{CLOS_ "REMOVE-DIRECT-METHOD",NULL},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue