Raymond Toy <[EMAIL PROTECTED]> writes:

>>>>>> "Jim" == Jim Newton <[EMAIL PROTECTED]> writes:
>
>     Jim> I quite often get problems trying to recompile or redefine functions
>     Jim> that are being profiled.  Is this just something one should never do
>     Jim> or would it be considered a bug?
>
> Yes, it's a bug.  No, I don't know why it happens or how to fix it.

Jim's backtrace shows that the CALLERS-P slot of PROFILE-INFO, which
is declared BOOLEAN, is initialized with something not being T or NIL.
I think this can happen in two places in profile.lisp.  

--- profile.lisp        28 Sep 2004 18:43:26 +0200      1.39
+++ profile.lisp        26 Mai 2005 10:17:54 +0200      
@@ -427,7 +427,7 @@
          (unless names (return))
          (let ((name (pop names)))
            (cond ((eq name :callers)
-                  (setq callers (pop names)))
+                  (setq callers (not (null (pop names))))
                  ;;
                  ;; Method functions.
                  #+pcl
@@ -542,7 +542,7 @@
   (let (f)
     (when (and (fboundp name)
               (setq f (find-profile-fwrapper name)))
-      (profile-1-function name (pi-callers (fwrapper-user-data f))))))
+      (profile-1-function name (pi-callers-p (fwrapper-user-data f))))))
 
 (push #'re-profile-redefined-function ext:*setf-fdefinition-hook*)
 





Reply via email to