emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-calendar-holiday and local holidays


From: Alexis
Subject: Re: [O] org-calendar-holiday and local holidays
Date: Tue, 03 Mar 2015 09:23:18 +1100

On 2015-03-03T02:26:37+1100, Jorge A. Alfaro-Murillo said:

JAA> Alexis writes:

>> When i scroll down to look at the current value of >> `calendar-holidays`, however, i see that neither the current >> value nor the original value makes any reference to the >> `holiday-local-holidays` variable. And indeed, when i examine >> my agenda for next Monday, which is a local holiday i've >> specified in `holiday-local-holidays`, i can't see that local >> holiday. To fix this, i use M-: to evaluate: >> >> (setq calendar-holidays (append calendar-holidays >> holiday-local-holidays)) >> >> after which the local holiday next Monday appears in my Org >> agenda.
JAA> You do not need to add that, calendar-holidays appends JAA> 
holiday-local-holidays when holidays.el is loaded, just restart 
JAA> emacs.
Not in my Emacs (manually compiled 24.4.1, the most recent 
official stable release). My `local-holidays` variable was set for 
years, such that only as part of trying to help the OP did i 
notice that it's been obsoleted; the documentation for it says:
     This variable is an alias for `holiday-local-holidays'. 
     This variable is obsolete since 23.1; use 
     `holiday-local-holidays' instead.
So i changed my init to refer to `holiday-local-holidays` instead 
of `local-holidays`, and restarted Emacs, and the issue persisted: 
the value of `holiday-local-holidays` is /not/ included in 
`calendar-holidays` by default. The `(setq calendar-holidays ...` 
line i described above is necessary to work around this.
JAA> It is also not a documentation bug, at least in my emacs 
JAA> (25.0.50.1) the documentation of calendar-holidays says 
clearly:
JAA> "Note that these variables [`holiday-other-holidays', JAA> 
`holiday-general-holidays', `holiday-local-holidays', JAA> 
`holiday-christian-holidays', `holiday-hebrew-holidays', JAA> 
`holiday-islamic-holidays', `holiday-bahai-holidays', JAA> 
`holiday-oriental-holidays' and `holiday-solar-holidays'] have 
JAA> no effect on `calendar-holidays' after it has been set JAA> 
(e.g. after the calendar is loaded). In that case, customize JAA> 
`calendar-holidays' directly."
In 24.4.1, the documentation is phrased differently; it says:

Additional holidays are easy to add to the list, just put them in the list `holiday-other-holidays' in your init file. Similarly, by setting any of `holiday-general-holidays', `holiday-local-holidays', `holiday-christian-holidays', `holiday-hebrew-holidays', `holiday-islamic-holidays', `holiday-bahai-holidays', `holiday-oriental-holidays', or `holiday-solar-holidays' to nil in your init file, you can eliminate unwanted categories of holidays.
   The aforementioned variables control the holiday choices 
   offered by the function `holiday-list' when it is called 
   interactively.
   They also initialize the default value of `calendar-holidays', 
   which is the default list of holidays used by the function 
   `holiday-list' in the non-interactive case.  Note that these 
   variables have no effect on `calendar-holidays' after it has 
   been set (e.g. after the calendar is loaded).  In that case, 
   customize `calendar-holidays' directly.
   The intention is that (in the US) `holiday-local-holidays' be 
   set in site-init.el and `holiday-other-holidays' be set by the 
   user.
It's the fact that, despite the above docstring, and that, as i 
described above, setting the value of `holiday-local-holidays` has 
no direct effect on `calendar-holidays` /even after a restart of 
Emacs/, that led me to suggest there might be a code bug or a 
documentation bug (e.g. maybe some variable needed to be set to 
`t` to ensure the value of `holiday-local-holidays` gets included 
in `calendar-holidays`).
Since things work for you, and the phrasing for the documentation 
for `calendar-holidays` has changed between the most recent stable 
release and the development version of Emacs you're using, my 
guess is that there is indeed a bug in 24.4.1 and earlier that has 
subsequently been fixed. Later today i'll try building from the 
first 24.5 pretest and the master branch, and examine what happens 
with `holiday-local-holidays` / `calendar-holidays` in both 
instances.

Alexis.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]