From: Juri Linkov <juri@jurta.org>
To: emacs-devel@gnu.org
Subject: Re: Yanking isearch to highlight-regexp
Date: Wed, 30 Jul 2008 20:49:19 +0300 [thread overview]
Message-ID: <878wvj5kkg.fsf@jurta.org> (raw)
In-Reply-To: <87bq1ihey5.fsf@jurta.org> (Juri Linkov's message of "Mon, 30 Jun 2008 22:59:14 +0300")
One problem with `isearch-highlight-regexp': after typing `M-s h r'
in Isearch mode, it asks for the face name in the minibuffer but
Isearch mode is still active with its keybindings. Two calls to
(isearch-clean-overlays) and (isearch-done) could be moved to the
interactive spec before calling `hi-lock-read-face-name' with the
assumption that `isearch-highlight-regexp' will be never used
non-interactively. But in this case the functions arguments
`(regexp &optional face)' make no sense.
So it seems we should drop the idea of keeping the function arguments
the same as in `highlight-regexp' and change `isearch-highlight-regexp'
as follows:
Index: lisp/isearch.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/isearch.el,v
retrieving revision 1.325
diff -c -r1.325 isearch.el
*** lisp/isearch.el 30 Jul 2008 16:40:23 -0000 1.325
--- lisp/isearch.el 30 Jul 2008 17:48:40 -0000
***************
*** 1394,1415 ****
(declare-function hi-lock-regexp-okay "hi-lock" (regexp))
(declare-function hi-lock-read-face-name "hi-lock" ())
! (defun isearch-highlight-regexp (regexp &optional face)
"Run `highlight-regexp' with regexp from the current search string.
! Interactively, REGEXP is the current search regexp or a quoted search
! string. FACE has the same meaning as in `highlight-regexp'."
! (interactive
! (list
! (progn
! (require 'hi-lock nil t)
! (hi-lock-regexp-okay
! (if isearch-regexp isearch-string (regexp-quote isearch-string))))
! (hi-lock-read-face-name)))
(isearch-done)
(isearch-clean-overlays)
;; (add-to-history 'hi-lock-regexp-history regexp)
! (let ((case-fold-search isearch-case-fold-search))
! (hi-lock-face-buffer regexp face)))
\f
(defun isearch-delete-char ()
--- 1394,1416 ----
(declare-function hi-lock-regexp-okay "hi-lock" (regexp))
(declare-function hi-lock-read-face-name "hi-lock" ())
! (defun isearch-highlight-regexp ()
"Run `highlight-regexp' with regexp from the current search string.
! It exits Isearch mode and calls `hi-lock-face-buffer' with its regexp
! argument from the last search regexp or a quoted search string,
! and reads its face argument using `hi-lock-read-face-name'."
! (interactive)
(isearch-done)
(isearch-clean-overlays)
+ (require 'hi-lock nil t)
;; (add-to-history 'hi-lock-regexp-history regexp)
! (let ((case-fold-search isearch-case-fold-search))
! (hi-lock-face-buffer
! (hi-lock-regexp-okay
! (if isearch-regexp isearch-string (regexp-quote isearch-string)))
! (hi-lock-read-face-name))))
\f
(defun isearch-delete-char ()
--
Juri Linkov
http://www.jurta.org/emacs/
prev parent reply other threads:[~2008-07-30 17:49 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-14 16:57 Yanking isearch to highlight-regexp Lennart Borgman (gmail)
2008-06-14 21:42 ` Mathias Dahl
2008-06-14 21:50 ` Stefan Monnier
2008-06-14 21:54 ` Mathias Dahl
2008-06-15 0:32 ` Juri Linkov
2008-06-15 0:08 ` Lennart Borgman (gmail)
2008-06-15 0:33 ` Juri Linkov
2008-06-15 1:48 ` Stefan Monnier
2008-06-15 9:47 ` Lennart Borgman (gmail)
2008-06-15 20:48 ` Juri Linkov
2008-06-15 21:10 ` Lennart Borgman (gmail)
2008-06-15 22:54 ` Juri Linkov
2008-06-15 23:09 ` Lennart Borgman (gmail)
2008-06-16 9:34 ` Juri Linkov
2008-06-16 11:13 ` Lennart Borgman
2008-06-16 21:48 ` Juri Linkov
2008-06-16 18:50 ` David Koppelman
2008-06-16 19:08 ` Lennart Borgman (gmail)
2008-06-16 21:50 ` Juri Linkov
2008-06-17 18:50 ` David Koppelman
2008-06-24 23:09 ` Juri Linkov
2008-06-25 1:43 ` Stefan Monnier
2008-06-25 20:32 ` Juri Linkov
2008-06-25 22:16 ` Miles Bader
2008-06-25 22:22 ` Lennart Borgman (gmail)
2008-06-25 22:58 ` Miles Bader
2008-06-27 23:15 ` Global keymaps [was: Yanking isearch to highlight-regexp] Juri Linkov
2008-06-27 23:20 ` Lennart Borgman (gmail)
2008-06-27 23:32 ` Juri Linkov
2008-06-28 0:28 ` Global keymaps Miles Bader
2008-06-28 1:25 ` Stefan Monnier
2008-06-28 19:45 ` Juri Linkov
2008-06-28 22:51 ` Stefan Monnier
2008-06-29 16:17 ` Juri Linkov
2008-06-29 18:03 ` Stefan Monnier
2008-06-29 19:28 ` Juri Linkov
2008-06-29 20:03 ` Stefan Monnier
2008-06-29 20:52 ` Juri Linkov
2008-06-29 21:24 ` Lennart Borgman (gmail)
2008-06-30 1:00 ` Stefan Monnier
2008-06-28 22:02 ` Yanking isearch to highlight-regexp Juri Linkov
2008-06-28 22:23 ` Stefan Monnier
2008-06-29 16:19 ` Juri Linkov
2008-06-29 18:07 ` Stefan Monnier
2008-06-29 19:29 ` Juri Linkov
2008-06-29 20:05 ` Stefan Monnier
2008-06-29 20:55 ` Juri Linkov
2008-06-30 1:01 ` Stefan Monnier
2008-06-30 19:59 ` Juri Linkov
2008-07-01 21:34 ` Grep key bindings (was: Yanking isearch to highlight-regexp) Juri Linkov
2008-07-01 21:44 ` Grep key bindings Miles Bader
2008-07-01 21:54 ` Juri Linkov
2008-07-01 22:11 ` Miles Bader
2008-07-02 22:42 ` Juri Linkov
2008-07-03 6:53 ` joakim
2008-07-03 7:07 ` Miles Bader
2008-07-03 13:18 ` Ted Zlatanov
2008-07-03 22:06 ` Stefan Monnier
2008-07-03 14:50 ` Dan Nicolaescu
2008-07-03 15:37 ` Phil Jackson
2008-07-03 16:59 ` Drew Adams
2008-07-04 10:46 ` Eli Zaretskii
2008-07-04 10:59 ` Miles Bader
2008-07-30 17:49 ` Juri Linkov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878wvj5kkg.fsf@jurta.org \
--to=juri@jurta.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.