>>>>> "ctu" == ctu  <[EMAIL PROTECTED]> writes:

    ctu> ok. it works on your example. but if i defun your anonymous function, the 
    ctu> result is not as nice :

    ctu> * (defun f2 (a) (princ a) (incf a) (princ a) a)
    ctu> F2

Try this.  This is based on the example from the CMU User's manual.

* (defun f2 (a) (princ a) (incf a) (princ a) a)

* (compile 'f2) ; things tend to work much better when compiled

* (error "") ; To get to the debugger



Error in function INTERACTIVE-EVAL:  
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [ABORT] Return to Top-Level.

Debug  (type H for help)

(INTERACTIVE-EVAL (ERROR ""))
Source: (EVAL FORM)
0] bp 1 :function #'f2  ; Set breakpoint #1 at the function f2.
(PRINC A)
1: 1 in F2
Added.
0] 0

* (f2 17)


*Breakpoint hit*
   [Condition of type SIMPLE-CONDITION]

Restarts:
  0: [CONTINUE] Return from BREAK.
  1: [ABORT   ] Return to Top-Level.

Debug  (type H for help)

(F2 0)
Source: (PRINC A)
3] step


*Step*
   [Condition of type DEBUG::STEP-CONDITION]

(F2 #<unavailable-arg>)
Source: (INCF A)
3] step


*Step*
   [Condition of type DEBUG::STEP-CONDITION]

(F2 16)
Source: (PRINC A)
3] step


*Step*
   [Condition of type DEBUG::STEP-CONDITION]

(F2 18)
Source: #'(LAMBDA (A) (BLOCK F2 (PRINC A) (INCF A) (PRINC A) A))
3] step
1718
18
* 

The User's manual has lots of good information.

Ray


Reply via email to