[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/el-search 6c0475e 212/332: Allow to save the current el
From: |
Stefan Monnier |
Subject: |
[elpa] externals/el-search 6c0475e 212/332: Allow to save the current el-search to a register |
Date: |
Tue, 1 Dec 2020 15:48:47 -0500 (EST) |
branch: externals/el-search
commit 6c0475e9abea971b3e8929dd9bd918f5896547b5
Author: Michael Heerdegen <michael_heerdegen@web.de>
Commit: Michael Heerdegen <michael_heerdegen@web.de>
Allow to save the current el-search to a register
* el-search/el-search.el (el-search-to-register)
(el-search-clone-to-register): New commands.
(register-val-jump-to, register-val-describe): Implement methods for
`el-search-object' values.
---
NEWS | 6 ++++++
el-search.el | 33 ++++++++++++++++++++++++++++++++-
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index 7548e1d..ffa4047 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,12 @@
Some of the user visible news were:
+Version: 1.5.2
+
+ The new command `el-search-to-register' allows to save the current
+ search (including its state) to a register and later make that
+ search current again with `jump-to-register' (C-x r j).
+
Version: 1.5.1
The new command `el-search-ibuffer-marked-buffers' el-searches the
diff --git a/el-search.el b/el-search.el
index c519446..a560672 100644
--- a/el-search.el
+++ b/el-search.el
@@ -7,7 +7,7 @@
;; Created: 29 Jul 2015
;; Keywords: lisp
;; Compatibility: GNU Emacs 25
-;; Version: 1.5.1
+;; Version: 1.5.2
;; Package-Requires: ((emacs "25") (stream "2.2.4") (cl-print "1.0"))
@@ -119,6 +119,11 @@
;; Grab the symbol or sexp under point and initiate an el-search
;; for other occurrences.
;;
+;; M-x el-search-to-register
+;; Save the current search to an Emacs register. Use C-x r j
+;; (`jump-to-register') to make that search current and jump to
+;; the latest position.
+;;
;;
;; The setup you'll need for your init file is trivial: just define
;; the key bindings you want to use (all important commands are
@@ -2982,6 +2987,32 @@ related user options."
(lambda (search) (setf (alist-get 'description (el-search-object-properties
search))
"el-search-ibuffer-marked-files"))))
+;;;; Register usage
+
+(defun el-search-to-register (register &optional el-search-object)
+ "Prompt for a register and save the EL-SEARCH-OBJECT to it.
+In an interactive call or when EL-SEARCH-OBJECT is nil, the
+current search is used."
+ (interactive (list (register-read-with-preview "Save current search to
register: ")))
+ (set-register register (or el-search-object el-search--current-search)))
+
+(defun el-search-clone-to-register (register &optional el-search-object)
+ "Prompt for a register and save a clone of the EL-SEARCH-OBJECT to it.
+In an interactive call or when EL-SEARCH-OBJECT is nil, the
+current search is used.
+
+This is similar to `el-search-to-register' but what is saved is a
+clone with an individual state."
+ (interactive (list (register-read-with-preview "Save clone of current search
to register: ")))
+ (set-register register (copy-el-search-object (or el-search-object
el-search--current-search))))
+
+(cl-defmethod register-val-jump-to ((val el-search-object) _arg)
+ (el-search-jump-to-search-head val))
+
+(cl-defmethod register-val-describe ((val el-search-object) _verbose) ;VERBOSE
is only used by C-x r v
+ (let ((print-circle nil)) ;bug#30070
+ (cl-prin1 val)))
+
;;;; Query-replace
- [elpa] externals/el-search 749aa0c 300/332: [el-search] Improvements for 'change' and 'changed', (continued)
- [elpa] externals/el-search 749aa0c 300/332: [el-search] Improvements for 'change' and 'changed', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search e522b71 305/332: [el-search] Enhance docstring of el-search-occur-mode, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search fdc4663 308/332: [el-search] Bump version to 1.11.1, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search e790747 309/332: [el-search] Fix quits in minibuffer in emacs -nw, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 39da179 313/332: [el-search] Minibuffer pattern prompt hints part 3, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 01c663b 315/332: [el-search] Make el-search-query-replace resumable, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search c95de2b 317/332: [el-search] Shorten el-search-query-replace prompt again, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 76d63d9 326/332: [el-search] Extend possible search domains, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 0212cf9 328/332: * packages/el-search/el-search.el: New command el-search-repository, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 6df1362 332/332: * .gitignore: New file, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 6c0475e 212/332: Allow to save the current el-search to a register,
Stefan Monnier <=
- [elpa] externals/el-search 7c19468 215/332: Fix el-search's to register save when no search started yet, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search c7709ab 233/332: Fix el-search's check for buffers visiting a given file, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search cda69ae 230/332: * el-search/el-search-x.el: New user option `el-search-lazy-l', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search ce8835b 242/332: [el-search] Factor out `el-search-backward', Stefan Monnier, 2020/12/01
- [elpa] externals/el-search dfaa7f2 244/332: [el-search] Some more minor tweaks, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search a6c23b5 250/332: * el-search/el-search.el: Correct NOERROR argument uses, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 2a02a81 277/332: [el-search] Let el-search-query-replace add undo boundaries, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 864f0ed 276/332: [el-search] Provide el-search-occur-search-object earlier, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search 23cf24d 275/332: [el-search] Enhancements to my last two commits, Stefan Monnier, 2020/12/01
- [elpa] externals/el-search effcb50 271/332: [el-search] Make r hit twice restore a replaced match, Stefan Monnier, 2020/12/01