Skip to main content

31.6 Holidays

The Emacs calendar knows about many major and minor holidays, and can display them. You can add your own holidays to the default list.

mouse-3 Holidays​

h​

Display holidays for the selected date (calendar-cursor-holidays).

x​

Mark holidays in the calendar window (calendar-mark-holidays).

u​

Unmark calendar window (calendar-unmark).

a​

List all holidays for the displayed three months in another window (calendar-list-holidays).

M-x holidays​

List all holidays for three months around today’s date in another window.

M-x list-holidays​

List holidays in another window for a specified range of years.

To see if any holidays fall on a given date, position point on that date in the calendar window and use the h command. Alternatively, click on that date with mouse-3 and then choose Holidays from the menu that appears. Either way, this displays the holidays for that date, in the echo area if they fit there, otherwise in a separate window.

To view the distribution of holidays for all the dates shown in the calendar, use the x command. This displays the dates that are holidays in a different face. See calendar-holiday-marker. The command applies both to the currently visible months and to other months that subsequently become visible by scrolling. To turn marking off and erase the current marks, type u, which also erases any diary marks (see Diary). If the variable calendar-mark-holidays-flag is non-nil, creating or updating the calendar marks holidays automatically.

To get even more detailed information, use the a command, which displays a separate buffer containing a list of all holidays in the current three-month range. You can use SPC and DEL in the calendar window to scroll that list up and down, respectively.

The command M-x holidays displays the list of holidays for the current month and the preceding and succeeding months; this works even if you don’t have a calendar window. If the variable calendar-view-holidays-initially-flag is non-nil, creating the calendar displays holidays in this way. If you want the list of holidays centered around a different month, use C-u M-x holidays, which prompts for the month and year.

The holidays known to Emacs include United States holidays and the major Bahá’í, Chinese, Christian, Islamic, and Jewish holidays; also the solstices and equinoxes.

The command M-x holiday-list displays the list of holidays for a range of years. This function asks you for the starting and stopping years, and allows you to choose all the holidays or one of several categories of holidays. You can use this command even if you don’t have a calendar window.

The dates used by Emacs for holidays are based on current practice, not historical fact. For example Veteran’s Day began in 1919, but is shown in earlier years.