If your string is not found at all, the echo area says ‘Failing
I-Search’, and the cursor moves past 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’. In the echo area, the part of the search
string that failed to match is highlighted using the face
At this point, there are several things you can do. If your string was mistyped, use <DEL> to cancel a previous input item (see Basic Isearch), C-M-w to erase one character at a time, or M-e to edit it. If you like the place you have found, you can type <RET> 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 quit command, C-g, 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, moving the cursor 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.