[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#4894: 23.1; emacs ignores number characters in incremental search in
From: |
Leo |
Subject: |
bug#4894: 23.1; emacs ignores number characters in incremental search in keyboard macros |
Date: |
Thu, 26 Aug 2010 22:36:54 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (Mac OS X 10.6.4) |
On 2009-11-11 18:32 +0000, Stefan Monnier wrote:
> Actually, the need for cancel-kbd-macro-events is explained in
> the comment. The problem is that after cancelling the <kp-0> we should
> add the ?0 replacement. That should normally be done by isearch-unread,
> but for printing char, we don't call that function any more.
>
> I.e. the problem was introduced by the change below. Handa, can you
> explain why we need this? Maybe it was needed at the time but not
> any more?
>
>
I run into an error
After 0 kbd macro iterations: isearch-search: Keyboard macro
terminated by a command ringing the bell
almost every time isearch-forward-regexp is used in a macro, for
example:
C-x ( ESC C-s [ - + ] ? [ 0 - 9 ] + C-x )
I wonder if someone can take a look at the problem. Thanks.
Leo
>
> Stefan
>
>
> committer: handa
> branch nick: HEAD
> timestamp: Thu 2000-06-01 12:22:31 +0000
> message:
> (isearch-update): Set disable-point-adjustment to t
> to prevent the point moving to the end of a composition when a
> part of a composition is searched.
> (isearch-other-meta-char): If the key invoking this command can be
> mapped by function-key-map to a printing char, call
> isearch-process-search-char directly.
> ------------------------------------------------------------
>
>
> === modified file 'lisp/isearch.el'
> --- lisp/isearch.el 2000-05-31 09:49:22 +0000
> +++ lisp/isearch.el 2000-06-01 12:22:31 +0000
> @@ -619,7 +619,10 @@
> (setq ;; quit-flag nil not for isearch-mode
> isearch-adjusted nil
> isearch-yank-flag nil)
> - (isearch-lazy-highlight-new-loop))
> + (isearch-lazy-highlight-new-loop)
> + ;; We must prevent the point moving to the end of composition when a
> + ;; part of the composition has just been searched.
> + (setq disable-point-adjustment t))
>
> (defun isearch-done (&optional nopush edit)
> (remove-hook 'mouse-leave-buffer-hook 'isearch-done)
> @@ -1150,8 +1153,22 @@
> (progn
> (isearch-done)
> (apply 'isearch-unread keylist))
> - (apply 'isearch-unread
> - (listify-key-sequence (lookup-key function-key-map key)))))
> + (setq keylist
> + (listify-key-sequence (lookup-key function-key-map key)))
> + (while keylist
> + (setq key (car keylist))
> + ;; If KEY is a printing char, we handle it here
> + ;; directly to avoid the input method and keyboard
> + ;; coding system translating it.
> + (if (and (integerp key)
> + (>= key ?\ ) (< key 256))
> + (progn
> + (isearch-process-search-char key)
> + (setq keylist (cdr keylist)))
> + ;; As the remaining keys in KEYLIST can't be handled
> + ;; here, we must reread them.
> + (apply 'isearch-unread keylist)
> + (setq keylist nil)))))
> (
> ;; Handle an undefined shifted control character
> ;; by downshifting it if that makes it defined.
--
Any Emacs contains an ad hoc, informally-specified, bug-ridden, slow
implementation of half of Common Lisp.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#4894: 23.1; emacs ignores number characters in incremental search in keyboard macros,
Leo <=