all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Leo <sdl.web@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: [appt] allow specifying warning time in diary
Date: Wed, 08 Sep 2010 16:34:52 +0200	[thread overview]
Message-ID: <jwvaans9ue1.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <m1r5h41upk.fsf@cam.ac.uk> (Leo's message of "Wed, 08 Sep 2010 09:54:31 +0100")

> 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))





  parent reply	other threads:[~2010-09-08 14:34 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08  8:54 [appt] allow specifying warning time in diary Leo
2010-09-08  9:29 ` Andreas Schwab
2010-09-08  9:48   ` Leo
2010-09-08 14:34 ` Stefan Monnier [this message]
2010-09-08 14:55   ` Leo
2010-09-08 20:38     ` Leo
2010-09-09  8:54       ` Daniel Pittman
2010-09-10 11:11         ` Leo
2010-09-14  0:22           ` Glenn Morris
2010-09-25 13:21             ` Leo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvaans9ue1.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=sdl.web@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.