<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lisp/calendar, branch scratch/string-common-prefix</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>; 'holiday-float': Improve documentation of edge case</title>
<updated>2026-01-10T13:37:55+00:00</updated>
<author>
<name>Jacob S. Gordon</name>
</author>
<published>2026-01-08T21:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=57df5d5cbaf88b21ad53152b145b5b0c8303951d'/>
<id>57df5d5cbaf88b21ad53152b145b5b0c8303951d</id>
<content type='text'>
When MONTH DAY falls on DAYNAME the holiday may be closer to MONTH DAY
than expected.  Describe this situation in the function's doc string.
(Bug#00000)

* lisp/calendar/holidays.el (holiday-float): Improve documentation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When MONTH DAY falls on DAYNAME the holiday may be closer to MONTH DAY
than expected.  Describe this situation in the function's doc string.
(Bug#00000)

* lisp/calendar/holidays.el (holiday-float): Improve documentation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cursor position in calendar-generate-window (bug#80069)</title>
<updated>2026-01-10T12:21:12+00:00</updated>
<author>
<name>Liu Hui</name>
</author>
<published>2026-01-09T13:56:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=53225d8a3a4d8641c8e459658d4fcbc8d03d6e65'/>
<id>53225d8a3a4d8641c8e459658d4fcbc8d03d6e65</id>
<content type='text'>
* lisp/calendar/calendar.el (calendar-generate-window): Move
cursor to today before running calendar-today-visible-hook.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/calendar.el (calendar-generate-window): Move
cursor to today before running calendar-today-visible-hook.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2026-01-01T12:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the date in the calendar mode line (bug#80069)</title>
<updated>2025-12-29T11:36:07+00:00</updated>
<author>
<name>Liu Hui</name>
</author>
<published>2025-12-29T09:50:00+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1fb98f2002df778beb4fe0ef44c5bbb0c0eea2e6'/>
<id>1fb98f2002df778beb4fe0ef44c5bbb0c0eea2e6</id>
<content type='text'>
* lisp/calendar/calendar.el (calendar-redraw)
(calendar-other-month): Make sure that the mode line is updated
after cursor motion in case 'date' is used in
'calendar-mode-line-format'.
(calendar-set-date-style): Delete call to
calendar-update-mode-line because it is called in calendar-draw.
(calendar-generate-window): Delete calls to
calendar-update-mode-line and calendar-cursor-to-visible-date.
It's better for the caller to do it.
(calendar-basic-setup): Update cursor position and mode line.
* lisp/calendar/cal-move.el (calendar-goto-today): Delete
calendar-update-mode-line because calendar-move-hook is called
last.  This is consistent with other cal-move commands.
* test/lisp/calendar/calendar-tests.el
(calendar-test-date-in-mode-line): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/calendar.el (calendar-redraw)
(calendar-other-month): Make sure that the mode line is updated
after cursor motion in case 'date' is used in
'calendar-mode-line-format'.
(calendar-set-date-style): Delete call to
calendar-update-mode-line because it is called in calendar-draw.
(calendar-generate-window): Delete calls to
calendar-update-mode-line and calendar-cursor-to-visible-date.
It's better for the caller to do it.
(calendar-basic-setup): Update cursor position and mode line.
* lisp/calendar/cal-move.el (calendar-goto-today): Delete
calendar-update-mode-line because calendar-move-hook is called
last.  This is consistent with other cal-move commands.
* test/lisp/calendar/calendar-tests.el
(calendar-test-date-in-mode-line): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>calendar-mode-line-format: Fix regexp</title>
<updated>2025-12-17T12:43:00+00:00</updated>
<author>
<name>Liu Hui</name>
</author>
<published>2025-12-17T09:45:46+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f26068dac746cb61db57b86187c5033b9d8dd8b2'/>
<id>f26068dac746cb61db57b86187c5033b9d8dd8b2</id>
<content type='text'>
* lisp/calendar/calendar.el (calendar-mode-line-format): Replace
'*' with '\\*'.
(calendar-get-buffer, calendar-exit):
* lisp/calendar/diary-lib.el (diary-mark-entries): Improve
comment and doc string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/calendar.el (calendar-mode-line-format): Replace
'*' with '\\*'.
(calendar-get-buffer, calendar-exit):
* lisp/calendar/diary-lib.el (diary-mark-entries): Improve
comment and doc string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve support for non-default calendar buffer (bug#79994)</title>
<updated>2025-12-16T11:58:29+00:00</updated>
<author>
<name>Liu Hui</name>
</author>
<published>2025-12-13T13:11:54+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d22dd26fc7937cf9032e025cacf119d970718685'/>
<id>d22dd26fc7937cf9032e025cacf119d970718685</id>
<content type='text'>
* lisp/calendar/calendar.el (calendar-get-buffer): New function.
(calendar-mode-line-format): Support displaying non-default
calendar buffer name.
(calendar-exit): Handle non-default calendar buffer separately.
(calendar-generate-window): Update mode-line after cursor
motion (bug#79994).
(calendar-redraw, calendar-update-mode-line, calendar-unmark)
(calendar-mark-visible-date):
* lisp/calendar/cal-hebrew.el (calendar-hebrew-mark-date-pattern)
(calendar-hebrew-list-yahrzeits):
* lisp/calendar/diary-lib.el (diary-mark-sexp-entries)
(calendar-mark-days-named, calendar-mark-date-pattern)
(calendar-mark-1): Replace 'calendar-buffer' with the new
function or current calendar buffer.
(diary-mark-entries): Record current calendar buffer (bug#79994).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/calendar.el (calendar-get-buffer): New function.
(calendar-mode-line-format): Support displaying non-default
calendar buffer name.
(calendar-exit): Handle non-default calendar buffer separately.
(calendar-generate-window): Update mode-line after cursor
motion (bug#79994).
(calendar-redraw, calendar-update-mode-line, calendar-unmark)
(calendar-mark-visible-date):
* lisp/calendar/cal-hebrew.el (calendar-hebrew-mark-date-pattern)
(calendar-hebrew-list-yahrzeits):
* lisp/calendar/diary-lib.el (diary-mark-sexp-entries)
(calendar-mark-days-named, calendar-mark-date-pattern)
(calendar-mark-1): Replace 'calendar-buffer' with the new
function or current calendar buffer.
(diary-mark-entries): Record current calendar buffer (bug#79994).
</pre>
</div>
</content>
</entry>
<entry>
<title>; (calendar-bahai--twin-birthdays-reference-dates): Fix quoting.</title>
<updated>2025-12-06T11:58:19+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-12-06T11:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e214b1337007b1a6a38108d5a61dc07643a89522'/>
<id>e214b1337007b1a6a38108d5a61dc07643a89522</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Bahá'í calendar for 2014 calendar reform</title>
<updated>2025-12-06T11:54:53+00:00</updated>
<author>
<name>John Wiegley</name>
</author>
<published>2025-12-01T00:10:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1dd0fd6e4e35eb6c0ce8062efb15e36acd826344'/>
<id>1dd0fd6e4e35eb6c0ce8062efb15e36acd826344</id>
<content type='text'>
In 2014, the Universal House of Justice announced modifications to
the Badí' calendar to bring it more in line with its original design.
&gt;From 172 BE (Naw-Rúz 2015) onwards, Naw-Rúz is determined by the
vernal equinox as observed from Tehran, and the Twin Holy Birthdays
are calculated from the eighth new moon after Naw-Rúz.

* doc/emacs/calendar.texi (Calendar Systems): Update Bahá'í calendar
description to mention the 2014 reform, Ayyám-i-Há, and the
astronomical basis for Naw-Rúz and Twin Holy Birthday calculations.

* lisp/calendar/cal-bahai.el: Require 'solar' and 'lunar' for
astronomical calculations.
(calendar-bahai-tehran-latitude)
(calendar-bahai-tehran-longitude)
(calendar-bahai-tehran-timezone)
(calendar-bahai-reform-year): New constants for Tehran-based
astronomical observations and reform year (172 BE).
(calendar-bahai-nawruz-for-gregorian-year): New function to calculate
Naw-Rúz from vernal equinox relative to Tehran sunset.
(calendar-bahai-nawruz): New function returning absolute date of
Naw-Rúz for a given Bahá'í year.
(calendar-bahai-twin-holy-birthdays-for-year): New function to
calculate Birth of the Báb and Birth of Bahá'u'lláh from the eighth
new moon after Naw-Rúz.
(calendar-bahai-leap-year-p): Handle post-reform years based on gap
between successive Naw-Rúz dates.
(calendar-bahai-to-absolute, calendar-bahai-from-absolute): Rewrite
to use astronomical Naw-Rúz dates for years &gt;= 172 BE.
(holiday-bahai-new-year): Calculate variable Naw-Rúz date.
(holiday-bahai-twin-holy-birthdays): New function for lunar-based
Twin Holy Birthday dates.
(holiday-bahai-ridvan): Use Bahá'í calendar dates instead of fixed
Gregorian dates.
(calendar-bahai--nawruz-reference-dates)
(calendar-bahai--twin-birthdays-reference-dates): New constants with
official dates from Bahá'í World Centre for 2015-2064.
(calendar-bahai--verify-nawruz)
(calendar-bahai--verify-twin-birthdays)
(calendar-bahai-verify-calculations): New verification functions to
test calculations against official reference data.

* lisp/calendar/holidays.el (holiday-bahai-holidays): Use
'holiday-bahai' with Bahá'í calendar dates instead of 'holiday-fixed'
with Gregorian dates.  Add 'holiday-bahai-twin-holy-birthdays' for
lunar-calculated dates.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In 2014, the Universal House of Justice announced modifications to
the Badí' calendar to bring it more in line with its original design.
&gt;From 172 BE (Naw-Rúz 2015) onwards, Naw-Rúz is determined by the
vernal equinox as observed from Tehran, and the Twin Holy Birthdays
are calculated from the eighth new moon after Naw-Rúz.

* doc/emacs/calendar.texi (Calendar Systems): Update Bahá'í calendar
description to mention the 2014 reform, Ayyám-i-Há, and the
astronomical basis for Naw-Rúz and Twin Holy Birthday calculations.

* lisp/calendar/cal-bahai.el: Require 'solar' and 'lunar' for
astronomical calculations.
(calendar-bahai-tehran-latitude)
(calendar-bahai-tehran-longitude)
(calendar-bahai-tehran-timezone)
(calendar-bahai-reform-year): New constants for Tehran-based
astronomical observations and reform year (172 BE).
(calendar-bahai-nawruz-for-gregorian-year): New function to calculate
Naw-Rúz from vernal equinox relative to Tehran sunset.
(calendar-bahai-nawruz): New function returning absolute date of
Naw-Rúz for a given Bahá'í year.
(calendar-bahai-twin-holy-birthdays-for-year): New function to
calculate Birth of the Báb and Birth of Bahá'u'lláh from the eighth
new moon after Naw-Rúz.
(calendar-bahai-leap-year-p): Handle post-reform years based on gap
between successive Naw-Rúz dates.
(calendar-bahai-to-absolute, calendar-bahai-from-absolute): Rewrite
to use astronomical Naw-Rúz dates for years &gt;= 172 BE.
(holiday-bahai-new-year): Calculate variable Naw-Rúz date.
(holiday-bahai-twin-holy-birthdays): New function for lunar-based
Twin Holy Birthday dates.
(holiday-bahai-ridvan): Use Bahá'í calendar dates instead of fixed
Gregorian dates.
(calendar-bahai--nawruz-reference-dates)
(calendar-bahai--twin-birthdays-reference-dates): New constants with
official dates from Bahá'í World Centre for 2015-2064.
(calendar-bahai--verify-nawruz)
(calendar-bahai--verify-twin-birthdays)
(calendar-bahai-verify-calculations): New verification functions to
test calculations against official reference data.

* lisp/calendar/holidays.el (holiday-bahai-holidays): Use
'holiday-bahai' with Bahá'í calendar dates instead of 'holiday-fixed'
with Gregorian dates.  Add 'holiday-bahai-twin-holy-birthdays' for
lunar-calculated dates.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix last change (bug#79629)</title>
<updated>2025-10-25T07:38:07+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-10-25T07:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f20eed46f9e7b25ac5dce74871eee5ed57788b29'/>
<id>f20eed46f9e7b25ac5dce74871eee5ed57788b29</id>
<content type='text'>
* lisp/calendar/holidays.el (holiday-general-holidays)
(holiday-oriental-holidays, holiday-local-holidays)
(holiday-other-holidays, holiday-hebrew-holidays)
(holiday-christian-holidays, holiday-islamic-holidays)
(holiday-bahai-holidays, holiday-solar-holidays): Doc fixes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/holidays.el (holiday-general-holidays)
(holiday-oriental-holidays, holiday-local-holidays)
(holiday-other-holidays, holiday-hebrew-holidays)
(holiday-christian-holidays, holiday-islamic-holidays)
(holiday-bahai-holidays, holiday-solar-holidays): Doc fixes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Recompute calendar-holidays when its components are set (bug#79629)</title>
<updated>2025-10-25T07:32:10+00:00</updated>
<author>
<name>Amin Bandali</name>
</author>
<published>2025-10-23T19:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=500a2d0cc55340eb3830f8a7ad49183c4b57c87c'/>
<id>500a2d0cc55340eb3830f8a7ad49183c4b57c87c</id>
<content type='text'>
* lisp/calendar/holidays.el (holidays--set-calendar-holidays):
New function for recomputing the 'calendar-holidays' user option
for use as the :set function of the following user options,
using 'custom-reevaluate-setting' to avoid overwriting the
user's customization of 'calendar-holidays'.
(holiday-general-holidays, holiday-oriental-holidays)
(holiday-local-holidays, holiday-other-holidays)
(holiday-hebrew-holidays, holiday-christian-holidays)
(holiday-islamic-holidays, holiday-bahai-holidays)
(holiday-solar-holidays): Use 'holidays--set-calendar-holidays'
as the :set function to recompute 'calendar-holidays' as needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/calendar/holidays.el (holidays--set-calendar-holidays):
New function for recomputing the 'calendar-holidays' user option
for use as the :set function of the following user options,
using 'custom-reevaluate-setting' to avoid overwriting the
user's customization of 'calendar-holidays'.
(holiday-general-holidays, holiday-oriental-holidays)
(holiday-local-holidays, holiday-other-holidays)
(holiday-hebrew-holidays, holiday-christian-holidays)
(holiday-islamic-holidays, holiday-bahai-holidays)
(holiday-solar-holidays): Use 'holidays--set-calendar-holidays'
as the :set function to recompute 'calendar-holidays' as needed.
</pre>
</div>
</content>
</entry>
</feed>
