unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: rms@gnu.org
Cc: drew.adams@oracle.com, emacs-devel@gnu.org
Subject: Re: highlight failed part of isearch input
Date: Sun, 15 Jul 2007 02:05:40 +0300	[thread overview]
Message-ID: <87d4yu7ezr.fsf@jurta.org> (raw)
In-Reply-To: <E1I9Q2T-000082-0h@fencepost.gnu.org> (Richard Stallman's message of "Fri\, 13 Jul 2007 14\:38\:49 -0400")

>     I think we should try to find a proper place in low-level isearch
>     functions to fix such behavior, because for users it is confusing.
>
> I agree.  Can you work on it?

The patch below fixes `isearch-del-char' to work correctly in all
reported cases.  It failed because `isearch-search-and-update' works
only for adding characters to the successful search (it doesn't call
`isearch-search' for unsuccessful non-regexp search).

A new solution is to set search starting point to the isearch-other-end
and start the search from this position and try to find the remaining
string again.

Index: lisp/isearch.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/isearch.el,v
retrieving revision 1.298
diff -c -r1.298 isearch.el
*** lisp/isearch.el	9 Jul 2007 14:45:01 -0000	1.298
--- lisp/isearch.el	14 Jul 2007 22:59:45 -0000
***************
*** 1260,1269 ****
        (ding)
      (setq isearch-string (substring isearch-string 0 (- (or arg 1)))
            isearch-message (mapconcat 'isearch-text-char-description
!                                      isearch-string "")
!           ;; Don't move cursor in reverse search.
!           isearch-yank-flag t))
!   (isearch-search-and-update))
  
  (defun isearch-yank-string (string)
    "Pull STRING into search string."
--- 1284,1296 ----
        (ding)
      (setq isearch-string (substring isearch-string 0 (- (or arg 1)))
            isearch-message (mapconcat 'isearch-text-char-description
!                                      isearch-string "")))
!   ;; Use the isearch-other-end as new starting point to be able
!   ;; to find the remaining part of the search string again.
!   (if isearch-other-end (goto-char isearch-other-end))
!   (isearch-search)
!   (isearch-push-state)
!   (isearch-update))
  
  (defun isearch-yank-string (string)
    "Pull STRING into search string."

-- 
Juri Linkov
http://www.jurta.org/emacs/

  reply	other threads:[~2007-07-14 23:05 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-10  3:03 highlight failed part of isearch input Drew Adams
2007-07-10 13:21 ` Juri Linkov
2007-07-10 14:19   ` Drew Adams
2007-07-10 23:22     ` Juri Linkov
2007-07-11  0:16       ` Drew Adams
2007-07-11  3:57         ` Stefan Monnier
2007-07-11  5:27           ` David Kastrup
2007-07-11  6:18             ` Stefan Monnier
2007-07-11  6:26               ` Miles Bader
2007-07-11  7:14                 ` Stefan Monnier
2007-07-11  7:15                 ` David Kastrup
2007-07-11 16:10           ` Drew Adams
2007-07-11 19:20             ` Robert J. Chassell
2007-07-11 21:14               ` Drew Adams
2007-07-11 23:17                 ` Juri Linkov
2007-07-12 13:01                 ` Robert J. Chassell
     [not found]                 ` <E1I968h-0002xA-VO@fencepost.gnu.org>
2007-07-12 23:16                   ` Juri Linkov
2007-07-13 18:38                     ` Richard Stallman
2007-07-14 23:05                       ` Juri Linkov [this message]
2007-07-15 22:53                         ` Richard Stallman
2007-07-23  4:27                         ` Richard Stallman
2007-07-14 23:07                       ` Juri Linkov
2007-07-15 22:53                         ` Richard Stallman
2007-07-12 21:24             ` Richard Stallman
2007-07-11 21:03       ` Richard Stallman
2007-07-11 21:15         ` Drew Adams
2007-07-10 14:07 ` Masatake YAMATO
2007-07-10 14:37   ` ding susceptibility (was: highlight failed part of isearch input) Drew Adams
2007-07-10 22:01   ` highlight failed part of isearch input Richard Stallman
2007-07-10 14:32 ` Stefan Monnier
2007-07-10 22:01 ` Richard Stallman
2007-07-22 23:40   ` Drew Adams
2007-07-23 18:06     ` Richard Stallman
2007-07-23 21:29       ` Juri Linkov
2007-07-23 22:37         ` Drew Adams
2007-07-23 23:33           ` Juri Linkov
2007-07-24  2:22             ` Drew Adams
2007-07-24 22:16               ` Richard Stallman
2007-07-24 16:45         ` Richard Stallman
2007-07-24 17:25           ` Drew Adams
2008-02-11 23:31       ` Drew Adams
2008-02-12  0:18         ` Juri Linkov
2008-02-12  0:36           ` Drew Adams
2008-02-12  0:54             ` Bastien
2008-02-16 19:18               ` Juri Linkov
2008-02-23 19:47                 ` Juri Linkov
2008-02-23 21:27                   ` Drew Adams
2008-02-23 21:55                     ` Juri Linkov
2008-02-23 23:12                       ` Drew Adams
2008-02-24 17:32                         ` Juri Linkov
2008-02-24 23:15                           ` Drew Adams
2008-02-25  0:01                             ` Juri Linkov
2008-02-25  7:59                             ` Bastien
2008-02-24 23:31                           ` Dan Nicolaescu
2008-02-24 23:47                             ` Drew Adams
2008-02-24 23:58                               ` Dan Nicolaescu
2008-02-25  0:00                               ` Jason Rumney
2008-02-25  0:12                                 ` Drew Adams
2008-02-25  0:17                                 ` Juri Linkov
2008-02-24 17:29                   ` Juri Linkov
2008-02-24 23:05                     ` Drew Adams

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=87d4yu7ezr.fsf@jurta.org \
    --to=juri@jurta.org \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /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).