Basically I want the *Messages* buffer to always scroll to the bottom when a new message arrives.
Can I do that?
This code seems a bit overkill, but a the simple (goto-char (point-max))
wasn't working for me:
(defadvice message (after message-tail activate)
"goto point max after a message"
(with-current-buffer "*Messages*"
(goto-char (point-max))
(let ((windows (get-buffer-window-list (current-buffer) nil t)))
(while windows
(set-window-point (car windows) (point-max))
(setq windows (cdr windows))))))