Re: [groff] hyphenation issues (PATCH)

2018-05-07 Thread Werner LEMBERG
> Here is, I think, the third iteration of the patch, taking into > account Ralph's feedback on the length and overworked nature of the > previous iteration's diagnostic messages. LGTM, thanks! Werner

Re: [groff] hyphenation issues (PATCH)

2018-05-07 Thread G. Branden Robinson
At 2018-05-04T19:23:15-0400, G. Branden Robinson wrote: > I've attached a proposed patch. I'm not completely thrilled with it > because some people might interpret it as suggesting that .hy 62 is > valid; it isn't, but not because it is too large. Still, I would prefer > to tell people the limit

Re: [groff] hyphenation issues

2018-05-07 Thread G. Branden Robinson
At 2018-05-06T12:10:13+0100, Ralph Corderoy wrote: > > My debugging instincts tell me to always report the value of an > > argument being rejected. For one thing, the user could have passed > > .hy a register value (possibly with arithmetic manipulation), and if > > we screw up the validity checks

Re: [groff] hyphenation issues

2018-05-06 Thread Werner LEMBERG
> @Example > .ll 1 > .hy 48 > @endExample > > It seems the word "splitting" should be on a third input line (after > the .hy request). Fixed, thanks. Werner

Re: [groff] hyphenation issues

2018-05-06 Thread Dave Kemper
I hate to distract from the robust discussion on C coding style with a comment about groff, but I noticed what appears to be a missing line from the changes commit d592d320cd43cf4ecee67a7aa80b52691671465d made to doc/groff.texi. Part of the added text reads: @Example .ll 1 .hy 48 @endExample ret

Re: [groff] hyphenation issues

2018-05-06 Thread Ingo Schwarze
Hi Ralph, Ralph Corderoy wrote on Sun, May 06, 2018 at 01:19:09PM +0100: > I think those struggling with Andersons' `right left' rule, or > equivalent, will probably find that const being allowed to shift > position but not meaning is significant Nobody is suggesting that it should be allowed to

Re: [groff] hyphenation issues

2018-05-06 Thread Ralph Corderoy
Hi Carsten, > C++ has the same rules as C regarding this. Thanks for clarifying. Sorry you had to do it twice; Mike must have forwarded my off-list email from earlier to the list so there was some duplication. > See e.g. Bjarne Stroustrup's "The C++ Programming Language" Forth > Edition ยง7.5 p

Re: [groff] hyphenation issues

2018-05-06 Thread Carsten Kunze
> Ralph Corderoy hat am 6. Mai 2018 um 14:33 > geschrieben: > I don't know if C++ has different semantics that mean choice of position > is less flexible; I've just been talking about C. C++ has the same rules as C regarding this. See e.g. Bjarne Stroustrup's "The C++ Programming Language" Fo

Re: [groff] hyphenation issues

2018-05-06 Thread Ralph Corderoy
Hi Ingo, > > Perhaps you're in a bit of a silo? :-) > > Perhaps. :-) Branden's cited one source he's seen. I had a Google last night, but was too tired to post the results. A _Dr Dobbs_ blog article in 2010 recommends always writing `int const'. http://www.drdobbs.com/cpp/the-mutable-comprehe

Re: [groff] hyphenation issues

2018-05-06 Thread Ralph Corderoy
Hi Ingo, > What you described as a pointer to a 2x3 array of immutable pointers > to strings might be > char **const (*gbrs_evil)[2][3] > But as i said, it is evil, so maybe i'm wrong, too. It's really not that evil. char **const (*gbrs_evil)[2][3] gbrs_evil is a

Re: [groff] hyphenation issues

2018-05-06 Thread Ralph Corderoy
Hi Branden, > I had first _heard_ of it some years ago, but the most significant bit > of prominent evangelism for it I'm aware of is from Ben Klemens's > _21st Century C_: > https://www.goodreads.com/book/show/14514281-21st-century-c Interesting, thanks. The second edition gets a better star ra

Re: [groff] hyphenation issues

2018-05-06 Thread Ralph Corderoy
Hi Branden, > Getting back on topic... Square! > My debugging instincts tell me to always report the value of an > argument being rejected. For one thing, the user could have passed > .hy a register value (possibly with arithmetic manipulation), and if > we screw up the validity checks it's eas

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
Getting back on topic... At 2018-05-05T15:43:35+0200, Werner LEMBERG wrote: [...] > Please use `const int' โ€“ there is no single instance of `int const' in > the groff code. [...] > >> I'd suggest adding > >> > >> HYPHEN_NONE = 0, > >> HYPHEN_DEFAULT = 1, > >> HYPHEN_MAX = 63 // Or wha

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-06T00:19:44+0100, Ralph Corderoy wrote: > That was my point. Though the widespread conventional method has that > in its favour, it doesn't mean the more logical consistent one is wrong > or misleading. It mainly means the alternative hasn't been considered > for its merits, just dismi

