emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 32/38: Bind ggtags-save-to-register in ggtags-global-rerun-search


From: Leo Liu
Subject: [elpa] 32/38: Bind ggtags-save-to-register in ggtags-global-rerun-search-map
Date: Mon, 24 Mar 2014 09:31:38 +0000

leoliu pushed a commit to branch master
in repository elpa.

commit cd56d92bf2e0d679fb3a1ab6ba0ab484a85016d9
Author: Leo Liu <address@hidden>
Date:   Fri Mar 21 12:57:26 2014 +0800

    Bind ggtags-save-to-register in ggtags-global-rerun-search-map
---
 ggtags.el |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/ggtags.el b/ggtags.el
index 9017d4a..8732349 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -904,6 +904,7 @@ Global and Emacs."
       (define-key m "\M-p" #'prev)
       (define-key m "n"    #'next)
       (define-key m "\M-n" #'next)
+      (define-key m "r"    #'ggtags-save-to-register)
       (define-key m "q"    #'quit)
       (define-key m "\r"   #'done)
       m)))
@@ -931,7 +932,7 @@ Global and Emacs."
                                (prop "text: ") text "\n"
                                (propertize (make-string 32 ?-) 'face 
'shadow))))))
       (setq ggtags-global-search-ewoc
-            (ewoc-create #'pp "Global search history keys:  n:next  p:prev  
RET:choose\n")))
+            (ewoc-create #'pp "Global search history keys:  n:next  p:prev  
r:register  RET:choose\n")))
     (dolist (data ggtags-global-search-history)
       (ewoc-enter-last ggtags-global-search-ewoc data))
     (and ggtags-global-rerun-search-last
@@ -944,17 +945,18 @@ Global and Emacs."
 (defun ggtags-save-to-register (r)
   "Save current search session to register R.
 Use \\[jump-to-register] to restore the search session."
-  (interactive (list (ggtags-ensure-global-buffer
-                       (register-read-with-preview "Save search to register: 
"))))
-  (ggtags-ensure-global-buffer
-    (cl-labels ((prn (data)
-                     (pcase data
-                       (`(,command ,root ,_env ,line ,_)
-                        (princ (format "a ggtags search session `%s' in 
directory `%s' at line %d."
-                                       command root line))))))
-      (set-register r (registerv-make (ggtags-global-current-search)
-                                      :jump-func #'ggtags-global-rerun-search-1
-                                      :print-func #'prn)))))
+  (interactive (list (register-read-with-preview "Save search to register: ")))
+  (cl-labels ((prn (data)
+                   (pcase data
+                     (`(,command ,root ,_env ,line ,_)
+                      (princ (format "a ggtags search session `%s' in 
directory `%s' at line %d."
+                                     command root line))))))
+    (set-register r (registerv-make
+                     (if ggtags-global-search-ewoc
+                         (cdr (ewoc-data (ewoc-locate 
ggtags-global-search-ewoc)))
+                       (ggtags-global-current-search))
+                     :jump-func #'ggtags-global-rerun-search-1
+                     :print-func #'prn))))
 
 (defun ggtags-delete-tag-files ()
   "Delete the tag files generated by gtags."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]