1 ;;; Copyright (C) 2015 Rocky Bernstein <rocky@gnu.org>
2 ;;; Follows or goto's something
3 (require 'load-relative)
5 (declare-function realgud:cmd-frame 'realgud-cmds)
7 (defun realgud:follow-mark(mark)
9 (let ((buffer (marker-buffer mark)))
11 (set-window-point (display-buffer buffer) mark)
16 (defun realgud:follow(pos)
18 (let* ((mark (get-text-property pos 'mark))
19 (filename (get-text-property pos 'file))
20 (frame-num (get-text-property pos 'frame-num))
22 (cond ((markerp mark) (realgud:follow-mark mark) 't)
24 (find-file-other-window filename))
25 ((numberp frame-num) (realgud:cmd-frame frame-num))
26 ('t (message "No location property found here")))
29 (defun realgud:follow-point()
31 (realgud:follow (point)))
33 (defun realgud:follow-event(event)
35 (realgud:follow (posn-point (event-end event))))
37 (provide-me "realgud-")