Q:

Org-mode `org-move-subtree-down` function strange behavior

The function org-move-subtree-down exhibits an unwanted behavior IMO: when moving the subtree it considers the whitespace above the subtree that will be moved as "part" of it. I think it's better explained visually:

When we try to move down this subtree, see what happens:

If we try to move the 3rd subtree up starting from the same initial configuration (figure 1), something strange will happen as well:

Looking at the code of the function, one can see that this behavior has been intentionally programmed. I wonder why, and if I'm the only one who dislikes this behavior.
I am currently working on hacking this function to correct this behavior, and will propose changes to developers, but wanted to see if it's not the case that I'm crazy here. Thanks, any thoughts will be helpful.
Here is the file I used for you to try the same commands.

A:

Thanks for your observation.  I also think this behavior is strange.
The behavior possibly helps some users to maintain certain whitespace patterns for their org files.
With commit 
https://code.orgmode.org/bzg/org-mode/commit/a0a40a465108d952ee6452d299ecbc5ffc4ed18a
the movement has been changed to fit your original expectation, I guess.

