From 2d5aa6cab0717da73485cbba7d7158edc95cc7df Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Mon, 10 Mar 2003 17:25:11 +0000 Subject: [PATCH] 0.7.13.22: Minor error fix, from Paul Dietz' suite ... if GETF and GET-PROPERTIES signal a error on malformed property lists, then make it a type-error, not just a simple-error --- NEWS | 2 ++ src/code/symbol.lisp | 14 ++++++++++---- version.lisp-expr | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 90bf931..64d2257 100644 --- a/NEWS +++ b/NEWS @@ -1596,6 +1596,8 @@ changes in sbcl-0.7.14 relative to sbcl-0.7.13: ** APPEND checks its arguments for being proper lists; ** An array specialized to be unable to hold elements has been implemented (as required -- yes, really) by ANSI; + ** GETF and GET-PROPERTIES throw a TYPE-ERROR, not a SIMPLE-ERROR, + on malformed property lists; planned incompatible changes in 0.7.x: * (not done yet, but planned:) When the profiling interface settles diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp index 437e199..e1143df 100644 --- a/src/code/symbol.lisp +++ b/src/code/symbol.lisp @@ -156,8 +156,11 @@ (do ((plist place (cddr plist))) ((null plist) default) (cond ((atom (cdr plist)) - (error "~S is a malformed property list." - place)) + (error 'simple-type-error + :format-control "malformed property list: ~S." + :format-arguments (list place) + :datum (cdr plist) + :expected-type 'cons)) ((eq (car plist) indicator) (return (cadr plist)))))) @@ -178,8 +181,11 @@ (do ((plist place (cddr plist))) ((null plist) (values nil nil nil)) (cond ((atom (cdr plist)) - (error "~S is a malformed proprty list." - place)) + (error 'simple-type-error + :format-control "malformed property list: ~S." + :format-arguments (list place) + :datum (cdr plist) + :expected-type 'cons)) ((memq (car plist) indicator-list) (return (values (car plist) (cadr plist) plist)))))) diff --git a/version.lisp-expr b/version.lisp-expr index 50f5b56..4995ac4 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -18,4 +18,4 @@ ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.13.21" +"0.7.13.22" -- 1.7.10.4