Hello,
I wrote two small patches. The first one marks org-diary-class as obsolete
(according to its documentation it is deprecated). The second one is a
patch for org-class. It changes org-class to skip entries that are on
holidays.

Maybe the second change should be made optional.

Regards,
Rüdiger

P.S. I have signed the FSF papers.
From 3774298aeb959b36bf39ac0988999b94198c1984 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= <ruedi...@c-plusplus.de>
Date: Mon, 10 Oct 2011 20:59:28 +0200
Subject: [PATCH 1/2] Mark org-diary-class as obsolete (use org-class).

---
 lisp/org-agenda.el |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index b208d1e..faca285 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4913,6 +4913,7 @@ please use `org-class' instead."
      (nth 2 date1) (car date1) (nth 1 date1)
      (nth 2 date2) (car date2) (nth 1 date2)
      dayname skip-weeks)))
+(make-obsolete 'org-diary-class 'org-class "")
 
 (defalias 'org-get-closed 'org-agenda-get-progress)
 (defun org-agenda-get-progress ()
-- 
1.7.7

From 66fdd7995556002c4b5061641dbac5c1a7788d02 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= <ruedi...@c-plusplus.de>
Date: Mon, 10 Oct 2011 21:07:02 +0200
Subject: [PATCH 2/2] org-class: Skip entries on holidays.

---
 lisp/org-agenda.el |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index faca285..8fe9cc7 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4881,7 +4881,7 @@ This function is invoked if 
`org-agenda-todo-ignore-deadlines',
   "Entry applies if date is between dates on DAYNAME, but skips SKIP-WEEKS.
 DAYNAME is a number between 0 (Sunday) and 6 (Saturday).  SKIP-WEEKS
 is any number of ISO weeks in the block period for which the item should
-be skipped."
+be skipped. Entries are also skipped if they happen on a holiday."
   (let* ((date1 (calendar-absolute-from-gregorian (list m1 d1 y1)))
         (date2 (calendar-absolute-from-gregorian (list m2 d2 y2)))
         (d (calendar-absolute-from-gregorian date)))
@@ -4893,6 +4893,7 @@ be skipped."
         (progn
           (require 'cal-iso)
           (not (member (car (calendar-iso-from-absolute d)) skip-weeks))))
+     (not (calendar-check-holidays date))
      entry)))
 
 (defun org-diary-class (m1 d1 y1 m2 d2 y2 dayname &rest skip-weeks)
-- 
1.7.7

Reply via email to