>> "JJ" == Jerry James <james(a)xemacs.org>
writes:
JJ> This seems to be related to Nickolay Pakoulin's later message,
entitled
JJ> "[21.5] [BUG] save/restore window configuration". After creating these
JJ> three windows, "C-x b" ultimately causes a call to read-from-minibuffer.
JJ> That function sets oconfig to the value of
JJ> (current-window-configuration) before doing its work, then evaluates
JJ> (set-window-configuration oconfig) just before returning. However, the
JJ> set-window-configuration call fails to do the right thing. It creates
JJ> two windows instead of three, and then selects the minibuffer as the
JJ> current window, resulting in the error reported above.
JJ> Try this:
JJ> 1. Start xemacs with -q
JJ> 2. C-x 2
JJ> 3. C-x o
JJ> 4. C-x 3
JJ> 5. C-x o
JJ> 6. (setq my-config (current-window-configuration)) C-j
JJ> 7. C-x 1
JJ> 8. (set-window-configuration my-config) C-j
Yep I see this as you point out. There are only 2 windows now showing
the *scratch* buffer and the cursor is in the minibuffer.
JJ> At this point, there are 2 windows showing *scratch*, and the cursor is
JJ> in the (empty) minibuffer. Further experiments show that
JJ> set-window-configuration works correctly with two windows, whether split
JJ> horizontally or vertically, but if I make 4 windows by doing C-x 2 and
JJ> then splitting the top and bottom both with C-x 3, then
JJ> set-window-configuration does this:
[...]
JJ> and once again puts point into the minibuffer. It looks like
JJ> set-window-configuration can't handle having the bottom window split.
And this also. So is there a solution to this? If there are any
suggestions I can help with trying them out.
Kaarthik