[armedbear-cvs] r11668 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Thu Feb 19 07:29:23 UTC 2009
Author: ehuelsmann
Date: Thu Feb 19 07:29:20 2009
New Revision: 11668
Log:
Prevent CLOS from kicking in on TRACE; makes sure the compiler doesn't get called to compile
an effective-method-function. Enables TRACEing the compiler.
Modified:
trunk/abcl/src/org/armedbear/lisp/trace.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/trace.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/trace.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/trace.lisp Thu Feb 19 07:29:20 2009
@@ -34,8 +34,6 @@
(export 'untraced-function) ;; For FIND-GENERIC-FUNCTION in clos.lisp.
(require "FORMAT")
-(require "CLOS") ;; XXX This eventually blows up in the compiler, but
- ;; works for a while.
(defvar *trace-info-hashtable* (make-hash-table :test #'equal))
@@ -43,9 +41,6 @@
(defvar *trace-depth* 0
"Current depth of stack push for use of TRACE facility.")
-;; XXX How can we "punt" on this form ???
-(defmethod make-load-form ((object trace-info) &optional environment)
- (make-load-form-saving-slots object :environment environment))
(defun list-traced-functions ()
(copy-list *traced-names*))
@@ -63,9 +58,8 @@
(setf breakp (nth (1+ index) args))
(setf args (append (subseq args 0 index) (subseq args (+ index 2))))))
(dolist (arg args)
- (let ((info (make-trace-info :name arg
- :breakp breakp)))
- (push `(trace-1 ',arg ,info) results)))
+ (push `(trace-1 ',arg (make-trace-info :name ',arg
+ :breakp ,breakp)) results))
`(list ,@(nreverse results))))
(defun trace-1 (name info)
More information about the armedbear-cvs
mailing list