GNU bug report logs - #754
Can't cancel dabbrev-expand (M-/) with C-g

Previous Next

Package: emacs;

Reported by: David Caldwell <david <at> porkrind.org>

Date: Thu, 21 Aug 2008 00:10:05 UTC

Severity: minor

Done: Lars Magne Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chong Yidong <cyd <at> stupidchicken.com>
To: David Caldwell <david <at> porkrind.org>
Cc: 754 <at> debbugs.gnu.org
Subject: bug#754: Can't cancel dabbrev-expand (M-/) with C-g
Date: Thu, 21 Aug 2008 11:48:34 -0400
> 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.

I don't see why C-g wouldn't work here.  Could you apply the following
patch and see if the problem persists?  (This is not a fix; it's an
attempt to diagnose the problem.  As far as I know, quitting should not
be inhibited here.)

*** emacs/lisp/dabbrev.el.~1.83.2.3.~	2008-01-06 21:44:58.000000000 -0500
--- emacs/lisp/dabbrev.el	2008-08-21 11:43:59.000000000 -0400
***************
*** 777,783 ****
  	     (setq dabbrev--friend-buffer-list
  		   (dabbrev--make-friend-buffer-list))))
         ;; Walk through the buffers till we find a match.
!        (let (expansion)
  	 (while (and (not expansion) dabbrev--friend-buffer-list)
  	   (setq dabbrev--last-buffer (pop dabbrev--friend-buffer-list))
  	   (set-buffer dabbrev--last-buffer)
--- 777,784 ----
  	     (setq dabbrev--friend-buffer-list
  		   (dabbrev--make-friend-buffer-list))))
         ;; Walk through the buffers till we find a match.
!        (let ((inhibit-quit nil)
! 	     expansion)
  	 (while (and (not expansion) dabbrev--friend-buffer-list)
  	   (setq dabbrev--last-buffer (pop dabbrev--friend-buffer-list))
  	   (set-buffer dabbrev--last-buffer)




This bug report was last modified 13 years and 318 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.