Function: wgrep-goto-grep-line
wgrep-goto-grep-line is a natively compiled function defined in
wgrep.el.
Signature
(wgrep-goto-grep-line FILE NUMBER)
Source Code
;; Defined in /nix/store/pbj4kr4ar755h56yscbqpnmv3swf8i1k-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214/wgrep.el
(defun wgrep-goto-grep-line (file number)
(let ((first (point))
(fprop (wgrep-construct-filename-property file))
fn next)
(catch 'found
;; FIXME
;; In a huge buffer, `next-single-property-change' loop make
;; slow down the program.
;; 1. sketchy move by filename (wgrep-fn-* property).
;; 2. search filename and line-number in text property.
;; 3. return to 1. while search is done or EOB.
(goto-char (point-min))
(while (setq next (next-single-property-change (point) fprop))
(goto-char next)
(while (and (not (eobp))
(or (null (setq fn (get-text-property
(line-beginning-position)
'wgrep-line-filename)))
(string= fn file)))
(when fn
(let ((num (get-text-property (point) 'wgrep-line-number))
(start (next-single-property-change (point) 'wgrep-line-number)))
(when (eq number num)
(goto-char start)
(throw 'found t))))
(forward-line 1)))
(goto-char first)
nil)))