Subject: Re: bug#30676: Please make smie-config-guess interruptible

From: Reuben Thomas <[email-masked]>
Date: Fri, 2 Mar 2018 23:28:53 +0000

On 2 March 2018 at 23:22, Noam Postavsky <[email-masked]> wrote:
> Reuben Thomas <[email-masked]> writes:
>
>> On 2 March 2018 at 22:41, Noam Postavsky <[email-masked]> wrote:
>
>>>> It would be nice if one could run smie-config-guess without having to
>>>> worry about it locking up Emacs on large buffers. If it were possible
>>>> to interrupt it with C-g, that would make it friendlier.
>>>
>>> C-g interrupts just fine for me; since it written in lisp, I can't see
>>> why it should be otherwise.
>>
>> Indeed, I was a bit surprised, but I ran it on my ~/.bash_history
>> (about 10Mb, 900,000 lines) and however many times I pressed C-g, it
>> just sat there slowly counting through the "Analyzing" progress meter,
>> and Emacs taking 100% CPU.
>
> I just checked again, with a file produced by re-catting my
> ~/.bash_history until it's 900,000 lines (I got ~13MB), C-g still works
> fine here.

And I reproduced your result with emasc -Q.

I'm puzzled as to how something in my setup could be making it
uninterruptible, but clearly it's not an Emacs bug; do please close
this, and sorry for the noise: I should have thought of an emacs -Q
test before writing the original report.

If I run smie-config-guess manually with my setup, then I can
interrupt it. The problem arose when I ran it as part of
dtrt-indent-mode (3rd-party code that I maintain):
https://github.com/jscheid/dtrt-indent

But now I can't reproduce the problem, whereas I could several times
earlier today. Oh well. Sorry again.

-- 
https://rrt.sc3d.org