Sounds good. I'm happy to update the documentation, the regexp, and
other mentioned locations to match one of A-Z or 0-64. Are we OK
restricting it to uppercase only?

Thanks!

Derek

On Sat, Jul 19, 2025 at 10:29 AM Ihor Radchenko <yanta...@posteo.net> wrote:

> Derek Chen-Becker <de...@chen-becker.org> writes:
>
> > I guess looking at https://orgmode.org/manual/Priorities.html, it's not
> > clearly defined what valid ranges are. Are upper and lower cases
> considered
> > equivalent? Is it strictly A-Z, or a-z, or 1-64? If it's not numeric, do
> > we just allow any character whose value is >= 65? For example, 一,二, 三, 四?
> > Technically, is 1 the highest possible numeric priority or would zero
> (or a
> > negative number) be valid? I feel like maybe we should update the manual
> at
> > the same time, and precisely specify what the allowed values are. I can
> > sort of reverse engineer from the code, but is this documented anywhere
> > other than the manual?
>
> Well. You cannot reverse engineer.
>
> 1. org-priority-regexp is ".*?\\(\\[#\\([A-Z0-9]+\\)\\] ?\\)"
> 2. org-element.el is
>    (priority (and (looking-at "\\[#.\\][ \t]*")
>                             (progn (goto-char (match-end 0))
>                                    (aref (match-string 0) 2))))
> 3. https://orgmode.org/worg/org-syntax.html (following the parser)
>    PRIORITY (optional)
>    A single alphanumeric character preceded by a hash sign # and
>    enclosed within square brackets (e.g. [#A] or [#1]). This is called a
>    “priority cookie”.
>
> 4. 5.4 Priorities in the manual says, "A", "B", "C", "integers, which
>    must all be strictly inferior to 65", "earlier in alphabet" (implying
>    some kind of ordered alphabet, but not CJK)
>
> 5. org-priority-highest
>    If you set org-priority-highest to a numeric value inferior to
>    65, Org assumes you want to use digits for the priority cookie.
>    If you set it to >=65, Org assumes you want to use alphabetical
>    characters.
>
> 6. org-priority-get-priority-function is a defcustom, implying that
>    priority might be less restrictive
>
> 7. (org-element-property :priority (org-element-at-point)) always
>    returns a number/character (and must be interpreted back by
>    org-element-interpret-data)
>
> 8. Some places in the code
>    (`org-latex-format-headline-default-function') plainly assume that
>    priority is formattable with (format "%c" ...)
>
> I'd say that the simplest approach will be using the most restrictive
> definition of priority: either a number between 0-64 or a single
> alphabetic character (with code >=65).
>
> --
> Ihor Radchenko // yantar92,
> Org mode maintainer,
> Learn more about Org mode at <https://orgmode.org/>.
> Support Org development at <https://liberapay.com/org-mode>,
> or support my work at <https://liberapay.com/yantar92>
>


-- 
+---------------------------------------------------------------+
| Derek Chen-Becker                                             |
| GPG Key available at https://keybase.io/dchenbecker and       |
| https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org |
| Fngrprnt: EB8A 6480 F0A3 C8EB C1E7  7F42 AFC5 AFEE 96E4 6ACC  |
+---------------------------------------------------------------+

Reply via email to