Skip to content

Fix and clarify messages related to selection of vowel rules#1736

Draft
rpspringuel wants to merge 3 commits intogregorio-project:developfrom
rpspringuel:vowelrules
Draft

Fix and clarify messages related to selection of vowel rules#1736
rpspringuel wants to merge 3 commits intogregorio-project:developfrom
rpspringuel:vowelrules

Conversation

@rpspringuel
Copy link
Copy Markdown
Contributor

As I was looking at the output messages of various tests, I noticed that the messages were regularly saying that Latin vowel rules weren't found in the vowel rules files and that gregorio was falling back to Latin instead. I found this kind of confusing, so I went looking at the code related to this and discovered that the rule appeared to be backwards: triggering the message required "latin" (in various forms) to be requested and not found. Really, this message should be used when any non-"latin" language is requested and not found.

This fixes that, and also introduces a distinct message to be used when the default Latin rules are used. I originally was going to skip the look-up loop if the language was Latin (as the rules for Latin are built-in to the executable), but I realized that users might want to customize the Latin rules themselves, in which case we should still be checking the vowel rule files for those customizations.

I have not, at this point, looked at how this affects the tests nor updated the documentation, so for the moment I'm simply looking for comments on this change.

@davidweichiang
Copy link
Copy Markdown
Contributor

Do "default" and "internal" mean the same thing? If so, I think the same word should be used. I can't really think of a clear way to distinguish the error messages and wonder if they really need to be distinguished.

@davidweichiang
Copy link
Copy Markdown
Contributor

Maybe “Selecting Latin instead of specified language” and “Using default rules for Latin instead of specified rules”?

@rpspringuel
Copy link
Copy Markdown
Contributor Author

The executable has a set of rules for Latin built into it and these are the rules that we fall back on when we can't find rules for the selected language in gregorio-vowels.dat. Additionally, if the selected language is Latin, we don't just jump straight to these rules, but still check gregorio-vowels.dat for Latin rules in case the user wants to customize them. If there are no custom Latin rules, then we use the builtin rules. So, while "default" and "internal" are referring to the same set of rules, when I say "default" I'm referring to the first process, while when I say "internal" I'm referring to the second. The difference in vocabulary is meant to distinguish not so much the rules being used, the reason for using those rules. And as I think about it, the first one should probably be a warning (because we're ignoring user input) while in the second case, we're just informing the user of what we're doing (which is most likely, exactly what they want us to do).

Ignoring user input really should be a Warning, so we split the messages about using internal latin rules based on why we're using them.
@rpspringuel rpspringuel added this to the 6.3.0 milestone Apr 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants