(diary-list-sexp-entries): Doc fix.
authorGlenn Morris <rgm@gnu.org>
Wed, 23 Apr 2008 03:06:11 +0000 (03:06 +0000)
committerGlenn Morris <rgm@gnu.org>
Wed, 23 Apr 2008 03:06:11 +0000 (03:06 +0000)
(diary-remind): Allow negative DAYS to represent a range 1:DAYS.
Suggested by Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>.

lisp/ChangeLog
lisp/calendar/diary-lib.el

index 88ee00d..afd182e 100644 (file)
@@ -1,3 +1,36 @@
+2008-04-23  Glenn Morris  <rgm@gnu.org>
+
+       * dframe.el (dframe-have-timer-flag): Drop support for Emacs without
+       timers.  Doc fix.
+       (dframe-update-speed): Drop support for XEmacs < 20.
+       (dframe-frame-mode): Drop support for Emacs < 20.
+       (dframe-set-timer-internal): Drop support for Emacs without timers.
+       (dframe-popup-kludge): Use mouse-menu-major-mode-map if defined.
+
+       * ediff-init.el (ediff-check-version): Drop support for very old Emacs
+       versions.  Add doc-string.  Mark as obsolete.
+
+       * ps-def.el (ps-color-device): Drop support for XEmacs < 19.12.
+
+       * speedbar.el (speedbar-use-tool-tips-flag): Check for tooltip-mode,
+       rather than using an Emacs version test.
+
+       * tree-widget.el (tree-widget-image-enable): Use display-images-p
+       rather than an Emacs version test.
+
+       * calendar/cal-china.el (holiday-chinese-qingming)
+       (holiday-chinese-winter-solstice, holiday-chinese): New functions.
+       * calendar/calendar.el (calendar-chinese-all-holidays-flag): New.
+       * calendar/holidays.el (holiday-oriental-holidays): Add more holidays.
+
+       * calendar/cal-islam.el (holiday-islamic): Doc fix.
+
+       * calendar/calendar.el (calendar-other-dates): Add absolute date.
+
+       * calendar/diary-lib.el (diary-list-sexp-entries): Doc fix.
+       (diary-remind): Allow negative DAYS to represent a range 1:DAYS.
+       Suggested by Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>.
+
 2008-04-23  Nick Roberts  <nickrob@snap.net.nz>
 
        * progmodes/gdb-ui.el (gdb-previous-frame-address): Rename...
index 54c99e3..a62af91 100644 (file)
@@ -1635,8 +1635,9 @@ DAY MONTH YEAR in the European style).
   %%(diary-remind SEXP DAYS &optional MARKING) text
     Entry is a reminder for diary sexp SEXP.  DAYS is either a
     single number or a list of numbers indicating the number(s)
-    of days before the event that the warning(s) should occur.  If
-    the current date is (one of) DAYS before the event indicated
+    of days before the event that the warning(s) should occur.
+    A negative number -DAYS has the same meaning as a list (1 2 ... DAYS).
+    If the current date is (one of) DAYS before the event indicated
     by EXPR, then a suitable message (as specified by
     `diary-remind-message') appears.  In addition to the
     reminders beforehand, the diary entry also appears on the
@@ -1915,21 +1916,27 @@ string to use when highlighting the day in the calendar."
 
 (defun diary-remind (sexp days &optional marking)
   "Provide a reminder of a diary entry.
-SEXP is a diary-sexp.  DAYS is either a single number or a list of numbers
-indicating the number(s) of days before the event that the warning(s) should
-occur on.  If the current date is (one of) DAYS before the event indicated by
-SEXP, then a suitable message (as specified by `diary-remind-message' is
-returned.
-
-In addition to the reminders beforehand, the diary entry also appears on the
-date itself.
-
-A `diary-nonmarking-symbol' at the beginning of the line of the `diary-remind'
-entry specifies that the diary entry (not the reminder) is non-marking.
-Marking of reminders is independent of whether the entry itself is a marking
-or nonmarking; if optional parameter MARKING is non-nil then the reminders are
-marked on the calendar."
+SEXP is a diary-sexp.  DAYS is either a single number or a list
+of numbers indicating the number(s) of days before the event that
+the warning(s) should occur on.  A negative number -DAYS has the
+same meaning as a list (1 2 ... DAYS).  If the current date
+is (one of) DAYS before the event indicated by SEXP, then this function
+returns a suitable message (as specified by `diary-remind-message').
+
+In addition to the reminders beforehand, the diary entry also
+appears on the date itself.
+
+A `diary-nonmarking-symbol' at the beginning of the line of the
+`diary-remind' entry specifies that the diary entry (not the
+reminder) is non-marking.  Marking of reminders is independent of
+whether the entry itself is a marking or nonmarking; if optional
+parameter MARKING is non-nil then the reminders are marked on the
+calendar."
   ;; `date' has a value at this point, from diary-sexp-entry.
+  ;; Convert a negative number to a list of days.
+  (and (integerp days)
+       (< days 0)
+       (setq days (number-sequence 1 (- days))))
   (let ((diary-entry (eval sexp)))
     (cond
      ;; Diary entry applies on date.