Skip to content

Commit

Permalink
Fix ggtags-navigation-mode-abort to pop mark conditionally
Browse files Browse the repository at this point in the history
  • Loading branch information
leoliu committed Nov 1, 2013
1 parent b6c79ca commit 079b8d3
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions ggtags.el
Original file line number Diff line number Diff line change
Expand Up @@ -349,13 +349,14 @@ Return -1 if it does not exist."
args)))
(mapconcat 'identity (delq nil xs) " ")))

;; takes three values: nil, t and a marker
(defvar ggtags-global-start-marker nil)

(defun ggtags-global-save-start-marker ()
(when (markerp ggtags-global-start-marker)
(eval-and-compile (require 'etags))
(ring-insert find-tag-marker-ring ggtags-global-start-marker)
(setq ggtags-global-start-marker nil)))
(setq ggtags-global-start-marker t)))

(defun ggtags-global-start (command &optional root)
(let* ((default-directory (or root (ggtags-root-directory)))
Expand Down Expand Up @@ -711,10 +712,13 @@ With a prefix arg (non-nil DEFINITION) always find defintions."
(defun ggtags-navigation-mode-abort ()
(interactive)
(ggtags-navigation-mode -1)
(ggtags-navigation-mode-cleanup nil 0)
;; Run after (ggtags-navigation-mode -1) or
;; ggtags-global-start-marker might not have been saved.
(pop-tag-mark))
(when (and (not (markerp ggtags-global-start-marker))
ggtags-global-start-marker)
(setq ggtags-global-start-marker nil)
(pop-tag-mark))
(ggtags-navigation-mode-cleanup nil 0))

(defun ggtags-navigation-next-file (n)
(interactive "p")
Expand Down

0 comments on commit 079b8d3

Please sign in to comment.