[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: isearch-yank-char
From: |
Karl Fogel |
Subject: |
Re: isearch-yank-char |
Date: |
30 Apr 2004 13:57:37 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
Juri Linkov <address@hidden> writes:
> Karl Fogel <address@hidden> writes:
> > Thanks! I'll try it out.
> >
> > Is this your full patch? If there's more, post it & I'll test with
> > that (i.e., including the keybindings and anything else).
>
> The full patch is below:
Interesting! This patch goes further, and changes C-w back to
'isearch-yank-word' (instead of 'isearch-yank-word-or-char').
I'm not sure whether it's good or bad. Just wanted to point out that
this patch implements something slightly different from the proposal I
made. (Nothing wrong with implementing a different proposal, as long
as people know what it is.)
Thanks for posting, I'm sure I won't be the only one testing this.
-Karl
> Index: lisp/isearch.el
> ===================================================================
> RCS file: /cvsroot/emacs/emacs/lisp/isearch.el,v
> retrieving revision 1.226
> retrieving revision 1.227
> diff -c -r1.226 -r1.227
> *** lisp/isearch.el 4 Mar 2004 16:54:08 -0000 1.226
> --- lisp/isearch.el 29 Apr 2004 15:28:55 -0000 1.227
> ***************
> *** 294,300 ****
> (define-key map " " 'isearch-whitespace-chars)
> (define-key map [?\S-\ ] 'isearch-whitespace-chars)
>
> ! (define-key map "\C-w" 'isearch-yank-word-or-char)
> (define-key map "\C-y" 'isearch-yank-line)
>
> ;; Define keys for regexp chars * ? |.
> --- 294,302 ----
> (define-key map " " 'isearch-whitespace-chars)
> (define-key map [?\S-\ ] 'isearch-whitespace-chars)
>
> ! (define-key map "\C-b" 'isearch-del-char)
> ! (define-key map "\C-f" 'isearch-yank-char)
> ! (define-key map "\C-w" 'isearch-yank-word)
> (define-key map "\C-y" 'isearch-yank-line)
>
> ;; Define keys for regexp chars * ? |.
> ***************
> *** 448,459 ****
> As you type characters, they add to the search string and are found.
> The following non-printing keys are bound in `isearch-mode-map'.
>
> ! Type \\[isearch-delete-char] to cancel characters from end of search string.
> Type \\[isearch-exit] to exit, leaving point at location found.
> Type LFD (C-j) to match end of line.
> Type \\[isearch-repeat-forward] to search again forward,\
> \\[isearch-repeat-backward] to search again backward.
> ! Type \\[isearch-yank-word-or-char] to yank word from buffer onto end of
> search\
> string and search for it.
> Type \\[isearch-yank-line] to yank rest of line onto end of search string\
> and search for it.
> --- 450,464 ----
> As you type characters, they add to the search string and are found.
> The following non-printing keys are bound in `isearch-mode-map'.
>
> ! Type \\[isearch-delete-char] to cancel last input item from end of search
> string.
> ! Type \\[isearch-del-char] to cancel last character from end of search
> string.
> Type \\[isearch-exit] to exit, leaving point at location found.
> Type LFD (C-j) to match end of line.
> Type \\[isearch-repeat-forward] to search again forward,\
> \\[isearch-repeat-backward] to search again backward.
> ! Type \\[isearch-yank-char] to yank character from buffer onto end of search\
> ! string and search for it.
> ! Type \\[isearch-yank-word] to yank word from buffer onto end of search\
> string and search for it.
> Type \\[isearch-yank-line] to yank rest of line onto end of search string\
> and search for it.
> ***************
> *** 486,492 ****
> you want to use.
>
> The above keys, bound in `isearch-mode-map', are often controlled by
> ! options; do M-x apropos on search-.* to find them.
> Other control and meta characters terminate the search
> and are then executed normally (depending on `search-exit-option').
> Likewise for function keys and mouse button events.
> --- 491,497 ----
> you want to use.
>
> The above keys, bound in `isearch-mode-map', are often controlled by
> ! options; do \\[apropos] on search-.* to find them.
> Other control and meta characters terminate the search
> and are then executed normally (depending on `search-exit-option').
> Likewise for function keys and mouse button events.
> ***************
> *** 789,795 ****
> \\[isearch-ring-retreat-edit] to replace the search string with the
> previous item in the search ring.
> \\[isearch-complete-edit] to complete the search string using the search
> ring.
> \\<isearch-mode-map>
> ! If first char entered is \\[isearch-yank-word-or-char], then do word search
> instead."
>
> ;; This code is very hairy for several reasons, explained in the code.
> ;; Mainly, isearch-mode must be terminated while editing and then
> restarted.
> --- 794,800 ----
> \\[isearch-ring-retreat-edit] to replace the search string with the
> previous item in the search ring.
> \\[isearch-complete-edit] to complete the search string using the search
> ring.
> \\<isearch-mode-map>
> ! If first char entered is \\[isearch-yank-word], then do word search
> instead."
>
> ;; This code is very hairy for several reasons, explained in the code.
> ;; Mainly, isearch-mode must be terminated while editing and then
> restarted.
> ***************
> *** 1053,1058 ****
> --- 1058,1073 ----
> (isearch-pop-state))
> (isearch-update))
>
> + (defun isearch-del-char ()
> + "Discard last character and move point back.
> + If there is no previous character, just beep."
> + (interactive)
> + (if (equal isearch-string "")
> + (ding)
> + (setq isearch-string (substring isearch-string 0 -1)
> + isearch-message (mapconcat 'isearch-text-char-description
> + isearch-string "")))
> + (isearch-search-and-update))
>
> (defun isearch-yank-string (string)
> "Pull STRING into search string."
> ***************
> *** 1114,1120 ****
> (buffer-substring-no-properties (point) (funcall jumpform)))))
>
> (defun isearch-yank-char ()
> ! "Pull next letter from buffer into search string."
> (interactive)
> (isearch-yank-internal (lambda () (forward-char 1) (point))))
>
> --- 1129,1135 ----
> (buffer-substring-no-properties (point) (funcall jumpform)))))
>
> (defun isearch-yank-char ()
> ! "Pull next character from buffer into search string."
> (interactive)
> (isearch-yank-internal (lambda () (forward-char 1) (point))))
>
> --
> Juri Linkov
> http://www.jurta.org/emacs/
- Re: isearch-yank-char, (continued)
- Re: isearch-yank-char, Juri Linkov, 2004/04/28
- Re: isearch-yank-char, Karl Fogel, 2004/04/30
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char, Karl Fogel, 2004/04/30
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char, Romain Francoise, 2004/04/30
- Re: isearch-yank-char, Karl Fogel, 2004/04/30
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char, Karl Fogel, 2004/04/30
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char,
Karl Fogel <=
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char, Alan Mackenzie, 2004/04/30
- Re: isearch-yank-char, Juri Linkov, 2004/04/30
- Re: isearch-yank-char, Miles Bader, 2004/04/30
- Re: isearch-yank-char, Karl Fogel, 2004/04/30
Re: isearch-yank-char, Juri Linkov, 2004/04/28