diff --git a/src/CHANGELOG b/src/CHANGELOG index 7cdc3f84d..6e82e54f3 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -75,6 +75,9 @@ ECL 9.11.1: - FDEFINITION and SYMBOL-FUNCTION caused an incorrect error condition when acting on NIL. + - CLOS:SET-FUNCALLABLE-INSTANCE-FUNCTION broke the value if SI:INSTANCE-SIG, + preventing any further access to the instance slots. + * Sockets: - The socket option TCP_NODELAY option has been fixed: it was improperly using diff --git a/src/c/gfun.d b/src/c/gfun.d index dd9a31e2e..506cfeca5 100644 --- a/src/c/gfun.d +++ b/src/c/gfun.d @@ -60,6 +60,8 @@ reshape_instance(cl_object x, int delta) { cl_fixnum size = x->instance.length + delta; cl_object aux = ecl_allocate_instance(CLASS_OF(x), size); + /* Except for the different size, this must match si_copy_instance */ + aux->instance.sig = x->instance.sig; memcpy(aux->instance.slots, x->instance.slots, (delta < 0 ? aux->instance.length : x->instance.length) * sizeof(cl_object));