[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#754: Can't cancel dabbrev-expand (M-/) with C-g
From: |
Chong Yidong |
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)
- bug#754: Can't cancel dabbrev-expand (M-/) with C-g,
Chong Yidong <=