Subject: I have found the location of this bug...

From: Michael Welsh Duggan <[email-masked]>
Date: Fri, 27 Nov 2009 12:51:58 -0500

This bug is due to the Stefan Monnier's commit on 2009-10-31.  In
particular, reverting the following diff solves this problem:

---------------------------- lisp/progmodes/gud.el ----------------------------
index 49637f9..e3413ab 100644
@@ -2828,14 +2828,13 @@ Obeying it means displaying in another window the specified file and line."
   "Invoke the debugger COMMAND displaying source in other window."
   (interactive)
   (gud-set-buffer)
   (let ((proc (get-buffer-process gud-comint-buffer)))
     (or proc (error "Current buffer has no process"))
     ;; Arrange for the current prompt to get deleted.
-    (save-excursion
-      (set-buffer gud-comint-buffer)
+    (with-current-buffer gud-comint-buffer
       (save-restriction
 	(widen)
 	(if (marker-position gud-delete-prompt-marker)
 	    ;; We get here when printing an expression.
 	    (goto-char gud-delete-prompt-marker)
 	  (goto-char (process-mark proc))

-- 
Michael Welsh Duggan
([email-masked])