Subject: RE: bug#10122: 24.0.91; C-x C-v, invisible text: "Cannot switch...dedicated window"

From: "Drew Adams" <[email-masked]>
Date: Wed, 23 Nov 2011 16:26:06 -0800

Some more info, which should help:

I typed this into the file buffer:
(put-text-property (region-beginning) (region-end) 'invisible t)

I selected that sexp, leaving point just after it, then hit `C-x C-e'.

Then I used `C-x C-v' and got the same problem as before.

Before, I had evaled the sexp using `M-:', which I bind to a command that uses
`pp-eval-expression'.  It apparently does not matter how I eval it, as long as
the evaluation produces a buffer *Pp Eval Output* (which is dedicated, because
of my value of `special-display-regexps').

Even if I move point around a bit in the buffer, to be sure that it (and not,
say, buffer *Pp Eval Output*) is the current buffer, the problem arises.

However, if, after making the region invisible, I kill buffer *Pp Eval Output*
(doesn't matter whether using Buffer Menu or `C-x b'), and I then hit `C-x C-v',
there is no problem.

It seems that it is the mere presence of the *Pp...* buffer that causes the
problem.  Note that *Pp...* was never displayed by evaluating the sexp, since
the value (`nil') was so simple (no need to show it in a separate buffer).  But
the buffer remained in existence, even though it was not displayed.

My guess is that somehow Emacs is thinking that that (dedicated) buffer is the
one being replaced - even though it is definitely not the `current-buffer'.

Sounds like more fallout from the display-buffer makeover?