# HG changeset patch # User Roland McGrath # Date 712963766 0 # Node ID 7aa20c8e89b7090d40ad12996ea1d8db5b1a2e58 # Parent 1e2e41fd188bc46e6ecf192685c7c198f8868579 *** empty log message *** diff -r 1e2e41fd188b -r 7aa20c8e89b7 lisp/progmodes/compile.el --- a/lisp/progmodes/compile.el Tue Aug 04 21:22:43 1992 +0000 +++ b/lisp/progmodes/compile.el Tue Aug 04 21:29:26 1992 +0000 @@ -869,8 +869,10 @@ ;; because we want to find matches containing LIMIT-SEARCH ;; but which extend past it. (re-search-forward regexp nil t)) + ;; Figure out which constituent regexp matched. (cond ((match-beginning enter-group) + (funcall progress) ;; The match was the enter-directory regexp. (let ((dir (file-name-as-directory @@ -883,6 +885,7 @@ (setq default-directory dir)))) ((match-beginning leave-group) + (funcall progress) ;; The match was the leave-directory regexp. (let ((beg (match-beginning (+ leave-group 1))) (stack compilation-directory-stack)) @@ -936,14 +939,17 @@ (cons filename linenum)) compilation-error-list)))) (setq nfound (1+ nfound)) - (message "Parsing error messages...%d (%d%% of buffer)" - nfound - (/ (* 100 (point)) (point-max))) + (funcall progress) (and find-at-least (>= nfound find-at-least) ;; We have found as many new errors as the user wants. (setq found-desired t))) (t (error "compilation-parse-errors: impossible regexp match!"))) + + (message "Parsing error messages...%d (%d%% of buffer)" + nfound + (/ (* 100 (point)) (point-max))) + (and limit-search (>= (point) limit-search) ;; The user wanted a specific error, and we're past it. (setq found-desired t)))