[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [appt] allow specifying warning time in diary
From: |
Stefan Monnier |
Subject: |
Re: [appt] allow specifying warning time in diary |
Date: |
Wed, 08 Sep 2010 16:34:52 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> When I put an appointment in the diary, sometimes I also want to set an
> alert time. For example, if I am meeting a friend in London, I need a
> notice 3 hours before the appointment.
> The attached patch allows inserting in the diary something like this:
Looks good, thank you; can someone install it?
Stefan
> Saturday
> 13:00 #180 Lunch with Theresa.
> Is this feature useful?
> Leo
> Modified lisp/calendar/appt.el
> diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el
> index 15a9d54..e70644c 100644
> --- a/lisp/calendar/appt.el
> +++ b/lisp/calendar/appt.el
> @@ -273,6 +273,12 @@ for a warning to be issued. The format of the time can
> be either
> Thursday
> 11:45am Lunch meeting.
> +Optionally you can specify a warning time for an entry following
> +the time. For example:
> +
> + Thursday
> + 11:45am #20 Lunch meeting.
> +
> Appointments are checked every `appt-display-interval' minutes.
> The following variables control appointment notification:
> @@ -579,7 +585,8 @@ appointment package (if it is not already active)."
> (calendar-current-date) (caar entry-list)))
> (setq time-string (cadr (car entry-list)))
> (while (string-match appt-time-regexp time-string)
> - (let* ((beg (match-beginning 0))
> + (let* ((time-beg (match-beginning 0))
> + (time-end (match-end 0))
> ;; Get just the time for this appointment.
> (only-time (match-string 0 time-string))
> ;; Find the end of this appointment
> @@ -590,9 +597,20 @@ appointment package (if it is not already active)."
> (match-end 0)))
> ;; Get the whole string for this appointment.
> (appt-time-string
> - (substring time-string beg end))
> + (substring time-string time-beg end))
> + (warntime
> + (when (and (string-match
> + "[ \t]*#\\([-+]?[0-9]+\\)[ \t]*"
> + appt-time-string time-end)
> + (= (match-beginning 0) time-end))
> + (prog1 (string-to-number
> + (match-string 1 appt-time-string))
> + (setq appt-time-string
> + (replace-match " " nil nil
> + appt-time-string)))))
> (appt-time (list (appt-convert-time only-time)))
> - (time-msg (list appt-time appt-time-string)))
> + (time-msg (list appt-time appt-time-string
> + nil warntime)))
> ;; Add this appointment to appt-time-msg-list.
> (setq appt-time-msg-list
> (nconc appt-time-msg-list (list time-msg))
- [appt] allow specifying warning time in diary, Leo, 2010/09/08
- Re: [appt] allow specifying warning time in diary, Andreas Schwab, 2010/09/08
- Re: [appt] allow specifying warning time in diary,
Stefan Monnier <=
- Re: [appt] allow specifying warning time in diary, Leo, 2010/09/08
- Re: [appt] allow specifying warning time in diary, Leo, 2010/09/08
- Re: [appt] allow specifying warning time in diary, Daniel Pittman, 2010/09/09
- Re: [appt] allow specifying warning time in diary, Leo, 2010/09/10
- Re: [appt] allow specifying warning time in diary, Glenn Morris, 2010/09/13
- Re: [appt] allow specifying warning time in diary, Leo, 2010/09/25