[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#11378: 24.1.50; Suggestion: Let M-i in isearch cycle `search-invisib
From: |
Stefan Kangas |
Subject: |
bug#11378: 24.1.50; Suggestion: Let M-i in isearch cycle `search-invisible' |
Date: |
Fri, 01 Nov 2019 19:50:43 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Juri Linkov <juri@jurta.org> writes:
>> I'm preparing a patch that adds it to customize the behavior of
>> case-fold and invisible.
>
> This patch adds a new user option `isearch-keep-mode-variables'
> in parallel to another new option `isearch-keep-stack-variables'
> added in bug#12986. It supports `isearch-case-fold-search' and
> `isearch-invisible' variables, but `isearch-filter-predicates',
> `isearch-lax-whitespace' could be added in the same way later.
The below patch from 6 years ago was sent but never applied at the
time. Is it still relevant?
Best regards,
Stefan Kangas
> === modified file 'lisp/isearch.el'
> --- lisp/isearch.el 2013-05-30 23:50:36 +0000
> +++ lisp/isearch.el 2013-06-02 09:45:01 +0000
> @@ -153,6 +153,20 @@ (defcustom isearch-hide-immediately t
> :type 'boolean
> :group 'isearch)
>
> +(defcustom isearch-keep-mode-variables nil
> + "A set of search variables to keep between different searches.
> +When a search variable is customized to exist in this set, then
> +starting a new search doesn't reset the corresponding isearch variable
> +to its default value, thus keeping the value from the previous search
> +\(changed using toggling commands)."
> + :type '(set (const :tag "Case folding" isearch-case-fold-search)
> + (const :tag "Invisible text" isearch-invisible)
> + (const :tag "Filters" isearch-filter-predicates)
> + (const :tag "Lax whitespace" isearch-lax-whitespace)
> + (const :tag "Regexp lax whitespace"
> isearch-regexp-lax-whitespace))
> + :version "24.4"
> + :group 'isearch)
> +
> (defcustom isearch-resume-in-command-history nil
> "If non-nil, `isearch-resume' commands are added to the command history.
> This allows you to resume earlier Isearch sessions through the
> @@ -866,8 +895,6 @@ (defun isearch-mode (forward &optional r
> isearch-word word
> isearch-op-fun op-fun
> isearch-last-case-fold-search isearch-case-fold-search
> - isearch-case-fold-search case-fold-search
> - isearch-invisible search-invisible
> isearch-string ""
> isearch-message ""
> isearch-cmds nil
> @@ -898,6 +927,11 @@ (defun isearch-mode (forward &optional r
> isearch-original-minibuffer-message-timeout minibuffer-message-timeout
> minibuffer-message-timeout nil)
>
> + (unless (memq 'isearch-case-fold-search isearch-keep-mode-variables)
> + (setq isearch-case-fold-search case-fold-search))
> + (unless (memq 'isearch-invisible isearch-keep-mode-variables)
> + (setq isearch-invisible search-invisible))
> +
> ;; We must bypass input method while reading key. When a user type
> ;; printable character, appropriate input method is turned on in
> ;; minibuffer to read multibyte characters.
- bug#11378: 24.1.50; Suggestion: Let M-i in isearch cycle `search-invisible',
Stefan Kangas <=