Subject: Re: bug#38502: 27.0.50; minibuffer-scroll-other-window with multiple frames

From: Juri Linkov <[email-masked]>
Date: Fri, 06 Dec 2019 02:02:53 +0200

> I think this is new within the last week or so.
> When a completion frame pops up while using the minibuffer,
> normally the minibuffer-scroll-other-window(-down) functions
> scroll the completion window.  However, now when emacs is split
> into two horizontal frames, these functions ignore the
> completion buffer and scroll the others.
>
> To reproduce from emacs -Q:
>
>     C-x 3
>     M-: (mak
>     TAB for completions
>     C-M-v

TAB and S-TAB should scroll the the completion buffer.  But what about C-M-v?
Is it documented somewhere what buffer it's intended to scroll?
I can find only this text in (info "(emacs) Minibuffer Edit"):

     The ‘C-M-v’ command in the minibuffer scrolls the help text from
  commands that display help text of any sort in another window.  You can
  also scroll the help text with ‘M-<PageUp>’ and ‘M-<PageDown>’ (or,
  equivalently, ‘M-<prior>’ and ‘M-<next>’).  This is especially useful
  with long lists of possible completions.

Does this mean the help text is the same as the completion buffer?

If yes, then this patch should fix it:

diff --git a/lisp/simple.el b/lisp/simple.el
index 47ce0364d1..7d91678ff7 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1517,6 +1517,7 @@ read-expression-map
     ;; Might as well bind TAB to completion, since inserting a TAB char is
     ;; much too rarely useful.
     (define-key m "\t" 'completion-at-point)
+    (define-key m [remap minibuffer-scroll-other-window] 'scroll-other-window)
     (set-keymap-parent m minibuffer-local-map)
     m))