diff --git a/code/exports.lisp b/code/exports.lisp
index 00b23272fb58d1d264fe9aa21eaa9c07a728f914..d9c2260bfb43278cab799059f6370ca67460dd62 100644
--- a/code/exports.lisp
+++ b/code/exports.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.283 2009/06/11 16:03:57 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/exports.lisp,v 1.284 2009/06/16 17:23:14 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -869,8 +869,10 @@
    "MAKE-LOAD-FORM" "MAKE-LOAD-FORM-SAVING-SLOTS"
    "CHAR-TITLECASE" "TITLE-CASE-P"
    "GLYPH" "SGLYPH"
-   "STRING-TO-NFD" "STRING-TO-NFKC" "STRING-TO-NFC" "STRING-TO-NFKD"
-   "CODEPOINT-LIMIT" "CODEPOINT"))
+   "STRING-TO-NFC"
+   "CODEPOINT-LIMIT" "CODEPOINT")
+  #+unicode
+  (:export "STRING-TO-NFD" "STRING-TO-NFKC"  "STRING-TO-NFKD"))
 
 (defpackage "EVAL"
   (:export "*EVAL-STACK-TRACE*" "*INTERNAL-APPLY-NODE-TRACE*"
diff --git a/code/string.lisp b/code/string.lisp
index d0344eae10df8b9f66be0609bc25945ca0cb96e9..107a51382285ac1b5d6a39108dc40e1e4b8a7ab0 100644
--- a/code/string.lisp
+++ b/code/string.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/string.lisp,v 1.13 2009/06/11 16:03:59 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/string.lisp,v 1.14 2009/06/16 17:23:15 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -20,13 +20,15 @@
 	  string= string-equal string< string> string<= string>= string/=
 	  string-lessp string-greaterp string-not-lessp string-not-greaterp
 	  string-not-equal
-	  string-to-nfd string-to-nfkd string-to-nfc string-to-nfkc
+	  string-to-nfc
 	  make-string
 	  string-trim string-left-trim string-right-trim
 	  string-upcase
 	  string-downcase string-capitalize nstring-upcase nstring-downcase
 	  nstring-capitalize))
 
+#+unicode
+(export '(string-to-nfd string-to-nfkd string-to-nfkc))
 
 (declaim (inline surrogatep surrogates-to-codepoint codepoint surrogates))
 
@@ -1173,6 +1175,8 @@
 
 
 
+#+unicode
+(progn
 (defun decompose (string &optional (compatibility t))
   (declare (type string string))
   (let ((result (make-string (cond ((< (length string) 40)
@@ -1292,7 +1296,7 @@
 	      (codepoint target decomp-pos len)
 	    (when wide (incf decomp-pos))
 	    (let ((ch-class (unicode-combining-class ch))
-		  (composite (get-pairwise-composition starter-ch ch)))
+		  (composite (unicode-pairwise-composition starter-ch ch)))
 	      (declare (type (integer 0 256) ch-class))
 	      (cond ((and composite
 			  (or (< last-class ch-class) (zerop last-class)))
@@ -1324,7 +1328,6 @@
   compatible decomposition form.  The NFKD string is returned."
   (decompose string t))
 
-#+unicode
 (defun string-to-nfc (string)
   "Convert String to Unicode Normalization Form C (NFC).  If the
   string a simple string and is already normalized, the original
@@ -1336,10 +1339,6 @@
 		  (%compose (string-to-nfd string)))
 	      'simple-string)))
 
-#-unicode  ;; Needed by package.lisp
-(defun string-to-nfc (string)
-  (if (simple-string-p string) string (coerce string 'simple-string)))
-
 (defun string-to-nfkc (string)
   "Convert String to Unicode Normalization Form KC (NFKC).  If the
   string is a simple string and is already normalized, the original
@@ -1350,3 +1349,9 @@
 		  (%compose (copy-seq string))
 		  (%compose (string-to-nfkd string)))
 	      'simple-string)))
+) ; end unicode
+
+#-unicode  ;; Needed by package.lisp
+(defun string-to-nfc (string)
+  (if (simple-string-p string) string (coerce string 'simple-string)))
+
diff --git a/code/unidata.lisp b/code/unidata.lisp
index 5781451a15ec9f4f26c85baf0287c1150871cd1b..b261d25786abd8144c0e942cda1f75fc026cfe7f 100644
--- a/code/unidata.lisp
+++ b/code/unidata.lisp
@@ -4,7 +4,7 @@
 ;;; This code was written by Paul Foley and has been placed in the public
 ;;; domain.
 ;;; 
-(ext:file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/unidata.lisp,v 1.2 2009/06/11 16:03:59 rtoy Exp $")
+(ext:file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/unidata.lisp,v 1.3 2009/06/16 17:23:15 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1042,7 +1042,7 @@
 		   (+ c1 index-t)))))))))
 	     
 
-(defun get-pairwise-composition (c1 c2)
+(defun unicode-pairwise-composition (c1 c2)
   (declare (type codepoint c1 c2)
 	   (optimize (speed 3)))
   (unless *composition-pair-table*