;;; gnus-diary.el --- Wrapper around the NNDiary Gnus backend
-;; Copyright (C) 1999-2001 Didier Verna.
+;; Copyright (c) 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001 Didier Verna.
;; Author: Didier Verna <didier@xemacs.org>
;; Maintainer: Didier Verna <didier@xemacs.org>
-;; Created: Tue Jul 20 10:42:55 1999 under XEmacs 21.2 (beta 18)
-;; Last Revision: Wed Sep 12 12:31:09 2001
+;; Created: Tue Jul 20 10:42:55 1999
;; Keywords: calendar mail news
-;; This file is part of NNDiary.
+;; This file is part of GNU Emacs.
-;; NNDiary is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2 of the License, or
-;; (at your option) any later version.
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published
+;; by the Free Software Foundation; either version 2 of the License,
+;; or (at your option) any later version.
-;; NNDiary is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
+;; GNU Emacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
"Current Diary backend version.")
+;; Compatibility functions ==================================================
+
+(eval-and-compile
+ (if (fboundp 'kill-entire-line)
+ (defalias 'gnus-diary-kill-entire-line 'kill-entire-line)
+ (defun gnus-diary-kill-entire-line ()
+ (beginning-of-line)
+ (let ((kill-whole-line t))
+ (kill-line)))))
+
+
;; Summary line format ======================================================
(defun gnus-diary-delay-format-french (past delay)
(o1 (nndiary-next-occurence s1 now))
(o2 (nndiary-next-occurence s2 now)))
(if (and (= (car o1) (car o2)) (= (cadr o1) (cadr o2)))
- (< (mail-header-number h1) (mail-header-number h2))
+ (< (mail-header-number h1) (mail-header-number h2))
(time-less-p o1 o2))))
(interactive "P")
(gnus-summary-sort 'schedule reverse))
-(defvar gnus-summary-misc-menu)
-
+(defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning.
+;; The function `easy-menu-add-item' is not available under Emacs
+;; versions prior to 20.3. Could anyone try to emulate it?
+(if (eval-when-compile
+ (require 'easymenu)
+ (or (fboundp 'easy-menu-add-item)
+ (progn
+ (defalias 'easy-menu-add-item 'ignore)
+ nil)))
(add-hook 'gnus-summary-menu-hook
(lambda ()
(easy-menu-add-item gnus-summary-misc-menu
gnus-newsgroup-name))
'nndiary)]
"Sort by number")))
+ )
;; Diary Message Checking ===================================================
-(eval-and-compile
- (if (fboundp 'kill-entire-line)
- (defalias 'gnus-diary-kill-entire-line 'kill-entire-line)
- (defun gnus-diary-kill-entire-line ()
- (beginning-of-line)
- (let ((kill-whole-line t))
- (kill-line)))))
-
(defvar gnus-diary-header-value-history nil
;; History variable for header value prompting
)
(let ((prompt (concat (and invalid
(prog1 "(current value invalid) "
(beep)))
- header
- (and (not value) " (defaults to `*')")
- ": ")))
+ header ": ")))
(setq value
(if (listp (nth 1 head))
(completing-read prompt (cons '("*" nil) (nth 1 head))
nil t value
- gnus-diary-header-value-history "*")
+ gnus-diary-header-value-history)
(read-string prompt value
- gnus-diary-header-value-history "*"))))
+ gnus-diary-header-value-history))))
(setq ask nil)
(setq invalid nil)
(condition-case ()