15dfecf96Smrg/* 25dfecf96Smrg * Copyright (c) 2001 by The XFree86 Project, Inc. 35dfecf96Smrg * 45dfecf96Smrg * Permission is hereby granted, free of charge, to any person obtaining a 55dfecf96Smrg * copy of this software and associated documentation files (the "Software"), 65dfecf96Smrg * to deal in the Software without restriction, including without limitation 75dfecf96Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 85dfecf96Smrg * and/or sell copies of the Software, and to permit persons to whom the 95dfecf96Smrg * Software is furnished to do so, subject to the following conditions: 105dfecf96Smrg * 115dfecf96Smrg * The above copyright notice and this permission notice shall be included in 125dfecf96Smrg * all copies or substantial portions of the Software. 135dfecf96Smrg * 145dfecf96Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 155dfecf96Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 165dfecf96Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 175dfecf96Smrg * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 185dfecf96Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 195dfecf96Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 205dfecf96Smrg * SOFTWARE. 215dfecf96Smrg * 225dfecf96Smrg * Except as contained in this notice, the name of the XFree86 Project shall 235dfecf96Smrg * not be used in advertising or otherwise to promote the sale, use or other 245dfecf96Smrg * dealings in this Software without prior written authorization from the 255dfecf96Smrg * XFree86 Project. 265dfecf96Smrg * 275dfecf96Smrg * Author: Paulo César Pereira de Andrade 285dfecf96Smrg */ 295dfecf96Smrg 305dfecf96Smrg/* $XFree86: xc/programs/xedit/lisp/debugger.h,v 1.7tsi Exp $ */ 315dfecf96Smrg 325dfecf96Smrg#ifndef Lisp_debugger_h 335dfecf96Smrg#define Lisp_debugger_h 345dfecf96Smrg 355dfecf96Smrg/* 365dfecf96Smrg * Definitions 375dfecf96Smrg */ 385dfecf96Smrg#define DBGPROMPT "DEBUG> " 395dfecf96Smrg#ifdef DEBUGGER 405dfecf96Smrg 415dfecf96Smrg/* 425dfecf96Smrg * Types 435dfecf96Smrg */ 445dfecf96Smrgtypedef enum _LispDebugState { 455dfecf96Smrg LispDebugUnspec, /* initial state */ 465dfecf96Smrg LispDebugRun, /* just run, until breakpoint or error */ 475dfecf96Smrg LispDebugFinish, /* evaluates until selected form is finished */ 485dfecf96Smrg LispDebugNext, /* evaluate form */ 495dfecf96Smrg LispDebugStep /* evaluate form, and step on subforms */ 505dfecf96Smrg} LispDebugState; 515dfecf96Smrg 525dfecf96Smrgtypedef enum _LispDebugCall { 535dfecf96Smrg LispDebugCallBegin, 545dfecf96Smrg LispDebugCallEnd, 555dfecf96Smrg LispDebugCallFatal, 565dfecf96Smrg LispDebugCallWatch /* just remove watched variables that lost context */ 575dfecf96Smrg} LispDebugCall; 585dfecf96Smrg 595dfecf96Smrgtypedef enum _LispDebugBreak { 605dfecf96Smrg LispDebugBreakFunction, 615dfecf96Smrg LispDebugBreakVariable 625dfecf96Smrg} LispDebugBreak; 635dfecf96Smrg 645dfecf96Smrg#include "lisp/private.h" 655dfecf96Smrg 665dfecf96Smrg/* 675dfecf96Smrg * Prototypes 685dfecf96Smrg */ 695dfecf96Smrgvoid LispDebugger(LispDebugCall, LispObj*, LispObj*); 705dfecf96Smrg 715dfecf96Smrg#endif /* DEBUGGER */ 725dfecf96Smrg#endif /* Lisp_debugger_h */ 73