From: Juho S. <js...@ik...> - 2006-01-06 03:11:40
|
On Thu, Dec 29, 2005 at 06:50:55PM +0100, Tobias C. Rittweiler wrote: > What's a reasonable behaviour for the case when someone attempts to > pursue an unreasonable intention like the following: > > ;; for CMUCL: (without-package-locks > ;; (CMUCL people, please see [4]) > ;; > ;; for CLISP: (without-package-lock ("COMMON-LISP") > ;; > (sb-ext:without-package-locks > (deftype otherwise () `(or symbol list)) > > (typecase (svref (make-array 1 :element-type 'otherwise > :initial-element 'bar) 0) > (otherwise 'BANG!) > (symbol 'SYMBOL) > (list 'LIST) > (otherwise 'OTHERWISE))) I wouldn't bother about any extra warnings in this case. Users who go through the extra mile of disabling package locks in order to shoot themselves in the foot don't get much sympathy. (This particulare case is something that would get caught by a style warning for duplicate case keys. See sbcl-devel "Patch: warning on some duplicate CASE" by Kevin Reid on 2005-08-06 for an implementation). -- Juho Snellman |