Skip to content
Snippets Groups Projects
Commit bd9352cd authored by ram's avatar ram
Browse files

Fixed setf'ers to return the right value.

parent 883567aa
No related branches found
No related tags found
No related merge requests found
...@@ -1050,10 +1050,10 @@ explicitly marked saying who wrote it. ...@@ -1050,10 +1050,10 @@ explicitly marked saying who wrote it.
(kernel:%closure-index-ref new-value i)))) (kernel:%closure-index-ref new-value i))))
(kernel:%set-funcallable-instance-function (kernel:%set-funcallable-instance-function
fin fin
(kernel:%closure-function new-value)) (kernel:%closure-function new-value))))))
new-value))))
(#.vm:function-header-type (#.vm:function-header-type
(kernel:%set-funcallable-instance-function fin new-value)))) (kernel:%set-funcallable-instance-function fin new-value)))
new-value)
;;; FUNCALLABLE-INSTANCE-NAME, SET-FUNCALLABLE-INSTANCE-NAME -- Interface ;;; FUNCALLABLE-INSTANCE-NAME, SET-FUNCALLABLE-INSTANCE-NAME -- Interface
...@@ -1090,13 +1090,16 @@ explicitly marked saying who wrote it. ...@@ -1090,13 +1090,16 @@ explicitly marked saying who wrote it.
;;; ;;;
(defmacro %set-funcallable-instance-data-1 (fin slot new-value) (defmacro %set-funcallable-instance-data-1 (fin slot new-value)
(ext:once-only ((n-fin fin) (ext:once-only ((n-fin fin)
(n-slot slot)) (n-slot slot)
`(kernel:%set-funcallable-instance-info (n-val new-value))
,n-fin `(progn
(+ (or (position ,n-slot funcallable-instance-data) (kernel:%set-funcallable-instance-info
(error "Unknown slot: ~S." ,n-slot)) ,n-fin
fin-data-offset) (+ (or (position ,n-slot funcallable-instance-data)
,new-value))) (error "Unknown slot: ~S." ,n-slot))
fin-data-offset)
,n-val)
,n-val)))
;;; ;;;
(defsetf funcallable-instance-data-1 %set-funcallable-instance-data-1) (defsetf funcallable-instance-data-1 %set-funcallable-instance-data-1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment