Daniel Martins <daniel...@gmail.com> writes: > In fact, it helps! Thanks > > However a sentence like this: > > +# a class that meets every Monday evening between February 16 and > April 20, 2009 > ** Class 7:00pm-9:00pm > <%%(and (= 1 (calendar-day-of-week date)) (diary-block 2 16 2009 4 20 2009))> > > is not an example of simplicity and visibility for a quite common > feature!
This is perhaps one of the most frequently asked questions about an FAQ. :) Alas, given my meager elisp skills, you'd have to ask Carsten if he cares to implement this. > Maybe as a suggestion we could encapsulate such a huge expression in a > simpler org-mode function ? As you suggested, one could simply add the function below to one's ~/.emacs for a shorter/easier way to enter weekly events that last for a limited span of time. (I would recommend removing the holidays check unless you've already configured holidays for your locale.) Best, Matt > PS In > > http://www.emacswiki.org/cgi-bin/wiki/DiaryMode#toc12 > > I found another suggestion which I do not know how to include in org-mode > > > ------------------------------------ > Schedule > > If you want to write a schedule for school or university, you need to > define a block (it’s derived from diary-block) between two dates and a > weekday. The following function also recognizes holidays and won’t > send you to school on those days… :) > > (defun diary-schedule (m1 d1 y1 m2 d2 y2 dayname) > "Entry applies if date is between dates on DAYNAME. > Order of the parameters is M1, D1, Y1, M2, D2, Y2 if > `european-calendar-style' is nil, and D1, M1, Y1, D2, M2, Y2 if > `european-calendar-style' is t. Entry does not apply on a history." > (let ((date1 (calendar-absolute-from-gregorian > (if european-calendar-style > (list d1 m1 y1) > (list m1 d1 y1)))) > (date2 (calendar-absolute-from-gregorian > (if european-calendar-style > (list d2 m2 y2) > (list m2 d2 y2)))) > (d (calendar-absolute-from-gregorian date))) > (if (and > (<= date1 d) > (<= d date2) > (= (calendar-day-of-week date) dayname) > (not (check-calendar-holidays date)) > ) > entry))) > > Then: "&%%(diary-schedule 22 4 2003 1 8 2003 2) 18:00 History" > > > ------------------------------------ > > > > 2009/12/20 Matt Lundin <m...@imapmail.org>: >> Daniel Martins <daniel...@gmail.com> writes: >> >>> All academics here present (including of course Carsten) suffer from >>> the same problem, I think >>> >>> >>> *** Math classes >>> <2009-12-10 Thu 11:00-14:00 +1w> >>> >>> >>> will repeat forever and ever... >>> >>> We need to create a schedule for a period. >>> >>> The package "remind" (and its simple interface "wyrd") do this job >>> wonderfully but I do not know how to deal with this problem in Org >>> mode >> >> The following FAQ should help: >> >> http://orgmode.org/worg/org-faq.php#diary-sexp-in-org-files >> >> - Matt >> > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode