diff --git a/pcl/fin.lisp b/pcl/fin.lisp index c74b58b1a9370ef2bdacc46db2618a79ac122d38..b3060d4ecfa6d211aba238961699a705a55a874a 100644 --- a/pcl/fin.lisp +++ b/pcl/fin.lisp @@ -1050,10 +1050,10 @@ explicitly marked saying who wrote it. (kernel:%closure-index-ref new-value i)))) (kernel:%set-funcallable-instance-function fin - (kernel:%closure-function new-value)) - new-value)))) + (kernel:%closure-function new-value)))))) (#.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 @@ -1090,13 +1090,16 @@ explicitly marked saying who wrote it. ;;; (defmacro %set-funcallable-instance-data-1 (fin slot new-value) (ext:once-only ((n-fin fin) - (n-slot slot)) - `(kernel:%set-funcallable-instance-info - ,n-fin - (+ (or (position ,n-slot funcallable-instance-data) - (error "Unknown slot: ~S." ,n-slot)) - fin-data-offset) - ,new-value))) + (n-slot slot) + (n-val new-value)) + `(progn + (kernel:%set-funcallable-instance-info + ,n-fin + (+ (or (position ,n-slot funcallable-instance-data) + (error "Unknown slot: ~S." ,n-slot)) + fin-data-offset) + ,n-val) + ,n-val))) ;;; (defsetf funcallable-instance-data-1 %set-funcallable-instance-data-1)