Subject: Re: bug#10851: Error edebugging read-char-by-name

From: Juanma Barranquero <[email-masked]>
Date: Mon, 20 Feb 2012 13:52:59 +0100

The initial analysis by Martin:

"In `edebug-pop-to-buffer' the following
branch is taken in both versions:

        ((one-window-p 'nomini)
         ;; When there's one window only, split it.
         (split-window))

The difference between 23.4 and 24.1 lies in the fact that with 23.4 the
selected window is the frame's root window while with 24.1 the selected
window is the minibuffer window.  Now asking to split the minibuffer
window is surely wrong, so `edebug-pop-to-buffer' should check that case
anyway.  But we should be able to find out which change is responsible
for calling `edebug-pop-to-buffer' with the minibuffer window selected.

FWIW this is due to the following change in `read-char-by-name' which
instead of

        (input (completing-read prompt ucs-completions)))

now does

        (input (completing-read
                prompt
                (lambda (string pred action)
                  (if (eq action 'metadata)
                      '(metadata (category . unicode-name))
                    (complete-with-action action (ucs-names) string pred))))))

and here I suppose (I didn't check) that we enter `complete-with-action'
and somehow change the selected window under the feet of edebug."