I'm sorry about the long delay in getting back to this (SSD with unpushed changes was TRIMmed by Windows partition updates a few months ago; I got distracted by other things...). Attached are four patches. The first avoids scrolling the phantom daemon's window by limiting the next-window search in Fother_window_for_scrolling to visible frames on the current terminal, as per the solution to bug#3442. So far, everyone seems to agree this is the reasonable thing to do here as well. The second extends the Emacs and Elisp manuals to document scroll-other-window-down and tries to make the docstrings of Fother_window_for_scrolling and Fscroll_other_window clearer and more accurate. The third tries to simplify beginning-of-buffer-other-window and end-of-buffer-other-window by using the macro with-selected-window. The fourth tries to reduce code duplication in src/window.c by generalising scroll_command to suit all three commands Fscroll_up, Fscroll_down, and Fscroll_other_window. Doing this made it clear that scroll-other-window-down could also be written in terms of scroll_command for simplicity, so this patch moves the former from lisp/window.el to src/window.c. The patch does not move the command's corresponding binding from lisp/bindings.el to keys_of_window in src/window.c because it doesn't look like any of the keys_of_* functions can (or do) make use of the shift modifier. Let me know how the patches can be improved, should these proposals be accepted. Thanks, -- Basil