aboutsummaryrefslogtreecommitdiff
path: root/evil-jumps.el
diff options
context:
space:
mode:
authorBailey Ling <bling@live.ca>2016-02-14 14:41:02 -0500
committerBailey Ling <bling@live.ca>2016-02-14 14:41:02 -0500
commit9f23f01be151a78202ae0b5e8545ba4b87dd49ab (patch)
tree4ec3a39d1a4800f23190ccb58149bcdf2f6fc3a7 /evil-jumps.el
parentf06786ff787726fae8b899c3684b19dbdb84b7a5 (diff)
refactor debug to a macro so it gets compiled away and add guard for potential empty list
Diffstat (limited to 'evil-jumps.el')
-rw-r--r--evil-jumps.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/evil-jumps.el b/evil-jumps.el
index 640b767..143c3c2 100644
--- a/evil-jumps.el
+++ b/evil-jumps.el
@@ -59,7 +59,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar evil--jumps-jumping nil)
-(defvar evil--jumps-debug nil)
+
+(eval-when-compile (defvar evil--jumps-debug nil))
(defvar evil--jumps-buffer-targets "\\*\\(new\\|scratch\\)\\*"
"Regexp to match against `buffer-name' to determine whether it's a valid jump target.")
@@ -74,11 +75,11 @@
ring
(idx -1))
-(defun evil--jumps-message (format &rest args)
+(defmacro evil--jumps-message (format &rest args)
(when evil--jumps-debug
- (with-current-buffer (get-buffer-create "*evil-jumps*")
- (goto-char (point-max))
- (insert (apply #'format format args) "\n"))))
+ `(with-current-buffer (get-buffer-create "*evil-jumps*")
+ (goto-char (point-max))
+ (insert (apply #'format ,format ',args) "\n"))))
(defun evil--jumps-get-current (&optional window)
(unless window
@@ -160,7 +161,10 @@
(equal first-file-name file-name))
(evil--jumps-message "pushing %s on %s" current-pos file-name)
(ring-insert target-list `(,current-pos ,file-name))))))
- (evil--jumps-message "%s %s" (selected-window) (ring-ref target-list 0))))
+ (evil--jumps-message "%s %s"
+ (selected-window)
+ (and (not (ring-empty-p target-list))
+ (ring-ref target-list 0)))))
(evil-define-command evil-show-jumps ()
"Display the contents of the jump list."