X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdefstruct.impure.lisp;h=f1b06b56ab9ae5617037c2a2b3c4912e6e3d5ee7;hb=69ef68ba7393e3492c1b4a756d1140f71c2922bc;hp=5f9aa1db2b95bf6dc06c93d124705ea4fb3e7a2d;hpb=b1b85bbf17f686a0787304a04cf0e01e8216d038;p=sbcl.git diff --git a/tests/defstruct.impure.lisp b/tests/defstruct.impure.lisp index 5f9aa1d..f1b06b5 100644 --- a/tests/defstruct.impure.lisp +++ b/tests/defstruct.impure.lisp @@ -562,6 +562,17 @@ (setf (find-class 'foo) nil) (defstruct foo slot-1))))) +;;; bug 348, evaluation order of slot writer arguments. Fixed by Gabor +;;; Melis. +(defstruct bug-348 x) + +(assert (eql -1 (let ((i (eval '-2)) + (x (make-bug-348))) + (funcall #'(setf bug-348-x) + (incf i) + (aref (vector x) (incf i))) + (bug-348-x x)))) + ;;; success (format t "~&/returning success~%") (quit :unix-status 104)