[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Yanking isearch to highlight-regexp
From: |
Juri Linkov |
Subject: |
Re: Yanking isearch to highlight-regexp |
Date: |
Mon, 30 Jun 2008 22:59:14 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) |
>> 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/
- Re: Global keymaps, (continued)
- Re: Yanking isearch to highlight-regexp, Juri Linkov, 2008/06/28
- Re: Yanking isearch to highlight-regexp, Stefan Monnier, 2008/06/28
- Re: Yanking isearch to highlight-regexp, Juri Linkov, 2008/06/29
- Re: Yanking isearch to highlight-regexp, Stefan Monnier, 2008/06/29
- Re: Yanking isearch to highlight-regexp, Juri Linkov, 2008/06/29
- Re: Yanking isearch to highlight-regexp, Stefan Monnier, 2008/06/29
- Re: Yanking isearch to highlight-regexp, Juri Linkov, 2008/06/29
- Re: Yanking isearch to highlight-regexp, Stefan Monnier, 2008/06/29
- Re: Yanking isearch to highlight-regexp,
Juri Linkov <=