;;; cal-x.el --- calendar windows in dedicated frames in x-windows
-;; Copyright (C) 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995 Free Software Foundation, Inc.
;; Author: Michael Kifer <kifer@cs.sunysb.edu>
;; Edward M. Reingold <reingold@cs.uiuc.edu>
;;; Code:
(require 'calendar)
-(if (not (fboundp 'calendar-basic-setup))
- (fset 'calendar-basic-setup (symbol-function 'calendar)))
-
-;;;###autoload
-(defvar calendar-setup 'one-frame
- "The frame set up of the calendar.
-The choices are `one-frame' (calendar and diary together in one separate,
-dediciated frame) or `two-frames' (calendar and diary in separate, dedicated
-frames); with any other value the current frame is used.")
-
-(defun calendar (&optional arg)
- "Choose between the one frame, two frame, or basic calendar displays.
-The original function `calendar' has been renamed `calendar-basic-setup'."
- (interactive "P")
- (cond ((equal calendar-setup 'one-frame) (calendar-one-frame-setup arg))
- ((equal calendar-setup 'two-frames) (calendar-two-frame-setup arg))
- (t (calendar-basic-setup arg))))
(defvar calendar-frame nil "Frame in which to display the calendar.")
(set-window-dedicated-p (selected-window) 'calendar)
(set-window-dedicated-p
(display-buffer
- (if (memq 'fancy-diary-display diary-display-hook)
- fancy-diary-buffer
- (get-file-buffer diary-file)))
+ (if (not (memq 'fancy-diary-display diary-display-hook))
+ (get-file-buffer diary-file)
+ (if (not (bufferp (get-buffer fancy-diary-buffer)))
+ (make-fancy-diary-buffer))
+ fancy-diary-buffer))
'diary))))))
-
+
(defun calendar-two-frame-setup (&optional arg)
"Start calendar and diary in separate, dedicated frames."
(if (not window-system)
(save-excursion (diary))
(set-window-dedicated-p
(display-buffer
- (if (memq 'fancy-diary-display diary-display-hook)
- fancy-diary-buffer
- (get-file-buffer diary-file)))
+ (if (not (memq 'fancy-diary-display diary-display-hook))
+ (get-file-buffer diary-file)
+ (if (not (bufferp (get-buffer fancy-diary-buffer)))
+ (make-fancy-diary-buffer))
+ fancy-diary-buffer))
'diary)))))
(setq special-display-buffer-names