** HANDLER-CASE failed to accept declarations in handler clauses
in some circumstances.
+changes in sbcl-0.8.7 relative to sbcl-0.8.6:
+ * bug fix: GET-SETF-EXPANSION no longer throws an internal type
+ error when called without an explicit environment argument.
+ (thanks to Nikodemus Siivola)
+
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles
down, it might impact TRACE. They both encapsulate functions, and
;;; If a macro, expand one level and try again. If not, go for the
;;; SETF function.
-(declaim (ftype (function (t sb!c::lexenv)) expand-or-get-setf-inverse))
+(declaim (ftype (function (t (or null sb!c::lexenv)))
+ expand-or-get-setf-inverse))
(defun expand-or-get-setf-inverse (form environment)
(multiple-value-bind (expansion expanded)
(sb!xc:macroexpand-1 form environment)
--- /dev/null
+;;;; tests related to setf
+
+;;;; This file is impure because we want to be able to use DEFUN.
+
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; While most of SBCL is derived from the CMU CL system, the test
+;;;; files (like this one) were written from scratch after the fork
+;;;; from CMU CL.
+;;;;
+;;;; This software is in the public domain and is provided with
+;;;; absolutely no warranty. See the COPYING and CREDITS files for
+;;;; more information.
+
+(in-package :cl-user)
+
+(defvar *foo* nil)
+(defun (setf foo) (bar)
+ (setf *foo* bar))
+
+;;; Regression test for get-setf-expansion without explicit
+;;; environment object.
+(assert (multiple-value-list (get-setf-expansion '(foo))))
+
+;;; success
+(quit :unix-status 104)
\ No newline at end of file
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.6.7"
+"0.8.6.8"