On Sun, Mar 15, 2026 at 8:52 PM G. Branden Robinson <[email protected]> wrote: > I remain convinced that the hyphenation language should be a property of > the environment, rather than golbal, because the hyphenation "mode" that > determines the acceptable locations within a word for hyphenation > breaking is already environmental _and_ the hyphenation mode is only > intelligible when the hyphenation language is known.
Most hyphenation languages have multiple hyphenation modes that are compatible with them. Likewise, most hyphenation modes have multiple hyphenation languages that they're valid with. This many-to-many relationship doesn't lend itself to the tight coupling that you're asserting. As Peter points out, there are good reasons to have differing hyphenation modes in different environments using the same hyphenation language. Like Peter, while I don't strongly oppose scoping the hyphenation language to the environment, I don't see it as an improvement, and certainly not as a bug fix as implied in http://savannah.gnu.org/bugs/?66387#comment4 . The change doesn't give users any new functionality; they can always set the hyphenation language at any point. The scope of the hyphenation language ought to reflect the commonest use cases. Scoping it to the environment does make it easier to support multilingual documents that use environments to manage switching languages. But is that a common enough use case to justify making it the default behavior? More common than, say, a monolingual document that has some text in sidebars that demand looser hyphenation rules, and using environments to switch between the main text and the sidebar text? > Here is my proposal: > > (1) Extend the syntax of the `ev` request. Here is the pitch from > comment #23 of Savannah #66392. Making environment management more flexible seems worthwhile regardless of the consensus about hyphenation-language scope. > (2) Adapt existing packages to the foregoing change. Frequently this > will mean changing request sequences like this (from our "s.tmac"): > > .ev k > .evc 0 > .ev > > ...to this. > > .ev k 0 > .ev What's the functional difference between these two?
