From 930338ee280553fbcd2fffc75c7bde82e2489e17 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 21 Aug 1990 14:58:38 +0000
Subject: [PATCH] When generating the defknown for setf functions, put the
 arguments in the correct order.

---
 compiler/generic/vm-fndb.lisp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/compiler/generic/vm-fndb.lisp b/compiler/generic/vm-fndb.lisp
index a668a0813..dfe5ec689 100644
--- a/compiler/generic/vm-fndb.lisp
+++ b/compiler/generic/vm-fndb.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/vm-fndb.lisp,v 1.22 1990/08/15 02:54:50 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/vm-fndb.lisp,v 1.23 1990/08/21 14:58:38 wlott Exp $
 ;;;
 ;;; This file defines the machine specific function signatures.
 ;;;
@@ -227,7 +227,12 @@
 		       name (vm:primitive-object-name obj))))
 	  (when set-known
 	    (if set-trans
-		(forms `(defknown (,set-trans) (,obj-type ,slot-type)
+		(forms `(defknown (,set-trans)
+				  ,(if (and (listp set-trans)
+					    (= (length set-trans) 2)
+					    (eq (car set-trans) 'setf))
+				       (list slot-type obj-type)
+				       (list obj-type slot-type))
 			  ,slot-type ,set-known))
 		(error "Can't spec a :set-known with no :set-trans. ~S in ~S"
 		       name (vm:primitive-object-name obj)))))))
-- 
GitLab