Home | History | Annotate | Line # | Download | only in lisp
      1 /*
      2  * Copyright (c) 2001 by The XFree86 Project, Inc.
      3  *
      4  * Permission is hereby granted, free of charge, to any person obtaining a
      5  * copy of this software and associated documentation files (the "Software"),
      6  * to deal in the Software without restriction, including without limitation
      7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      8  * and/or sell copies of the Software, and to permit persons to whom the
      9  * Software is furnished to do so, subject to the following conditions:
     10  *
     11  * The above copyright notice and this permission notice shall be included in
     12  * all copies or substantial portions of the Software.
     13  *
     14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     17  * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     18  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
     19  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     20  * SOFTWARE.
     21  *
     22  * Except as contained in this notice, the name of the XFree86 Project shall
     23  * not be used in advertising or otherwise to promote the sale, use or other
     24  * dealings in this Software without prior written authorization from the
     25  * XFree86 Project.
     26  *
     27  * Author: Paulo Csar Pereira de Andrade
     28  */
     29 
     30 /* $XFree86: xc/programs/xedit/lisp/debugger.h,v 1.7tsi Exp $ */
     31 
     32 #ifndef Lisp_debugger_h
     33 #define Lisp_debugger_h
     34 
     35 /*
     36  * Definitions
     37  */
     38 #define	DBGPROMPT	"DEBUG> "
     39 #ifdef DEBUGGER
     40 
     41 /*
     42  * Types
     43  */
     44 typedef enum _LispDebugState {
     45     LispDebugUnspec,	/* initial state */
     46     LispDebugRun,	/* just run, until breakpoint or error */
     47     LispDebugFinish,	/* evaluates until selected form is finished */
     48     LispDebugNext,	/* evaluate form */
     49     LispDebugStep	/* evaluate form, and step on subforms */
     50 } LispDebugState;
     51 
     52 typedef enum _LispDebugCall {
     53     LispDebugCallBegin,
     54     LispDebugCallEnd,
     55     LispDebugCallFatal,
     56     LispDebugCallWatch	/* just remove watched variables that lost context */
     57 } LispDebugCall;
     58 
     59 typedef enum _LispDebugBreak {
     60     LispDebugBreakFunction,
     61     LispDebugBreakVariable
     62 } LispDebugBreak;
     63 
     64 #include "lisp/private.h"
     65 
     66 /*
     67  * Prototypes
     68  */
     69 void LispDebugger(LispDebugCall, LispObj*, LispObj*);
     70 
     71 #endif /* DEBUGGER */
     72 #endif /* Lisp_debugger_h */
     73