- (if (and diary-display-function
- (listp diary-display-function))
- ;; Backwards compatibility.
- (run-hooks 'diary-display-function)
- (funcall (or diary-display-function
- 'diary-simple-display))))
+ ;; Avoid M-x diary; M-x calendar; M-x diary
+ ;; clobbering the calendar window.
+ ;; FIXME this is not the right solution.
+ (let ((display-buffer-fallback-action
+ (list (delq
+ 'display-buffer-in-previous-window
+ (copy-sequence
+ (car display-buffer-fallback-action))))))
+ (funcall diary-display-function)))