[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bs-show breaks and get confused about the minibuffer
From: |
martin rudalics |
Subject: |
Re: bs-show breaks and get confused about the minibuffer |
Date: |
Fri, 29 Aug 2008 16:34:36 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (Windows/20080708) |
>> err = no_switch_window (selected_window);
>> if (err)
>> /* If can't display in current window, let pop-to-buffer
>> try some other window. */
>> return call3 (intern ("pop-to-buffer"), buffer, Qnil, norecord);
>>
>> so Emacs should ignore this but God knows what really happens.
>
> Hmm. Doesn't `pop-to-buffer' use `display-buffer'? Maybe the error is
> caused in there. My `display-buffer' starts like this:
>
> (defun my-display-buffer (buffer &optional not-this-window)
> (if (minibufferp)
> (with-selected-window (minibuffer-selected-window)
> (my-display-buffer buffer nil))
> ...))
Do you use this as `display-buffer-function'?
> So it's conceivable I've worked around the same error, once.
Maybe. I forgot that the C version of `display-buffer' used to call
no_switch_window. Hence the error might result from there since
`bs-tmp-select-other-window' calls `display-buffer'. With Emacs 23
no_switch_window is exclusively called by `switch-to-buffer' which is
still in C (I moved mine to Elisp and don't have no_switch_window any
more).
In any case signalling that bug in no_switch_window doesn't make sense
IMHO since thereafter `pop-to-buffer' is called anyway.
martin