[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 93136b9: Parse the whole buffer at once in compile.el
From: |
Lars Ingebrigtsen |
Subject: |
master 93136b9: Parse the whole buffer at once in compile.el |
Date: |
Fri, 14 Aug 2020 10:23:21 -0400 (EDT) |
branch: master
commit 93136b980ade2bdd1053128ce103c7ac53a2ad0e
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
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 3106c61..a043bbc 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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 93136b9: Parse the whole buffer at once in compile.el,
Lars Ingebrigtsen <=