[armedbear-cvs] r14125 - trunk/abcl/src/org/armedbear/lisp
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sat Aug 18 13:49:38 UTC 2012
Author: ehuelsmann
Date: Sat Aug 18 06:49:37 2012
New Revision: 14125
Log:
Break circular dependency when printing errors when FORMAT
isn't fully autoloaded.
Modified:
trunk/abcl/src/org/armedbear/lisp/format.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/format.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/format.lisp Sat Aug 18 06:47:12 2012 (r14124)
+++ trunk/abcl/src/org/armedbear/lisp/format.lisp Sat Aug 18 06:49:37 2012 (r14125)
@@ -33,6 +33,16 @@
(in-package "SYSTEM")
+;; If we're here due to an autoloader,
+;; we should prevent a circular dependency:
+;; when the debugger tries to print an error,
+;; it autoloads us, but if that autoloading causes
+;; another error, it circularly starts autoloading us.
+;;
+;; So, we replace whatever is in the function slot until
+;; we can reliably call FORMAT
+(setf (symbol-function 'format) #'sys::%format)
+
(require "PRINT-OBJECT")
;;; From primordial-extensions.lisp.
More information about the armedbear-cvs
mailing list