Transpose Windows
public text v1 · immutable(require 'cl) ; for mapcar* and others
(defun rb-rotate-buffers (&optional arg)
"Rotates the buffers currently displayed."
(interactive "p")
(let* ((windows (window-list))
(buffers (mapcar 'window-buffer windows)))
(mapcar* '(lambda (w b) (set-window-buffer w b))
windows
(nconc (rest buffers) (list (first buffers))))))