X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fbeyond-ansi.sgml;h=1558f3ca44c3e79521e58429bf701afab03d321d;hb=51cf665f514935c8067f86f3850fd917731cada0;hp=b1c0a39a32b301bf7aa883f11018530091b0faed;hpb=abbf4da893fae087978fcdf544c85187ea9c2a9d;p=sbcl.git diff --git a/doc/beyond-ansi.sgml b/doc/beyond-ansi.sgml index b1c0a39..1558f3c 100644 --- a/doc/beyond-ansi.sgml +++ b/doc/beyond-ansi.sgml @@ -48,7 +48,7 @@ of the same symbol more than once is undefined unless the new value is eql to the old value. Conforming to this specification is a nuisance when the "constant" value is only constant under some weaker test like string= or equal. It's -especially annoying because defconstant takes effect +especially annoying because, in &SBCL;, defconstant takes effect not only at load time but also at compile time, so that just compiling and loading reasonable code like (defconstant +foobyte+ '(1 4)) @@ -63,7 +63,11 @@ E.g., the code above can be given an exactly defined meaning by replacing defconstant either with defparameter or with a customized macro which does the right thing, possibly along the lines of the defconstant-eqx macro used internally in the -implementation of SBCL itself. +implementation of &SBCL; itself. In circumstances where this is not +appropriate, the programmer can handle the condition type +sb-ext:defconstant-uneql, and choose either the +continue or abort restart as +appropriate. &SBCL; gives style warnings about various kinds of perfectly legal code, e.g.