Re: [groff] hyphenation issues

2018-05-05 Thread Ingo Schwarze
Hi Ralph, Ralph Corderoy wrote on Sun, May 06, 2018 at 12:19:44AM +0100: >> Even though you are right > ... >> i strongly object to your argument. > I don't know what you think my argument is. I thought your argument was "usually, writing char const is better than writing const char". >> [obj

Re: [groff] hyphenation issues

2018-05-05 Thread Ingo Schwarze
Hi Branden, G. Branden Robinson wrote on Sat, May 05, 2018 at 05:20:19PM -0400: > At 2018-05-05T20:05:20+0200, Ingo Schwarze wrote: >> P.S. >> By the way, using "char const" doesn't make understanding >> >> char *const *evil[2][3]; >> >> any easier for people who do not know the rules... > T

Re: [groff] hyphenation issues

2018-05-05 Thread Ralph Corderoy
Hi Ingo, > Even though you are right ... > i strongly object to your argument. I don't know what you think my argument is. > [objective simplicity] undeniably favours "char const", That was my point. Though the widespread conventional method has that in its favour, it doesn't mean the more log

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-05T20:05:20+0200, Ingo Schwarze wrote: > P.S. > By the way, using "char const" doesn't make understanding > > char *const *evil[2][3]; > > any easier for people who do not know the rules... This looks like a wonderful opportunity to embarrass myself. "evil" is a pointer to a 2x3 ar

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-05T15:43:35+0200, Werner LEMBERG wrote: > > >> > + static int n_max = (HYPHEN_NOT_LAST_LINE | HYPHEN_NOT_LAST_CHARS > >> > +| HYPHEN_NOT_FIRST_CHARS | HYPHEN_LAST_CHAR > >> > +| HYPHEN_FIRST_CHAR); > >> > >> s/static int/int const/? > > Please use `const int' โ€“ there is no si

Re: [groff] hyphenation issues

2018-05-05 Thread Ingo Schwarze
Hi Ralph, Ralph Corderoy wrote on Sat, May 05, 2018 at 05:08:22PM +0100: >> char const *foo; > I used your syntax for decades and only switched in the last year after > chatting to a programmer that's always done it the other way since > introducing the Small C compiler into his company to rep

Re: [groff] hyphenation issues

2018-05-05 Thread Ralph Corderoy
Hi Keith, > I was taught to: > > - find the symbol name > - look right, for parentheses > - look left, token by token, to find the type Yes, that's a simplification of the `right left' rule that I first saw in Paul and Gail Anderson's _Advanced C: Tips and Techniques_, https://amzn.to/2rn2L

Re: [groff] hyphenation issues

