Follow-up Comment #23, bug #66392 (group groff): At 2025-02-03T06:29:31-0500, Deri James wrote: > Follow-up Comment #22, bug #66392 (group groff): >> I think a lot of people assume that when they create a new >> environment, it's a copy of environment 0 already. But it isn't. > > Given that you believe this (and I think you are spot on) I wondered > why you didn't "solve" the inconsistency by ensuring any new > environment created is either based on ev 0 or perhaps the previous > environment on the stack.
The answer is that I didn't _need_ to do that to solve the problem that presented itself; when you changed environments, the hyphenation mode could change but the hyphenation language would not, even if the new hyphenation mode wouldn't work right with the unchanged language. Your speculative solution adds another design choice to the 2 we had, so now there are three possibilities. * Creating a new environment copied from the formatter's default. * Creating a new environment copied from environment zero. * Creating a new environment copied from the current environment. I'm trying to get 1.24.0 toward a release and I am not anxious to mediate a dispute between advocates of these three positions, each of which I'm sure thinks their selection is the only obvious one. Under those circumstances, the first wins because it's the status quo. (I would not, however, claim that it's the "only obvious one". Merely the most inertial.) Also, the downside to selecting either of the other two is that we either eliminate the first as a possibility (because the default environment has no name to which we can refer), or have to introduce a new request for environment creation. Hmm, actually I can think of a milder solution. .ev environment [source-environment] Since environment names are identifiers, they can't contain spaces, so they are well-behaved as request arguments. In the foregoing, the second argument would be honored only if the first argument doesn't already exist as an environment. And this would be backward compatible with the status quo; the default environment has no name, but that's okay. If environment "foo" doesn't already exist: .ev foo ...would work the same before and after the change. > This would not affect documents which already use evc after creating a > new environment, or setup individual elements manually, but would > behave sanely, as Peter expects. I'd like to hear back from Peter regarding my reasoning in comment #21. I'm wondering how much sense it makes to him. If someone wants to convene an ecumenical council on the groff list to come up with a universal creed of environment creation, I'd be curious to see how things shake out. Maybe we can sort it out for groff 1.25. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?66392> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature