Subject: Re: Can't cancel dabbrev-expand (M-/) with C-g

From: David Caldwell <[email-masked]>
Date: Wed, 06 Jul 2011 11:05:15 -0700

On 7/6/11 10:49 AM, Lars Magne Ingebrigtsen wrote:
> David Caldwell <[email-masked]> writes:
> 
>>>>> If I have many buffers open (284 at the moment) and if I run
>>>>> dabbrev-expand (M-/) to expand the word under my buffers then it
>>>>> searches through every buffer and takes an understandably long
>>>>> time. If I mispelled the word fragment then it never has a hope of
>>>>> finding it and I'd like to cancel the operation. But C-g does not work
>>>>> for some reason and so I have to wait a good 5 to 10 seconds for it to
>>>>> finish scanning all my buffers. This gets very frustrating after the
>>>>> third or fourth time.
> 
> [...]
> 
>> After further testing, I believe this is not really a bug in dabbrev.
>> C-g *does* cancel the operation, it's just that sometimes there is a
>> large lag before it cancels (though in my current tests I've never had
>> it go beyond 2 seconds). I have a ton of buffers open right this moment
>> and fulling scan them takes 15 to 20 seconds, so I can definitely tell
>> that it's canceling.
>>
>> The 1 to 2 second lag is still a little frustrating, but it's much
>> better than the originally reported 5 to 10 second lag. I wonder if it
>> has to do with how the Mac handles the quit signal in windowed mode...
> 
> Do you know if this bug is still present in newer Emacs versions?

It's hard to tell--currently, it seems that scanning through all the
buffers is *really* fast. So it only takes about a second to scan
through my 600 buffers even if I don't cancel it. It doesn't really seem
like canceling makes the process any faster but my level of annoyance is
gone because of the search speedup.

I'm running a version built from bzr on 2011-06-09.

-David