Skip to content

Fix contradiction in markup resolution #1084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

catamorphism
Copy link
Collaborator

Previously, this stated that markup resolution MUST always succeed. However, resolution of u: options can fail, so that wasn't true.

Previously, this stated that markup resolution MUST always succeed.
However, resolution of `u:` options can fail, so that wasn't true.
@catamorphism catamorphism requested review from aphillips and eemeli June 28, 2025 00:38
@catamorphism
Copy link
Collaborator Author

Copy link
Collaborator

@eemeli eemeli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the resolution of individual options can fail, this still holds:

The result of _option resolution_ MUST be a (possibly empty) mapping
of string identifiers to values;
that is, errors MAY be emitted, but such errors MUST NOT be fatal.

In other words, overall resolution of markup will always succeed.

If there is some language in u: options or elsewhere that implies something different, that needs to be fixed rather than changing this.

@catamorphism
Copy link
Collaborator Author

I've revised the text. This does repeat text from the previous "Option resolution" section, but I think it bears repeating.

@@ -434,6 +434,9 @@ supported by the implementation, process them as specified.
Such `u:` options MAY be removed from the resolved mapping of _options_.
The resolution of _markup_ MUST always succeed.
As with _option resolution_ for _expressions_,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could be confusing. The first normative statement (resolution of markup must always succeed) is a separate requirement. So I'd go:

Suggested change
As with _option resolution_ for _expressions_,
In addition, as with _option resolution_ in _expressions_,

@aphillips aphillips added normative Issue affects normative text in the specification formatting Issue pertains to the formatting section of the spec LDML48 LDML48 Release labels Jul 2, 2025
Copy link
Collaborator

@eemeli eemeli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the more appropriate fix here would be for the "Option Resolution" section to be moved to be directly under "Expression and Markup Resolution", as it pertains to markup resolution as well as function resolution, and for its first sentence to be corrected to note that.

Then we would not need to repeat the RFC2119 language that it already includes here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
formatting Issue pertains to the formatting section of the spec LDML48 LDML48 Release normative Issue affects normative text in the specification
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants