summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Rhodes <csr21@cam.ac.uk>2003-04-28 12:57:02 +0000
committerChristophe Rhodes <csr21@cam.ac.uk>2003-04-28 12:57:02 +0000
commit3d3ac32d4402ff3df488e69de7f05ca240cc67aa (patch)
tree15db8f1c1545c8d9f39fbb6d47d55e15397e1197
parenta110dc1207382adf09d84a49be2381de0c688ec8 (diff)
0.pre8.117:
:ALLOW-OTHER-KEYS NIL is perfectly valid in an initarg list, so don't flame out when it's present (detected by Paul Dietz' suite: test CLASS-07.10)
-rw-r--r--NEWS1
-rw-r--r--src/pcl/init.lisp4
-rw-r--r--version.lisp-expr2
3 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index dfe6b169c..29a00e654 100644
--- a/NEWS
+++ b/NEWS
@@ -1704,6 +1704,7 @@ changes in sbcl-0.8.0 relative to sbcl-0.7.14
** side-effectful :DEFAULT-INITARGS have their side-effects
propagated even in the ctor optimized implementation of
MAKE-INSTANCE;
+ ** :ALLOW-OTHER-KEYS NIL is now accepted in an initarg list;
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles
diff --git a/src/pcl/init.lisp b/src/pcl/init.lisp
index 5fe2982d7..2fc6eba15 100644
--- a/src/pcl/init.lisp
+++ b/src/pcl/init.lisp
@@ -190,7 +190,9 @@
;; Now check the supplied-initarg-names and the default initargs
;; against the total set that we know are legal.
(doplist (key val) initargs
- (unless (memq key legal)
+ (unless (or (memq key legal)
+ ;; :ALLOW-OTHER-KEYS NIL gets here
+ (eq key :allow-other-keys))
(push key invalid-keys)))
(when (and invalid-keys error-p)
(error 'initarg-error :class class :initargs invalid-keys)))
diff --git a/version.lisp-expr b/version.lisp-expr
index e809a9c75..5eed17a64 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -17,4 +17,4 @@
;;; 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.pre8.116"
+"0.pre8.117"