[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Simple isearch concerns
From: |
Juri Linkov |
Subject: |
Re: Simple isearch concerns |
Date: |
Mon, 05 Apr 2021 01:48:20 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
> 1) Are there any option to move the cursor to the start of the candidate
> after the search? I see that there is an isearch-other-end. But it is
> not a custom but an internal variable. Now I am using a hook but it
> seems a bit hacky.
I agree that isearch-mode-end-hook should be customizable.
Then initially we could provide at least one choice -
a hook to move to isearch-other-end on exit:
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 943e24aa56..c924b73607 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -178,10 +178,13 @@ isearch-mode-hook
(defvar isearch-update-post-hook nil
"Function(s) to call after isearch has found matches in the buffer.")
-(defvar isearch-mode-end-hook nil
+(defcustom isearch-mode-end-hook nil
"Function(s) to call after terminating an incremental search.
When these functions are called, `isearch-mode-end-hook-quit'
-is non-nil if the user quits the search.")
+is non-nil if the user quits the search."
+ :type 'hook
+ :options '(isearch-exit-other-end)
+ :version "28.1")
(defvar isearch-mode-end-hook-quit nil
"Non-nil while running `isearch-mode-end-hook' if the user quits the
search.")
@@ -1417,6 +1420,15 @@ isearch-done
(and (not edit) isearch-recursive-edit (exit-recursive-edit)))
+(defun isearch-exit-other-end ()
+ "Move point to the beginning of the found search string.
+Can be used in `isearch-mode-end-hook' or interactively to exit isearch."
+ (interactive)
+ (when isearch-mode
+ (isearch-exit))
+ (when isearch-other-end
+ (goto-char isearch-other-end)))
+
(defvar isearch-mouse-commands '(mouse-minor-mode-menu)
"List of mouse commands that are allowed during Isearch.")
> 2) I want to disable wrapping and I see that there is an
> `isearch-wrap-function` but it is a variable not a custom and it is not
> documented in detail what is expected to be there.
isearch-wrap-function could be customizable in the same way with 3 options:
pause before wrapping (default), no pause, no warp at all.
> 3) In general many of the customizable variables in isearch are defined
> with defvar so it is difficult to distinguish between internal and user
> exposed ones. Just to mention some examples:
> isearch-push-state-function, isearch-filter-predicate, the hooks,
And these as well.
> Are there any WIP related?
There is no WIP until you create a feature request.
- Re: Simple isearch concerns, (continued)
- Re: Simple isearch concerns, Juri Linkov, 2021/04/22
- Re: Simple isearch concerns, Augusto Stoffel, 2021/04/25
- Re: Simple isearch concerns, Juri Linkov, 2021/04/25
- RE: [External] : Re: Simple isearch concerns, Drew Adams, 2021/04/25
- Re: Simple isearch concerns, Augusto Stoffel, 2021/04/26
- Re: Simple isearch concerns, Gregory Heytings, 2021/04/03
- Re: Simple isearch concerns, Daniel Martín, 2021/04/03
- Re: Simple isearch concerns, Gregory Heytings, 2021/04/03
- Re: Simple isearch concerns, Ergus, 2021/04/03
Re: Simple isearch concerns, Daniel Martín, 2021/04/03
Re: Simple isearch concerns,
Juri Linkov <=
Re: Simple isearch concerns, Stefan Monnier, 2021/04/04
Re: Simple isearch concerns, Juri Linkov, 2021/04/05
Re: Simple isearch concerns, Basil L. Contovounesios, 2021/04/05
RE: [External] : Re: Simple isearch concerns, Drew Adams, 2021/04/05
Re: Simple isearch concerns, Ergus, 2021/04/04