Hi Ian,

> On my computer running 24.5.1 M<up> works as expected. However, on emacs 25.1.50.1 I get ...

First of all, it is important to know in which major mode you are trying to use the M-<up>/<down> bindings. They are undefined by defined and are defined in org-mode-map.

It is also important to know in which minor/major mode maps you are binding those in your config. I would guess that the problem you see does not occur in an emacs -Q session?

It's also important to know that a key can be bound to different command in different minor/major mode maps and in global maps.

Here's the priority:

1. Minor mode map (last enabled minor mode)
2. Major mode map (e.g. org-mode-map)
3. Global map

So even if M-<up> is bound to org-metaup in org-mode-map, if foo-mode-map (some minor mode map) as that key bound to a function 'bar' and if foo-mode is enabled in an org-mode buffer, M-<up> will now call 'bar' instead of 'org-metaup'. So it is important to understand the consequences when making new bindings to minor mode maps (or understand the maps of the minor modes you enable).

but emacs thinks that M-<up> is bound to scroll other window.

Emacs does not bind M-<up> by default to anything. So my guess is that somewhere in your config, you are binding that key to scroll other window. (I myself have been guilty of stepping over org-mode-map bindings in the past. Now I have learnt when to bind keys in global-map vs my own minor mode map which I use when I want my bindings to override everything else).

--

--
Kaushal Modi