[slime-cvs] CVS slime

trittweiler trittweiler at common-lisp.net
Thu Apr 24 18:51:04 UTC 2008


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv11154

Modified Files:
	swank-backend.lisp 
Log Message:

* swank-backend.lisp: Clarified docstrings of interface functions
  in the Debugging section.


--- /project/slime/cvsroot/slime/swank-backend.lisp	2008/04/17 14:56:43	1.131
+++ /project/slime/cvsroot/slime/swank-backend.lisp	2008/04/24 18:51:03	1.132
@@ -612,16 +612,6 @@
 user without (re)entering the debugger by wrapping them as
 `sldb-condition's."))
 
-(definterface compute-backtrace (start end)
-   "Return a list containing a backtrace of the condition current
-being debugged.  The results are unspecified if this function is
-called outside the dynamic contour CALL-WITH-DEBUGGING-ENVIRONMENT.
-
-START and END are zero-based indices constraining the number of frames
-returned.  Frame zero is defined as the frame which invoked the
-debugger.  If END is nil, return the frames from START to the end of
-the stack.")
-
 (definterface compute-sane-restarts (condition)
   "This is an opportunity for Lisps such as CLISP to remove
 unwanted restarts from the output of CL:COMPUTE-RESTARTS,
@@ -629,28 +619,48 @@
 what the default implementation does."
   (compute-restarts condition))
 
+;;; The following functions in this section are supposed to be called
+;;; within the dynamic contour of CALL-WITH-DEBUGGING-ENVIRONMENT only.
+
+(definterface compute-backtrace (start end)
+   "Returns a backtrace of the condition currently being debugged,
+that is an ordered list consisting of frames. (What constitutes a
+frame is implementation dependent, but PRINT-FRAME must be defined on
+it.)
+
+``Ordered list'' means that the i-th. frame is associated to the
+frame-number i.
+
+START and END are zero-based indices constraining the number of frames
+returned.  Frame zero is defined as the frame which invoked the
+debugger.  If END is nil, return the frames from START to the end of
+the stack.")
+
 (definterface print-frame (frame stream)
   "Print frame to stream.")
 
 (definterface frame-source-location-for-emacs (frame-number)
-  "Return the source location for FRAME-NUMBER.")
+  "Return the source location for the frame associated to FRAME-NUMBER.")
 
 (definterface frame-catch-tags (frame-number)
-  "Return a list of XXX list of what? catch tags for a debugger
-stack frame.  The results are undefined unless this is called
-within the dynamic contour of a function defined by
-DEFINE-DEBUGGER-HOOK.")
+  "Return a list of catch tags for being printed in a debugger stack
+frame.")
 
 (definterface frame-locals (frame-number)
-  "Return a list of XXX local variable designators define me
-for a debugger stack frame.  The results are undefined unless
-this is called within the dynamic contour of a function defined
-by DEFINE-DEBUGGER-HOOK.")
-
-(definterface frame-var-value (frame var)
-  "Return the value of VAR in FRAME.  
-FRAME is the number of the frame in the backtrace.
-VAR is the number of the variable in the frame.")
+  "Return a list of ((&key NAME ID VALUE) ...) where each element of
+the list represents a local variable in the stack frame associated to
+FRAME-NUMBER.
+
+NAME, a symbol; the name of the local variable.
+
+ID, an integer; used as primary key for the local variable, unique
+relatively to the frame under operation.
+
+value, an object; the value of the local variable.")
+
+(definterface frame-var-value (frame-number var-id)
+  "Return the value of the local variable associated to VAR-ID
+relatively to the frame associated to FRAME-NUMBER.")
 
 (definterface disassemble-frame (frame-number)
   "Disassemble the code for the FRAME-NUMBER.
@@ -659,8 +669,7 @@
 
 (definterface eval-in-frame (form frame-number)
    "Evaluate a Lisp form in the lexical context of a stack frame
-in the debugger.  The results are undefined unless called in the
-dynamic contour of a function defined by DEFINE-DEBUGGER-HOOK.
+in the debugger.
 
 FRAME-NUMBER must be a positive integer with 0 indicating the
 frame which invoked the debugger.




More information about the slime-cvs mailing list