From 93136b980ade2bdd1053128ce103c7ac53a2ad0e Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Fri, 14 Aug 2020 16:18:01 +0200 Subject: [PATCH] Parse the whole buffer at once in compile.el * lisp/progmodes/compile.el (compilation-next-single-property-change): Parse whole buffer at once (bug#42806). Also remove the comment that mentioned that it is an option to do it in one go as we now actually start doing. As the existence of that comment suggested, there is not really a reason to process the buffer in small chunks. On the contrary, processing the output in arbitrary units can result in certain constructs not being recognized because they begin in one arbitrary chunk, while ending in another. --- lisp/progmodes/compile.el | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3106c61585e..a043bbcfa3c 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -2417,12 +2417,9 @@ and runs `compilation-filter-hook'." &optional object limit) (let (parsed res) (while (progn - ;; We parse the buffer here "on-demand" by chunks of 500 chars. - ;; But we could also just parse the whole buffer. (compilation--ensure-parse (setq parsed (max compilation--parsed - (min (+ position 500) - (or limit (point-max)))))) + (or limit (point-max))))) (and (or (not (setq res (next-single-property-change position prop object limit))) (eq res limit)) -- 2.39.5