[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: |
Sun, 29 Jun 2008 19:19:05 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) |
>> Below is a patch that unifies two similar regexp-reading functions
>> `keep-lines-read-args' and `occur-read-primary-args' into the general
>> function `read-regexp'. It reads a regexp using the regexp history
>> and provides some useful defaults. Like `keep-lines-read-args'
>> it accepts the prompt as its argument, but without the trailing colon
>> to be able to add the default value in parentheses.
>
> Sounds good.
Installed.
Now here is a patch for hi-lock.el that uses `read-regexp'.
It also marks `hi-lock-regexp-history' as an obsolete variable
that is replaced with `regexp-history'.
Another change is renaming `hi-lock-face-history' to
`hi-lock-face-defaults' and putting the face list to the
minibuffer's default list instead of the history list:
Index: lisp/hi-lock.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/hi-lock.el,v
retrieving revision 1.51
diff -c -r1.51 hi-lock.el
*** lisp/hi-lock.el 6 May 2008 07:57:38 -0000 1.51
--- lisp/hi-lock.el 29 Jun 2008 16:11:16 -0000
***************
*** 206,220 ****
(defvar hi-lock-interactive-patterns nil
"Patterns provided to hi-lock by user. Should not be changed.")
! (defvar hi-lock-face-history
! (list "hi-yellow" "hi-pink" "hi-green" "hi-blue" "hi-black-b"
! "hi-blue-b" "hi-red-b" "hi-green-b" "hi-black-hb")
! "History list of faces for hi-lock interactive functions.")
!
! ;(dolist (f hi-lock-face-history) (unless (facep f) (error "%s not a face"
f)))
!
! (defvar hi-lock-regexp-history nil
! "History of regexps used for interactive fontification.")
(defvar hi-lock-file-patterns-prefix "Hi-lock"
"Search target for finding hi-lock patterns at top of file.")
--- 206,221 ----
(defvar hi-lock-interactive-patterns nil
"Patterns provided to hi-lock by user. Should not be changed.")
! (defvar hi-lock-face-defaults
! '("hi-yellow" "hi-pink" "hi-green" "hi-blue" "hi-black-b"
! "hi-blue-b" "hi-red-b" "hi-green-b" "hi-black-hb")
! "Default faces for hi-lock interactive functions.")
!
! ;(dolist (f hi-lock-face-defaults) (unless (facep f) (error "%s not a face"
f)))
!
! (define-obsolete-variable-alias 'hi-lock-regexp-history
! 'regexp-history
! "23.1")
(defvar hi-lock-file-patterns-prefix "Hi-lock"
"Search target for finding hi-lock patterns at top of file.")
***************
*** 232,239 ****
(make-variable-buffer-local 'hi-lock-interactive-patterns)
(put 'hi-lock-interactive-patterns 'permanent-local t)
- (make-variable-buffer-local 'hi-lock-regexp-history)
- (put 'hi-lock-regexp-history 'permanent-local t)
(make-variable-buffer-local 'hi-lock-file-patterns)
(put 'hi-lock-file-patterns 'permanent-local t)
--- 233,238 ----
***************
*** 390,403 ****
Interactively, prompt for REGEXP then FACE. Buffer-local history
list maintained for regexps, global history maintained for faces.
! \\<minibuffer-local-map>Use \\[next-history-element] and
\\[previous-history-element] to retrieve next or previous history item.
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay
! (read-from-minibuffer "Regexp to highlight line: "
! (cons (or (car hi-lock-regexp-history) "") 1 )
! nil nil 'hi-lock-regexp-history))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 389,400 ----
Interactively, prompt for REGEXP then FACE. Buffer-local history
list maintained for regexps, global history maintained for faces.
! \\<minibuffer-local-map>Use \\[previous-history-element] to retrieve previous
history items,
! and \\[next-history-element] to retrieve default values.
\(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))
***************
*** 415,428 ****
Interactively, prompt for REGEXP then FACE. Buffer-local history
list maintained for regexps, global history maintained for faces.
! \\<minibuffer-local-map>Use \\[next-history-element] and
\\[previous-history-element] to retrieve next or previous history item.
\(See info node `Minibuffer History'.)"
(interactive
(list
! (hi-lock-regexp-okay
! (read-from-minibuffer "Regexp to highlight: "
! (cons (or (car hi-lock-regexp-history) "") 1 )
! nil nil 'hi-lock-regexp-history))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 412,423 ----
Interactively, prompt for REGEXP then FACE. Buffer-local history
list maintained for regexps, global history maintained for faces.
! \\<minibuffer-local-map>Use \\[previous-history-element] to retrieve previous
history items,
! and \\[next-history-element] to retrieve default values.
\(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))
***************
*** 440,448 ****
(list
(hi-lock-regexp-okay
(hi-lock-process-phrase
! (read-from-minibuffer "Phrase to highlight: "
! (cons (or (car hi-lock-regexp-history) "") 1 )
! nil nil 'hi-lock-regexp-history)))
(hi-lock-read-face-name)))
(or (facep face) (setq face 'hi-yellow))
(unless hi-lock-mode (hi-lock-mode 1))
--- 435,441 ----
(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))
***************
*** 457,463 ****
Interactively, prompt for REGEXP. Buffer-local history of inserted
regexp's maintained. Will accept only regexps inserted by hi-lock
interactive functions. \(See `hi-lock-interactive-patterns'.\)
! \\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a
partially typed regexp.
\(See info node `Minibuffer History'.\)"
(interactive
(if (and (display-popup-menus-p) (not last-nonmenu-event))
--- 450,457 ----
Interactively, prompt for REGEXP. Buffer-local history of inserted
regexp's maintained. Will accept only regexps inserted by hi-lock
interactive functions. \(See `hi-lock-interactive-patterns'.\)
! \\<minibuffer-local-map>Use \\[previous-history-element] to retrieve previous
history items,
! and \\[next-history-element] to retrieve default values.
\(See info node `Minibuffer History'.\)"
(interactive
(if (and (display-popup-menus-p) (not last-nonmenu-event))
***************
*** 552,567 ****
(intern (completing-read
"Highlight using face: "
obarray 'facep t
! (cons (car hi-lock-face-history)
(let ((prefix
(try-completion
! (substring (car hi-lock-face-history) 0 1)
(mapcar (lambda (f) (cons f f))
! hi-lock-face-history))))
(if (and (stringp prefix)
! (not (equal prefix (car hi-lock-face-history))))
(length prefix) 0)))
! '(hi-lock-face-history . 0))))
(defun hi-lock-set-pattern (regexp face)
"Highlight REGEXP with face FACE."
--- 546,561 ----
(intern (completing-read
"Highlight using face: "
obarray 'facep t
! (cons (car hi-lock-face-defaults)
(let ((prefix
(try-completion
! (substring (car hi-lock-face-defaults) 0 1)
(mapcar (lambda (f) (cons f f))
! hi-lock-face-defaults))))
(if (and (stringp prefix)
! (not (equal prefix (car hi-lock-face-defaults))))
(length prefix) 0)))
! nil (cdr hi-lock-face-defaults))))
(defun hi-lock-set-pattern (regexp face)
"Highlight REGEXP with face FACE."
--
Juri Linkov
http://www.jurta.org/emacs/
- Re: Global keymaps, (continued)
- Re: Global keymaps, Stefan Monnier, 2008/06/28
- Re: Global keymaps, Juri Linkov, 2008/06/29
- Re: Global keymaps, Stefan Monnier, 2008/06/29
- Re: Global keymaps, Juri Linkov, 2008/06/29
- Re: Global keymaps, Stefan Monnier, 2008/06/29
- Re: Global keymaps, Juri Linkov, 2008/06/29
- Re: Global keymaps, Lennart Borgman (gmail), 2008/06/29
- Re: Global keymaps, Stefan Monnier, 2008/06/29
- 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 <=
- 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, 2008/06/30