1 ;;; Copyright (C) 2011, 2014 Rocky Bernstein <rocky@gnu.org>
3 ;;; Mode for parsing various kinds of backtraces found in Perl
5 (eval-when-compile (require 'cl))
6 (require 'load-relative)
7 (require-relative-list '(
10 "../../common/track-mode"
11 "../../common/backtrack-mode"
14 (require-relative-list '("core" "init") "realgud:trepanpl-")
15 (require-relative-list '("../../lang/perl") "realgud-lang-")
17 (declare-function realgud-goto-line-for-pt
19 (declare-function realgud-backtrack-set-debugger
20 'realgud-common-backtrack-mode)
21 (declare-function realgud-perl-populate-command-keys
24 (realgud-backtrack-mode-vars "trepanpl")
25 (set-keymap-parent trepanpl-backtrack-mode-map realgud-backtrack-mode-map)
27 (declare-function realgud-backtrack-mode(bool))
29 (defun realgud:trepanpl-goto-control-frame-line (pt)
30 "Display the location mentioned by a control-frame line
33 (realgud-goto-line-for-pt pt "control-frame"))
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)
39 (define-minor-mode trepanpl-backtrack-mode
40 "Minor mode for tracking ruby debugging inside a file which may not have process shell."
42 ;; :lighter " trepanpl" ;; mode-line indicator from realgud-track is sufficient.
43 ;; The minor mode bindings.
45 :group 'realgud:trepanpl
46 :keymap trepanpl-backtrack-mode-map
48 (realgud-backtrack-set-debugger "trepan.pl")
49 (if trepanpl-backtrack-mode
51 (realgud-backtrack-mode 't)
52 (run-mode-hooks (intern (trepanpl-backtrack-mode-hook))))
54 (realgud-backtrack-mode nil)
58 (defun trepanpl-backtrack-mode-hook()
59 (if trepanpl-backtrack-mode
61 (use-local-map trepanpl-backtrack-mode-map)
62 (message "using trepanpl mode map")
64 (message "trepan.pl backtrack-mode-hook disable called"))
67 (provide-me "realgud:trepanpl-")