On 20/06/2026 1:26 pm, Daniel Fleischer wrote:
,----
| LC_ALL=he_IL emacs -Q -L ~/.emacs.d/elpa/org-9.8.6/ -l "org"
`----
[...]
LANG doesn't have any effect as far as I can see, only LC_ALL.
[...]
Emacs 30.2, org 9.8.6. Mac OS 26.5.1.
If LANG has no effect then perhaps you have LC_ALL or LC_TIME set
explicitly. At least on Linux one may check output of
locale
LANG=en_GB.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
paying attention to quotes, values without them are set explicitly.
For those who are trying to reproduce, check that specific locale is
generated, it should present in output of
locale -a
Otherwise you may get an error message (it seems, e.g. GNU date(1)
silently ignores unavailable locales though).
I am unsure if overriding `org-timestamp-formats' defconst to strip "%a"
would not have side effects, see comments added in
Jens Schmidt. Re: [PATCH] Re: Better support optional weekday in Org
mode timestamps. Sat, 26 Apr 2025 21:58:07 +0200.
<https://list.orgmode.org/[email protected]>
I do not think, Org parser can be reliably modified to allow spaces and
other characters in weekdays. There is risk of false positives for part
of text with literal square brackets.
Another command that might be useful for debugging (it lists weekdays)
locale -k LC_TIME
abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="am;pm"
d_t_fmt="%a %d %b %Y %T %Z"
d_fmt="%d/%m/%y"
t_fmt="%T"
t_fmt_ampm="%l:%M:%S %P %Z"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=4
first_weekday=2
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %e %b %H:%M:%S %Z %Y"
time-codeset="UTF-8"
alt_mon="January;February;March;April;May;June;July;August;September;October;November;December"
ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
Out of curiosity, I have tried what weekdays are used by browsers.
Almost certainly Firefox uses Unicode Common Locale Database:
| locale | weekday | 14 Jun 2026 | 15 Jun 2026 | 16 Jun 2026 | 17 Jun
2026 | 18 Jun 2026 | 19 Jun 2026 | 20 Jun 2026 |
|--------+---------+--------------+--------------+-----------------+--------------+--------------+--------------+--------------|
| en-GB | long | Sunday | Monday | Tuesday | Wednesday
| Thursday | Friday | Saturday |
| en-GB | short | Sun | Mon | Tue | Wed
| Thu | Fri | Sat |
| en-GB | narrow | S | M | T | W
| T | F | S |
| he-IL | long | יום ראשון | יום שני | יום שלישי | יום
רביעי | יום חמישי | יום שישי | יום שבת |
| he-IL | short | יום א׳ | יום ב׳ | יום ג׳ | יום ד׳
| יום ה׳ | יום ו׳ | שבת |
| he-IL | narrow | א׳ | ב׳ | ג׳ | ד׳
| ה׳ | ו׳ | ש׳ |
| az-IR | long | bazar | bazar ertəsi | çərşənbə axşamı | çərşənbə
| cümə axşamı | cümə | şənbə |
| az-IR | short | B. | B.E. | Ç.A. | Ç.
| C.A. | C. | Ş. |
| az-IR | narrow | 7 | 1 | 2 | 3
| 4 | 5 | 6 |
| sm-WS | long | Sunday | Monday | Tuesday | Wednesday
| Thursday | Friday | Saturday |
| sm-WS | short | Sun | Mon | Tue | Wed
| Thu | Fri | Sat |
| sm-WS | narrow | S | M | T | W
| T | F | S |
| tok | long | suno esun #7 | suno esun #1 | suno esun #2 | suno esun
#3 | suno esun #4 | suno esun #5 | suno esun #6 |
| tok | short | suno esun #7 | suno esun #1 | suno esun #2 | suno esun
#3 | suno esun #4 | suno esun #5 | suno esun #6 |
| tok | narrow | S | M | T | W
| T | F | S |
I took locales from Morgan's message. Certainly, there are short names
with spaces. Perhaps definition for sm-WS is not available.
var days = [14, 15, 16, 17, 18, 19, 20].map(d => {
ts = new Date(2026, 6-1, d);
return [
new Intl.DateTimeFormat(
"en-GB", {dateStyle: "medium"}).format(ts),
ts]});
function wdnames(days, locale, weekday) {
const fmt = new Intl.DateTimeFormat(locale, { weekday });
return Object.fromEntries(
days.map(([col, d]) => [ col, fmt.format(d) ]));
}
console.table(
["en-GB", "he-IL", "az-IR", "sm-WS", "tok"]
.map(locale =>
["long", "short", "narrow"]
.map(weekday => ({locale, weekday})))
.flat().map(
l => ({ ...l, ...wdnames(days, l.locale, l.weekday)})))
See
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat>
You may try to evaluate in browser console
new Intl.DateTimeFormat("he-IL", { weekday: "short"}).format(new Date)