2018-05-05 Thread Werner LEMBERG
>> > + static int n_max = (HYPHEN_NOT_LAST_LINE | HYPHEN_NOT_LAST_CHARS >> > +| HYPHEN_NOT_FIRST_CHARS | HYPHEN_LAST_CHAR >> > +| HYPHEN_FIRST_CHAR); >> >> s/static int/int const/? Please use `const int' โ€“ there is no single instance of `int const' in the groff code. >> Given the enum,

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-05T14:01:00+0100, Keith Marshall wrote: > On 05/05/18 12:40, G. Branden Robinson wrote: > > At 2018-05-05T11:51:00+0100, Keith Marshall wrote: > >> On 05/05/18 10:48, G. Branden Robinson wrote: > >>> (Incidentally, I share your preference for putting type qualifiers > >>> [as opposed to

Re: [groff] hyphenation issues

2018-05-05 Thread Keith Marshall
On 05/05/18 12:40, G. Branden Robinson wrote: > At 2018-05-05T11:51:00+0100, Keith Marshall wrote: >> On 05/05/18 10:48, G. Branden Robinson wrote: >>> (Incidentally, I share your preference for putting type qualifiers >>> [as opposed to storage classes] _after_ the type name itself. It >>> makes

Re: [groff] hyphenation issues

2018-05-05 Thread Steffen Nurpmeso
Keith Marshall wrote: |On 05/05/18 10:48, G. Branden Robinson wrote: |> (Incidentally, I share your preference for putting type qualifiers |> [as opposed to storage classes] _after_ the type name itself. It |> makes complex declarations easier to understand.) | |Personally, I consider that

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-05T11:51:00+0100, Keith Marshall wrote: > On 05/05/18 10:48, G. Branden Robinson wrote: > > (Incidentally, I share your preference for putting type qualifiers > > [as opposed to storage classes] _after_ the type name itself. It > > makes complex declarations easier to understand.) > >

Re: [groff] hyphenation issues

2018-05-05 Thread Ralph Corderoy
Hi Keith, > conventionally: > > const int foo; > > is more common than: > > int const foo; Agreed. Though that convention started before all the other bells and whistles were added. > const char *foo; foo is a pointer to a char that's const. > char const *foo; foo is a pointer to a c

Re: [groff] hyphenation issues

2018-05-05 Thread Keith Marshall
On 05/05/18 10:48, G. Branden Robinson wrote: > (Incidentally, I share your preference for putting type qualifiers > [as opposed to storage classes] _after_ the type name itself. It > makes complex declarations easier to understand.) Personally, I consider that to be a poor choice ... especially

Re: [groff] hyphenation issues

2018-05-05 Thread G. Branden Robinson
At 2018-05-05T10:31:48+0100, Ralph Corderoy wrote: > Hi Branden, > > > + static int n_max = (HYPHEN_NOT_LAST_LINE | HYPHEN_NOT_LAST_CHARS > > +| HYPHEN_NOT_FIRST_CHARS | HYPHEN_LAST_CHAR > > +| HYPHEN_FIRST_CHAR); > > s/static int/int const/? Yes, of course. Thanks! (Incidentally, I s

Re: [groff] hyphenation issues

2018-05-05 Thread Ralph Corderoy
Hi Branden, > + static int n_max = (HYPHEN_NOT_LAST_LINE | HYPHEN_NOT_LAST_CHARS > +| HYPHEN_NOT_FIRST_CHARS | HYPHEN_LAST_CHAR > +| HYPHEN_FIRST_CHAR); s/static int/int const/? >if (has_arg() && get_integer(&n)) { > -if (((n & HYPHEN_FIRST_CHAR) && (n & HYPHEN_NOT_FIRST_CHARS))

Re: [groff] hyphenation issues

2018-05-04 Thread G. Branden Robinson
At 2018-05-04T23:30:15+0200, Werner LEMBERG wrote: > > > Going forward, should groff generate a warning if a document > > contains an undefined value of .hy, so that this problem will not > > recur with any future changes? > > This makes sense. I currently can't remember whether other, similar >

Re: [groff] hyphenation issues

2018-05-04 Thread Werner LEMBERG
> Going forward, should groff generate a warning if a document > contains an undefined value of .hy, so that this problem will not > recur with any future changes? This makes sense. I currently can't remember whether other, similar flag registers exhibit similar behaviour. Werner

Re: [groff] hyphenation issues

2018-05-04 Thread Dave Kemper
Hi Werner, I know groff isn't your primary focus anymore, so I'm pleased to see you've tackled these hyphenation bugs and enhancements. On 3/1/18, Werner LEMBERG wrote: > o The `.hy' request should now work as documented (again). > Additionally, I've added values 16 and 32 to hyphenate before

Re: [groff] hyphenation issues

2018-03-04 Thread Peter Schaffter
On Sun, Mar 04, 2018, Bertrand Garrigues wrote: > Peter, > > I've just seen that you have commited version 2.3 of 'mom', does this > include the fixes Werner mentioned? I believe so. The only issue not taken care of is the troff "transparent throughput" warnings that appear when building the mom

Re: [groff] hyphenation issues

2018-03-04 Thread Werner LEMBERG
> Just one remark on the 'NEWS' file: you added new entries in the > 1.22.3 version, shouldn't these belong to a new 1.22.4 paragraph? Oops, yes. Thanks for noticing, fixed in git now. Werner

Re: [groff] hyphenation issues

2018-03-04 Thread Bertrand Garrigues
Hi Werner, On Thu, Mar 01 2018 at 08:50:48 PM, Werner LEMBERG wrote: > Folks, > > > I've just fixed some hyphenation issues. [...] I wasn't very active these days as I cought the flu (the weather was terribly cold in Paris), I've made only a few tests and it looks OK to me, I'll test more next w

[groff] hyphenation issues

2018-03-01 Thread Werner LEMBERG
Folks, I've just fixed some hyphenation issues. o The `.hy' request should now work as documented (again). Additionally, I've added values 16 and 32 to hyphenate before the last and after the first character, respectively. There exist languages (most notably Greek) that indeed allow (and