Some might consider it "ugly" since we're introducing a special hidden work-buffer for the crawler to use. Maybe a temp-buffer would be just as good. I didn't profile it to see how big of an improvement the declared hidden buffer is compared to just using temp-buffers. But compared to the original code, this it's fast! Orders of magnitude. At least on windows machines. Should be the same on Linux. Also: No hooks, no bloat in the buffer-list for the user.
Do with this what you wish. :)
Some might consider it "ugly" since we're introducing a special hidden work-buffer for the crawler to use. Maybe a temp-buffer would be just as good. I didn't profile it to see how big of an improvement the declared hidden buffer is compared to just using temp-buffers. But compared to the original code, this it's fast! Orders of magnitude. At least on windows machines. Should be the same on Linux. Also: No hooks, no bloat in the buffer-list for the user.