Changes between Version 6 and Version 7 of ReleaseNotes/1.9


Ignore:
Timestamp:
Feb 5, 2013, 7:33:02 PM (7 years ago)
Author:
gb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseNotes/1.9

    v6 v7  
    113113Load-time effects of OPTIMIZE proclamations are well-defined but rarely intended, and many implementations limit the extent of those effects so that they don't persist after LOAD returns.  (At least one implementation that does so notes in its documentation that that behavior is not compliant with ANSI CL.)
    114114
     115CCL may be the only implementation that tries to be ANSI CL-compliant here; it's not clear that that's been doing users a lot of good, and people seem to be as casual about (mis-)use of the (DECLAIM (OPTIMIZE ...)) idiom as they've ever been.  In CCL 1.9, if the variable CCL:*LOAD-PRESERVES-OPTIMIZATION-SETTINGS* is true when LOAD is called, then any load-time changes to optimization settings will not persist after the call to LOAD returns.
     116
     117The default value of CCL:*LOAD-PRESERVES-OPTIMIZATION-SETTINGS* is NIL.  People who regularly compile a lot of third-party code and who don't like the act of loading that code to affect global optimization settings may want to set this variable to T in their init files.  The default value of this variable may change in future releases.
     118
     119=== Detecting character encoding/decoding problems ===
     120When decoding octets into characters from (e.g.) and input stream, CCL has traditionally generated a #\Replacement_Character if a sequence of octets doesn't represent a valid character in the stream's character-encoding.  Similarly, when trying to encode a character that can't be represented in a given encoding, a #\Replacement_character or a #\^Z (#\SUB) is generated instead.
    115121
    116122