leoliu pushed a commit to branch master in repository elpa. commit cd56d92bf2e0d679fb3a1ab6ba0ab484a85016d9 Author: Leo Liu <sdl....@gmail.com> 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."