From: Juri Linkov <juri@jurta.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: David Koppelman <koppel@ece.lsu.edu>, emacs-devel@gnu.org
Subject: Re: Yanking isearch to highlight-regexp
Date: Mon, 30 Jun 2008 22:59:14 +0300 [thread overview]
Message-ID: <87bq1ihey5.fsf@jurta.org> (raw)
In-Reply-To: <jwvd4lz4tzq.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sun, 29 Jun 2008 21:01:14 -0400")
>> The following patch creates a new variable `face-name-history' and
>> adds it to face-reading commands (most important is `read-face-name'
>> that is used by many other commands).
>
> OK.
Done.
>> ***************
>> *** 1227,1233 ****
>> this regular expression. When called interactively with a prefix
>> arg, prompt for a regular expression."
>> (interactive (list (and current-prefix-arg
>> ! (read-string "List faces matching regexp: "))))
>> (let ((all-faces (zerop (length regexp)))
>> (frame (selected-frame))
>> (max-length 0)
>> --- 1235,1241 ----
>> this regular expression. When called interactively with a prefix
>> arg, prompt for a regular expression."
>> (interactive (list (and current-prefix-arg
>> ! (read-regexp "List faces matching regexp"))))
>> (let ((all-faces (zerop (length regexp)))
>> (frame (selected-frame))
>> (max-length 0)
>
> This is part of the other patch, isn't it?
Yes, this is not related to the face history, but an attempt to use
`read-regexp' where it makes sense.
I now noticed that `read-regexp' doesn't provide backward compatible
behavior for `keep-lines' and other commands. It puts the last history
element in parens as the default value. I don't know why users insist
on this behavior for `occur' since the last history is easy available
via M-p. But at least I propose to keep old and different behavior
for `occur' vs `keep-lines' and friends.
The patch below adds a new argument `default' to `read-regexp'
that is displayed in parens, and in `occur-read-primary-args' sets it
to `(car regexp-history)'.
A slightly different case is hi-lock. It used to put the last regexp
from the history as initial input. But since using initial input is
deprecated, this patch also sets the new `default' arg to
`(car regexp-history)' for hi-lock commands as well.
Index: lisp/replace.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/replace.el,v
retrieving revision 1.273
diff -c -r1.273 replace.el
*** lisp/replace.el 29 Jun 2008 16:09:08 -0000 1.273
--- lisp/replace.el 30 Jun 2008 19:54:43 -0000
***************
*** 522,536 ****
Maximum length of the history list is determined by the value
of `history-length', which see.")
! (defun read-regexp (prompt)
"Read regexp as a string using the regexp history and some useful defaults.
! Prompt for a regular expression with PROMPT in the minibuffer.
! Provide the last element of the regexp history as the basic default,
! and return it on typing RET. Additional defaults are the string
! at point, the last isearch regexp, the last isearch string, and the
! last replacement regexp. Return the regexp as a string."
! (let* ((default (car regexp-history))
! (defaults
(list (regexp-quote
(or (funcall (or find-tag-default-function
(get major-mode 'find-tag-default-function)
--- 522,535 ----
Maximum length of the history list is determined by the value
of `history-length', which see.")
! (defun read-regexp (prompt &optional default)
"Read regexp as a string using the regexp history and some useful defaults.
! Prompt for a regular expression with PROMPT (without a colon and
! space) in the minibuffer. The optional string argument DEFAULT
! provides the basic default value, that is returned on typing RET.
! Additional defaults are the string at point, the last isearch regexp,
! the last isearch string, and the last replacement regexp."
! (let* ((defaults
(list (regexp-quote
(or (funcall (or find-tag-default-function
(get major-mode 'find-tag-default-function)
***************
*** 1022,1028 ****
(nreverse result))))
(defun occur-read-primary-args ()
! (list (read-regexp "List lines matching regexp")
(when current-prefix-arg
(prefix-numeric-value current-prefix-arg))))
--- 1021,1028 ----
(nreverse result))))
(defun occur-read-primary-args ()
! (list (read-regexp "List lines matching regexp"
! (car regexp-history))
(when current-prefix-arg
(prefix-numeric-value current-prefix-arg))))
Index: lisp/hi-lock.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/hi-lock.el,v
retrieving revision 1.52
diff -c -r1.52 hi-lock.el
*** lisp/hi-lock.el 30 Jun 2008 19:36:38 -0000 1.52
--- lisp/hi-lock.el 30 Jun 2008 19:57:29 -0000
***************
*** 398,404 ****
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay (read-regexp "Regexp to highlight line"))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 398,405 ----
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay
! (read-regexp "Regexp to highlight line" (car regexp-history)))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
***************
*** 421,427 ****
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay (read-regexp "Regexp to highlight"))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 422,429 ----
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay
! (read-regexp "Regexp to highlight" (car regexp-history)))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
***************
*** 439,445 ****
(list
(hi-lock-regexp-okay
(hi-lock-process-phrase
! (read-regexp "Phrase to highlight")))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 441,447 ----
(list
(hi-lock-regexp-okay
(hi-lock-process-phrase
! (read-regexp "Phrase to highlight" (car regexp-history))))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--
Juri Linkov
http://www.jurta.org/emacs/
next prev parent reply other threads:[~2008-06-30 19:59 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 [this message]
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 ` Yanking isearch to highlight-regexp Juri Linkov
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bq1ihey5.fsf@jurta.org \
--to=juri@jurta.org \
--cc=emacs-devel@gnu.org \
--cc=koppel@ece.lsu.edu \
--cc=monnier@iro.umontreal.ca \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).