Subject: 24.2.50; Debugger messes up current-buffer

From: Helmut Eller <[email-masked]>
Date: Mon, 24 Sep 2012 10:31:04 +0200

The debugger now changes the current buffer in the following situation:

1. Create a file foo.el with this code:

(progn
  (require 'cl)
  (defun foo ()
    (with-current-buffer (get-buffer-create "test")
      (let ((b (current-buffer)))
	(debug)
	(assert (eq b (current-buffer)) t))))
  (foo))

2. In the foo.el buffer, evaluate the expression with C-x C-e

3. The debugger pops up with this message:
   Debugger entered: nil

4. Press c (i.e. debugger-continue)

5. The assertion fails with:
  Assertion failed: (eq b (current-buffer)), #<buffer test>, #<buffer foo.el>

This is a regression to older versions.

In GNU Emacs 24.2.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2012-09-22 on ix
Bzr revision: 110128 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Configured using:
 `configure '--with-jpeg=no' '--with-gif=no' '--with-tiff=no''