20.1.3 Errors in Incremental Search
If your string is not found at all, the echo area says ‘Failing
I-Search’. The cursor is after the place where Emacs found as much of your
string as it could. Thus, if you search for ‘FOOT’, and there is no
‘FOOT’, you might see the cursor after the ‘FOO’ in ‘FOOL’.
At this point there are several things you can do. If your string was
mistyped, you can rub some of it out and correct it. If you like the place
you have found, you can type <RET> or some other Emacs command to
remain there. Or you can type C-g, which
removes from the search string the characters that could not be found (the
‘T’ in ‘FOOT’), leaving those that were found (the ‘FOO’ in
‘FOOT’). A second C-g at that point cancels the search
entirely, returning point to where it was when the search started.
The C-g “quit” character does special things during searches;
just what it does depends on the status of the search. If the search has
found what you specified and is waiting for input, C-g cancels the
entire search. The cursor moves back to where you started the search. If
C-g is typed when there are characters in the search string that have
not been found—because Emacs is still searching for them, or because it
has failed to find them—then the search string characters which have not
been found are discarded from the search string. With them gone, the
search is now successful and waiting for more input, so a second C-g
will cancel the entire search.