diff --git a/code/debug-info.lisp b/code/debug-info.lisp
index 452e3f1aec75d6ab66336b1f980e503c5c013502..18b7bbe61f394dd01447fe1380b016ea3099c3f5 100644
--- a/code/debug-info.lisp
+++ b/code/debug-info.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/debug-info.lisp,v 1.28 2009/06/11 16:03:57 rtoy Rel $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug-info.lisp,v 1.29 2010/01/22 13:36:06 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -468,6 +468,8 @@ function (which would be useful info anyway).
   ;; If from :LISP, this is the function whose source is form 0.
   ;; If from :STREAM, this is whatever was the :SOURCE-INFO argument to
   ;; COMPILE-FROM-STREAM.
+  ;; If from :FILE, this is the external format used to read from the
+  ;; file while compiling
   (info nil))
 
 
diff --git a/code/debug.lisp b/code/debug.lisp
index 370f615328269d1251a9ed2904c2466de0a1996a..7e5e061d1994321a82f229e6ebc687b800092f5c 100644
--- a/code/debug.lisp
+++ b/code/debug.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/debug.lisp,v 1.67 2009/09/15 15:47:10 rtoy Rel $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug.lisp,v 1.68 2010/01/22 13:36:06 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1479,7 +1479,9 @@ See the CMU Common Lisp User's Manual for more information.
 			  (pathname name)))
 	(setq *cached-readtable* nil)
 	(when *cached-source-stream* (close *cached-source-stream*))
-	(setq *cached-source-stream* (open name :if-does-not-exist nil))
+	(setq *cached-source-stream*
+	      (open name :if-does-not-exist nil
+		    :external-format (or (c::debug-source-info d-source) :default)))
 	(unless *cached-source-stream*
 	  (error "Source file no longer exists:~%  ~A." (namestring name)))
 	(format t "~%; File: ~A~%" (namestring name)))
diff --git a/compiler/debug-dump.lisp b/compiler/debug-dump.lisp
index 97bf78d92ca384c2bd2f510f8dd4101bbcced776..2e2b70ec4c6f7ecc0188d65e5c10d79150b23251 100644
--- a/compiler/debug-dump.lisp
+++ b/compiler/debug-dump.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/compiler/debug-dump.lisp,v 1.47 2004/04/06 20:44:01 rtoy Rel $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/debug-dump.lisp,v 1.48 2010/01/22 13:36:06 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -310,7 +310,8 @@ otherwise the truename."
 			  :start-positions
 			  (unless (eq *byte-compile* 't)
 			    (coerce-to-smallest-eltype
-			     (file-info-positions x)))))
+			     (file-info-positions x)))
+			  :info (source-info-external-format info)))
 		    (name (file-info-name x)))
 		(etypecase name
 		  ((member :stream :lisp)