better emacs buffer rotation function courtesy of re5et