]> code.delx.au - gnu-emacs-elpa/blob - packages/realgud/realgud/debugger/trepan.pl/backtrack-mode.el
Add 'packages/realgud/' from commit 'd811316e6a0f4eeee8a1347f504c196c86baa2cb'
[gnu-emacs-elpa] / packages / realgud / realgud / debugger / trepan.pl / backtrack-mode.el
1 ;;; Copyright (C) 2011, 2014 Rocky Bernstein <rocky@gnu.org>
2
3 ;;; Mode for parsing various kinds of backtraces found in Perl
4
5 (eval-when-compile (require 'cl))
6 (require 'load-relative)
7 (require-relative-list '(
8 "../../common/cmds"
9 "../../common/menu"
10 "../../common/track-mode"
11 "../../common/backtrack-mode"
12 )
13 "realgud-")
14 (require-relative-list '("core" "init") "realgud:trepanpl-")
15 (require-relative-list '("../../lang/perl") "realgud-lang-")
16
17 (declare-function realgud-goto-line-for-pt
18 'realgud-track-mode)
19 (declare-function realgud-backtrack-set-debugger
20 'realgud-common-backtrack-mode)
21 (declare-function realgud-perl-populate-command-keys
22 'realgud-lang-perl)
23
24 (realgud-backtrack-mode-vars "trepanpl")
25 (set-keymap-parent trepanpl-backtrack-mode-map realgud-backtrack-mode-map)
26
27 (declare-function realgud-backtrack-mode(bool))
28
29 (defun realgud:trepanpl-goto-control-frame-line (pt)
30 "Display the location mentioned by a control-frame line
31 described by PT."
32 (interactive "d")
33 (realgud-goto-line-for-pt pt "control-frame"))
34
35 (realgud-perl-populate-command-keys trepanpl-backtrack-mode-map)
36 (define-key trepanpl-backtrack-mode-map
37 (kbd "C-c !c") 'realgud:trepanpl-goto-control-frame-line)
38
39 (define-minor-mode trepanpl-backtrack-mode
40 "Minor mode for tracking ruby debugging inside a file which may not have process shell."
41 :init-value nil
42 ;; :lighter " trepanpl" ;; mode-line indicator from realgud-track is sufficient.
43 ;; The minor mode bindings.
44 :global nil
45 :group 'realgud:trepanpl
46 :keymap trepanpl-backtrack-mode-map
47
48 (realgud-backtrack-set-debugger "trepan.pl")
49 (if trepanpl-backtrack-mode
50 (progn
51 (realgud-backtrack-mode 't)
52 (run-mode-hooks (intern (trepanpl-backtrack-mode-hook))))
53 (progn
54 (realgud-backtrack-mode nil)
55 ))
56 )
57
58 (defun trepanpl-backtrack-mode-hook()
59 (if trepanpl-backtrack-mode
60 (progn
61 (use-local-map trepanpl-backtrack-mode-map)
62 (message "using trepanpl mode map")
63 )
64 (message "trepan.pl backtrack-mode-hook disable called"))
65 )
66
67 (provide-me "realgud:trepanpl-")