home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / may94 / util / edit / jade.lha / Jade / lisp / debug.jlc < prev    next >
Text File  |  1994-04-20  |  2KB  |  31 lines

  1.  
  2. (provide (quote debug))
  3.  
  4. (setq debug-buffer (make-buffer "*debugger*") debug-keymap (make-keylist))
  5.  
  6. (set-buffer-special debug-buffer t)
  7.  
  8. (add-buffer debug-buffer)
  9.  
  10. (bind-keys debug-keymap "z" (quote debug-step-into) "s" (quote (debug-set-result nil)) "t" (quote debug-step-over) "r" (quote debug-full-speed) "b" (quote (debug-backtrace 2)) "esc" (quote (debug-set-result (eval (read (prompt "Eval: "))))) "c" (quote (debug-continue nil)) "d" (quote (debug-continue t)))
  11.  
  12. (with-buffer debug-buffer (setq ctrl-c-keymap debug-keymap) (split-line) (insert "::Lisp Debugger::\n\nctrl-c z   : step into form\nctrl-c s   : skip form\nctrl-c t   : step over form\nctrl-c r   : run full speed\nctrl-c b   : print backtrace\nctrl-c esc : set value of form\nctrl-c c   : continue after error\nctrl-c d   : break after error\n\n"))
  13.  
  14. (defun debug-entry (debug-obj debug-depth) (lisp-code "±\t\tH†‡ˆY\t‰ HŠ‹Œ\t\n\tHŽsG±H" [debug-buffer goto line-start file-end format "%s%S\n" make-string 2 debug-depth debug-obj next-line 1 indent-pos prev-line (lisp-code "" [recursive-edit] 1) (quote debug-entry)] 7))
  15.  
  16. (defun debug-exit (debug-val debug-depth) (lisp-code "±\t\tH†‡ˆY\t‰ G±H" [debug-buffer goto line-start file-end format "%s=> %S\n" make-string 2 debug-depth debug-val] 7))
  17.  
  18. (defun debug-error-entry (error-list) (lisp-code "±\t\tH†L‡zÿ€˜†L†M Hˆ‰sG±H" [debug-buffer goto line-start file-end format "*** Error: %s: %S\n" error-list error-message (lisp-code "HI" [recursive-edit] 1) (quote debug-error-entry)] 6))
  19.  
  20. (defun debug-step-into nil (lisp-code "xü€Ktû€" [debug-obj debug-entry 1 beep] 3))
  21.  
  22. (defun debug-set-result (value) (lisp-code "xü€Ktû€" [debug-obj debug-entry 4 value beep] 3))
  23.  
  24. (defun debug-step-over nil (lisp-code "xü€Ktû€" [debug-obj debug-entry 2 beep] 3))
  25.  
  26. (defun debug-full-speed nil (lisp-code "xü€Ktû€" [debug-obj debug-entry 3 beep] 3))
  27.  
  28. (defun debug-continue (&optional break-p) (lisp-code "xü€‹tû€" [error-list debug-error-entry break-p beep] 2))
  29.  
  30. (defun debug-backtrace (depth) (lisp-code "\t\tHD4†\tH‡ˆ‰hŠ\t\n\nH‹E" [goto line-start file-end cursor-pos old-pos backtrace debug-buffer delete-area next-line depth dup-pos split-line] 6))
  31.