0.8.16.26:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 2 Nov 2004 11:49:31 +0000 (11:49 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 2 Nov 2004 11:49:31 +0000 (11:49 +0000)
THE END (sort of)
... add new (enabled-by-default) :sb-unicode feature to
base-target-features.lisp-expr;
... make the system aware that loading fasls with the wrong feature
is a bad idea;
... one compiler fix for CHAR-FOO functions (the transforms have
to be on portably-unparseable types)

CREDITS
NEWS
base-target-features.lisp-expr
src/code/early-fasl.lisp
src/compiler/srctran.lisp
version.lisp-expr

diff --git a/CREDITS b/CREDITS
index 5c05a17..be6601d 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -610,7 +610,8 @@ Eric Marsden:
   Some of his fixes to CMU CL since the SBCL fork have been ported
   to SBCL.  He also maintains the cl-benchmark package, which gives
   us some idea of how our performance changes compared to earlier
-  releases and to other implementations.
+  releases and to other implementations.  He assisted in development
+  of Unicode support for SBCL.
 
 Antonio Martinez-Shotton:
   He has contributed a number of bug fixes and bug reports to SBCL.
@@ -682,6 +683,9 @@ Rudi Schlatte:
   string extractor that keeps function documentation in the manual
   current.
 
+Julian Squires:
+  He worked on Unicode support for the PowerPC platform.
+
 Nikodemus Siivola:
   He provided build fixes, in particular to tame the SunOS toolchain,
   implemented package locks, ported the linkage-table code from CMUCL,
@@ -697,7 +701,9 @@ Juho Snellman:
 
 Brian Spilsbury:
   He wrote Unicode-capable versions of SBCL's character, string, and
-  stream types and operations on them.
+  stream types and operations on them.  (These versions did not end up
+  in the system, but did to a large extent influence the support which
+  finally did get merged.)
 
 Raymond Toy:
   He continued to work on CMU CL after the SBCL fork, especially on
diff --git a/NEWS b/NEWS
index 8d00b75..974f9fa 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,12 @@
 changes in sbcl-0.8.17 relative to sbcl-0.8.16:
-  * the system now has rudimentary external-format support; the
-    primary user-visible change at this time is that characters with
-    the high bit set (such as lower-case-e-acute) will print correctly
-    to a terminal in a UTF-8 environment.
+  * new feature: a build-time option (controlled by the :SB-UNICODE
+    keyword feature, enabled by default) for building the system with
+    support for the entire 21-bit character space defined by the
+    Unicode consortium.
+  * new feature: the system now has rudimentary external-format
+    support; the primary user-visible change at this time is that
+    characters with the high bit set (such as lower-case-e-acute) will
+    print correctly to a terminal in a UTF-8 environment.
   * minor incompatible change: BASE-CHAR no longer names a class;
     however, CHARACTER continues to do so, as required by ANSI.
   * minor incompatible change: SB-DEBUG:*DEBUG-PRINT-FOO* variables
index 7b613dd..622a1b4 100644 (file)
  ;; code (when applied to user-level packages), relating to material
  ;; alteration to packages or to bindings in symbols in packages.
  :sb-package-locks
+
+ ;; Support for the entirety of the 21-bit character space defined by
+ ;; the Unicode consortium, rather than the classical 8-bit ISO-8859-1
+ ;; character set.
+ :sb-unicode
  
  ;; This affects the definition of a lot of things in bignum.lisp. It
  ;; doesn't seem to be documented anywhere what systems it might apply
index 9e95f1c..a5b95e6 100644 (file)
@@ -35,7 +35,7 @@
 
 (macrolet ((define-fasl-format-features ()
              (let (;; master value for *F-P-A-F-F*
-                  (fpaff '(:sb-thread :sb-package-locks)))
+                  (fpaff '(:sb-thread :sb-package-locks :sb-unicode)))
               `(progn
                  ;; a list of *(SHEBANG-)FEATURES* flags which affect
                  ;; binary compatibility, i.e. which must be the same
@@ -76,7 +76,7 @@
 ;;; versions which break binary compatibility. But it certainly should
 ;;; be incremented for release versions which break binary
 ;;; compatibility.
-(def!constant +fasl-file-version+ 51)
+(def!constant +fasl-file-version+ 52)
 ;;; (record of versions before 2003 deleted in 2003-04-26/0.pre8.107 or so)
 ;;; 38: (2003-01-05) changed names of internal SORT machinery
 ;;; 39: (2003-02-20) in 0.7.12.1 a slot was added to
 ;;; 50: (2004-05-20) Changed %COMPILER-DEFUN signature again.
 ;;; 51: (2004-07-24) Package locks (SBCL 0.8.12.7) changed signature of
 ;;;     %DEFPACKAGE.
+;;; 52: (2004-11-02) Merge of SB-UNICODE.
 
 ;;; the conventional file extension for our fasl files
 (declaim (type simple-string *fasl-file-type*))
index a5ccd02..9c832e3 100644 (file)
 \f
 ;;;; character operations
 
-(deftransform char-equal ((a b)
-                          ((character-set ((0 . 255)))
-                           (character-set ((0 . 255)))))
+(deftransform char-equal ((a b) (base-char base-char))
   "open code"
   '(let* ((ac (char-code a))
          (bc (char-code b))
                  (and (> sum 415) (< sum 461))
                  (and (> sum 463) (< sum 477))))))))
 
-(deftransform char-upcase ((x) ((character-set ((0 . 255)))))
+(deftransform char-upcase ((x) (base-char))
   "open code"
   '(let ((n-code (char-code x)))
      (if (or (and (> n-code #o140)     ; Octal 141 is #\a.
         (code-char (logxor #x20 n-code))
         x)))
 
-(deftransform char-downcase ((x) ((character-set ((0 . 255)))))
+(deftransform char-downcase ((x) (base-char))
   "open code"
   '(let ((n-code (char-code x)))
      (if (or (and (> n-code 64)                ; 65 is #\A.
index b1795c0..c9cbb67 100644 (file)
@@ -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.8.16.25"
+"0.8.16.26"