From f38a09ee4aec92b2382728f79a72ac4e8659989f Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Mon, 8 Mar 2010 20:43:20 +0000
Subject: [PATCH] Bind *readtable* to the standard table when compiling the
 external format in case the user has set a non-standard readtable that can't
 process the external format.

---
 code/extfmts.lisp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/code/extfmts.lisp b/code/extfmts.lisp
index ef7012b07..97d7f7629 100644
--- a/code/extfmts.lisp
+++ b/code/extfmts.lisp
@@ -5,7 +5,7 @@
 ;;; domain.
 ;;; 
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/extfmts.lisp,v 1.20 2009/10/18 14:21:23 rtoy Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/extfmts.lisp,v 1.21 2010/03/08 20:43:20 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -362,6 +362,10 @@
       (and (consp name) (find-external-format name))
       (and (let ((*package* (find-package "STREAM"))
 		 (lisp::*enable-package-locked-errors* nil)
+		 ;; The standard readtable is what we want to use when
+		 ;; compiling the external format, in case the user
+		 ;; has changed *readtable* in some way.
+		 (*readtable* (copy-readtable nil))
 		 (s (open (format nil "ext-formats:~(~A~).lisp" name)
 			  :if-does-not-exist nil :external-format :iso8859-1)))
 	     (when s
-- 
GitLab