(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)(FILECREATED "16-May-90 15:24:15" |{DSK}<usr>local>lde>lispcore>sources>DEBUGEDIT.;2| 4300         |changes| |to:|  (VARS DEBUGEDITCOMS)      |previous| |date:| "12-Jan-88 18:16:06" |{DSK}<usr>local>lde>lispcore>sources>DEBUGEDIT.;1|); Copyright (c) 1986, 1988, 1990 by Venue & Xerox Corporation.  All rights reserved.(PRETTYCOMPRINT DEBUGEDITCOMS)(RPAQQ DEBUGEDITCOMS ((COMMANDS "EDIT")                          (FUNCTIONS EDIT-IN-FNS EDIT-IN-FUNCTION FIND-EDIT-LOCATION                                  FIND-EDIT-LOCATION-TAIL)                          (PROP FILETYPE DEBUGEDIT)))(DEFCOMMAND ("EDIT" :DEBUGGER) ()   "Edit call to function at LASTPOS"   (DECLARE (CL:SPECIAL BRKVALUES))   (RESETLST       (LET ((POS (STKNTH 0 LASTPOS))             SEEN NAME DEF)            (RESETSAVE NIL (LIST 'RELSTK POS))            (WHILE POS FINALLY (RETURN "Can't")               DO (SETQ NAME (STKNAME POS))                     (COND                        ((NOT (CL:SYMBOLP NAME))             (* \;                                                            "non-symbol names are not editable?")                         )                        ((FMEMB NAME '(EVAL CL:EVAL))                         (CL:PUSH (STKARG 1 POS)                                SEEN)                        (* \; "remember EVALs as lists")                         )                        (T (COND                              ((AND (EXPRP NAME)                                    (OR (AND (SETQ DEF (GETDEF NAME 'FUNCTIONS NIL                                                              '(EDIT NOERROR NOCOPY)))                                             (EDIT-IN-FUNCTION NAME DEF SEEN))                                        (EDIT-IN-FNS NAME (GETD NAME)                                               SEEN)))                               (CL:SETF BRKVALUES (LIST ':REVERT (STKARGS POS)                                                        (STKNTH 0 POS)                                                        NAME))                               (RETURN NAME))                              (T (CL:PUSH NAME SEEN)))))                     (SETQ POS (STKNTH -1 POS POS))))))(CL:DEFUN EDIT-IN-FNS (NAME DEF SEEN)   (* |;;| "NOT YET")   (LET ((LOC (FIND-EDIT-LOCATION DEF SEEN)))        (EDITDEF NAME 'FNS (CONS '= DEF)               (AND LOC `((ORR ((F= ,LOC)))                          TTY\:)))        (OR NAME T)))(CL:DEFUN EDIT-IN-FUNCTION (NAME DEF SEEN)   (LET ((LOC (FIND-EDIT-LOCATION DEF SEEN)))        (EDITDEF NAME 'FUNCTIONS (CONS '= DEF)               (AND LOC `((ORR ((F= ,LOC)))                          TTY\:)))        (OR NAME T)))(CL:DEFUN FIND-EDIT-LOCATION (DEFINITION SEEN)   "return edit location in DEFINITION of lowest caller in SEEN found"   (LET ((*REMOVE-INTERLISP-COMMENTS* (EQ *REMOVE-INTERLISP-COMMENTS* T))                                                             (* \; " if :WARN set to NIL")         (EXPRS (REVERSE SEEN))         FOUND)        (WHILE EXPRS DO (COND                                   ((NLISTP (CAR EXPRS))                                    (POP EXPRS))                                   ((SETQ FOUND (AND (LISTP (CAR EXPRS))                                                     (FIND-EDIT-LOCATION-TAIL DEFINITION (CAR EXPRS)                                                            NIL)))                                    (AND (NULL (CDR FOUND))                                         (RETURN (CAR FOUND))))))))(CL:DEFUN FIND-EDIT-LOCATION-TAIL (X EXPRESSION OTHERS)   (COND      ((NLISTP X)       OTHERS)      ((EQ (CAAR X)           '*)       (* |;;| "ignore comments")       (FIND-EDIT-LOCATION-TAIL (CDR X)              EXPRESSION OTHERS))      ((EQUAL EXPRESSION (REMOVE-COMMENTS X))       (CONS X OTHERS))      (T (FIND-EDIT-LOCATION-TAIL (CDR X)                EXPRESSION                (FIND-EDIT-LOCATION-TAIL (CAR X)                       EXPRESSION OTHERS)))))(PUTPROPS DEBUGEDIT FILETYPE CL:COMPILE-FILE)(PUTPROPS DEBUGEDIT COPYRIGHT ("Venue & Xerox Corporation" 1986 1988 1990))(DECLARE\: DONTCOPY  (FILEMAP (NIL)))STOP