mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Fix class slot allocation since GOOPS rewrite
* module/oop/goops.scm (%compute-layout): Fix class slot layout. Before, a #:class that was an argument to #:allocation was getting interpreted as a keyword with a value. * test-suite/tests/goops.test ("#:class slot allocation"): Add test.
This commit is contained in:
parent
a86bb2e613
commit
77cfd7e4bf
2 changed files with 10 additions and 1 deletions
|
@ -765,7 +765,7 @@ slots as we go."
|
|||
(define (slot-protection-and-kind slot)
|
||||
(define (subclass? class parent)
|
||||
(memq parent (class-precedence-list class)))
|
||||
(let ((type (kw-arg-ref (%slot-definition-options slot) #:class)))
|
||||
(let ((type (get-keyword #:class (%slot-definition-options slot))))
|
||||
(if (and type (subclass? type <foreign-slot>))
|
||||
(values (cond
|
||||
((subclass? type <self-slot>) #\s)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue