From a8a4f4a1f6a887effc79a54a1d93c5976ff3dd43 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Tue, 20 Jul 2010 21:34:30 +0000
Subject: [PATCH] Need to precompile the ef slots for both unicode and
 non-unicode builds.  (This was broken in the 2010-04 snapshot.)

code/fd-stream-comp.lisp:
o Precompile ef slots there for ISO8859-1.

code/fd-stream-extfmts.lisp:
o Remove the precompile stuff.

tools/worldcom.lisp:
o Compile fd-stream-comp.

tools/worldload.lisp:
o Load fd-stream-comp.
---
 code/fd-stream-comp.lisp   | 29 +++++++++++++++++++++++++++++
 code/fd-stream-extfmt.lisp |  9 +--------
 tools/worldcom.lisp        |  3 ++-
 tools/worldload.lisp       |  4 +++-
 4 files changed, 35 insertions(+), 10 deletions(-)
 create mode 100644 code/fd-stream-comp.lisp

diff --git a/code/fd-stream-comp.lisp b/code/fd-stream-comp.lisp
new file mode 100644
index 000000000..4d4df5711
--- /dev/null
+++ b/code/fd-stream-comp.lisp
@@ -0,0 +1,29 @@
+;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Package: LISP -*-
+;;;
+;;; **********************************************************************
+;;; This has been placed in the public domain.
+;;; 
+(ext:file-comment
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream-comp.lisp,v 1.1 2010/07/20 21:34:29 rtoy Rel $")
+;;;
+;;; **********************************************************************
+;;;
+;;; Precompile builtin external-formats.
+
+(in-package "LISP")
+
+(intl:textdomain "cmucl")
+
+;; The external format :iso8859-1 is builtin so we want all of the
+;; basic methods to be compiled so that they don't have to be compiled
+;; at runtime.  There are issues if we don't do this.
+;;
+;; These are needed for both unicode and non-unicode Lisps.
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-cin+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-cout+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-sout+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-os+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-so+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-en+)
+(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-de+)
+
diff --git a/code/fd-stream-extfmt.lisp b/code/fd-stream-extfmt.lisp
index 5b8edb62f..6f27ce37d 100644
--- a/code/fd-stream-extfmt.lisp
+++ b/code/fd-stream-extfmt.lisp
@@ -5,7 +5,7 @@
 ;;; domain.
 ;;; 
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream-extfmt.lisp,v 1.9 2010/07/02 02:50:35 rtoy Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream-extfmt.lisp,v 1.10 2010/07/20 21:34:29 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -119,12 +119,5 @@
     extfmt))
 
 
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-cin+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-cout+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-sout+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-os+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-so+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-en+)
-(stream::precompile-ef-slot :iso8859-1 #.stream::+ef-de+)
 
 (setf lisp::*enable-stream-buffer-p* t)
diff --git a/tools/worldcom.lisp b/tools/worldcom.lisp
index 659fffcb2..c7248a3e0 100644
--- a/tools/worldcom.lisp
+++ b/tools/worldcom.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldcom.lisp,v 1.103 2010/03/19 15:19:04 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldcom.lisp,v 1.104 2010/07/20 21:34:30 rtoy Rel $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -246,6 +246,7 @@
 (comf "target:code/fd-stream")
 (when (c:backend-featurep :unicode)
   (comf "target:code/fd-stream-extfmt"))
+(comf "target:code/fd-stream-comp")
 (comf "target:code/pathname")
 #-no-runtime (comf "target:code/pathname" :byte-compile t)
 (comf "target:code/filesys")
diff --git a/tools/worldload.lisp b/tools/worldload.lisp
index b715c2b60..fbe3eb365 100644
--- a/tools/worldload.lisp
+++ b/tools/worldload.lisp
@@ -6,7 +6,7 @@
 ;;; If you want to use this code or any part of CMU Common Lisp, please contact
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.111 2010/03/19 15:19:04 rtoy Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/tools/worldload.lisp,v 1.112 2010/07/20 21:34:30 rtoy Rel $
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -164,6 +164,8 @@
 #+(and unicode (not (or unicode-bootstrap no-compiler runtime)))
 (maybe-byte-load "code:fd-stream-extfmt")
 
+(maybe-byte-load "code:fd-stream-comp")
+
 (maybe-byte-load "target:code/intl")
 
 
-- 
GitLab