Function: vi-find-char
vi-find-char is a byte-compiled function defined in vi.el.gz.
Signature
(vi-find-char ARG COUNT)
Documentation
Find in DIRECTION (1/-1) for CHAR of COUNT'th times on current line.
If UPTO-FLAG is T, stop before the char. ARG = (DIRECTION.CHAR.UPTO-FLAG.
Source Code
;; Defined in /usr/src/emacs/lisp/obsolete/vi.el.gz
(vi-find-char (cons (* (car find-arg) -1) (cdr find-arg)) count))) ;6/13/86
(defun vi-find-char (arg count)
"Find in DIRECTION (1/-1) for CHAR of COUNT'th times on current line.
If UPTO-FLAG is T, stop before the char. ARG = (DIRECTION.CHAR.UPTO-FLAG."
(let* ((direction (car arg)) (char (car (cdr arg)))
(upto-flag (cdr (cdr arg))) (pos (+ (point) direction)))
(if (catch 'exit-find-char
(while t
(cond ((null (char-after pos)) (throw 'exit-find-char nil))
((char-equal (char-after pos) ?\n) (throw 'exit-find-char nil))
((char-equal char (char-after pos)) (setq count (1- count))
(if (= count 0)
(throw 'exit-find-char
(if upto-flag
(setq pos (- pos direction))
pos)))))
(setq pos (+ pos direction))))
(goto-char pos)
(ding))))