GNU bug report logs -
#74090
31.0.50; Problems with dabbrev-expand
Previous Next
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Tue, 29 Oct 2024 17:07:02 UTC
Severity: normal
Found in version 31.0.50
Done: Stephen Berman <stephen.berman <at> gmx.net>
Bug is archived. No further changes may be made.
Full log
Message #47 received at 74090 <at> debbugs.gnu.org (full text, mbox):
> I don't remember seeing such backtrace before this change.
> But now occasionally an error is raised on typing 'M-/':
>
> Debugger entered--Lisp error: (error "Selecting deleted buffer")
> set-buffer(#<killed buffer>)
> (save-current-buffer (set-buffer buf) (if (and (or (eq (current-buffer) dabbrev--last-buffer) ...
> dabbrev-expand(nil)
> funcall-interactively(dabbrev-expand nil)
> command-execute(dabbrev-expand)
>
> because can't set the killed buffer 'buf' here:
>
> (with-current-buffer buf
> (if (and (or (eq (current-buffer) dabbrev--last-buffer)
> (null dabbrev--last-buffer)
> (buffer-live-p dabbrev--last-buffer))
> (numberp dabbrev--last-expansion-location)
> (and (> dabbrev--last-expansion-location (point))))
> (setq dabbrev--last-expansion-location
> (copy-marker dabbrev--last-expansion-location))))
>
> It's difficult to debug because the buffer is already killed at this point.
> But looking at the logic of backtrace, here is a reproducible test case:
>
> 0. emacs-29 -Q
> 1. C-x b foo RET
> 2. Type: abc SPC abd
> 3. C-x b *scratch* RET
> 4. Type: ab M-/
> 5. C-x k foo RET
> 6. Type: SPC ab M-/
Sorry, I meant emacs-30, not emacs-29.
This bug report was last modified 229 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.