Function: isearchb-follow-char
isearchb-follow-char is a byte-compiled function defined in
isearchb.el.gz.
Signature
(isearchb-follow-char)
Documentation
Function added to post-command-hook to handle the isearchb "mode".
Source Code
;; Defined in /usr/src/emacs/lisp/isearchb.el.gz
(defun isearchb-follow-char ()
"Function added to `post-command-hook' to handle the isearchb \"mode\"."
(let (keys)
(if (not (and (memq last-command '(isearchb isearchb-activate))
(setq keys (this-command-keys))
(= 1 (length keys))))
(isearchb-stop)
(cond
((or (equal keys "\C-h") (equal keys "\C-?")
(equal keys [backspace]) (equal keys [delete]))
(setq iswitchb-text
(substring iswitchb-text 0 (1- (length iswitchb-text))))
(if (= 0 (length iswitchb-text))
(isearchb-stop t t)
(setq last-command-event nil)
(setq this-command 'isearchb)))
((or (equal keys "\C-i") (equal keys [tab]))
(setq this-command 'isearchb-iswitchb))
((equal keys "\C-s")
(iswitchb-next-match)
(setq last-command-event nil)
(setq this-command 'isearchb))
((equal keys "\C-r")
(iswitchb-prev-match)
(setq last-command-event nil)
(setq this-command 'isearchb))
((equal keys "\C-g")
(ding)
(isearchb-stop t t))
((eq (lookup-key global-map keys) 'self-insert-command)
(setq this-command 'isearchb)))
(if (and isearchb-idle-timeout
(null isearchb-idle-timer))
(setq isearchb-idle-timer
(run-with-idle-timer isearchb-idle-timeout nil
'isearchb-stop))))))