groff 1.24 scheduling thoughts (was: man page base paragraph inset/indentation)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[dropped Mark and Alexandra from CC, looping in groff@gnu]

Hi Alex,

At 2024-02-18T16:18:38+0100, Alejandro Colomar wrote:
> Nah, I like 5n.  I could use [-rBP=7n] in the build system for
> preventing errors like this one for the time 1.24.0 is not a thing, to
> catch those formatting issues with `make check`... but I think I
> prefer not.

Fair.  That's why it's a knob.  People can twist it or not.  :)

> Do you have in mind a date around which you intend to freeze for
> 1.24.0?

No.  There are still several things I'd like to at least try to get
done.  There is a possibly ambitious "release goals" ticket for 1.24.

https://savannah.gnu.org/bugs/?65099

(Scroll down to see the dependencies.)

Integrating large/complex patches from contributors has proven
difficult, and exposed my weaknesses as a project manager.  Aggravating
factors are (1) I'm the only person who writes regression or unit tests,
(2) I'm nearly the only one who writes documentation for anything except
mom(7), and (3) some of the most desirable features are also those that
require changes to undocumented or un(der)specified aspects of the
system.  For example, what _can_ you put in a device control escape
sequence (or device control request, or "transparent output")?  Can you
spray out bytes with the eighth bit set that way?  Should you be able
to?  If not, how do you encode them if you need them?  Should each
output driver take its own approach or should they share one?  This
stuff sounds obscure, but you need it for things like PDF bookmarks with
non-ASCII characters in them, and better CJK font support.

Still, I think the pain will be worth it--when we crack those nuts, the
reward will be pleasant.

The revelation of https://savannah.gnu.org/bugs/?65322 troubles me.  On
the one hand, since the bug has evidently been around a very long time,
and isn't a security issue (the formatter merely gets angry and quits
on--apparently--ill-formed input), there's no particular emergency.
Still, the idea of stomping another decades-old bug that defeated
everyone before me[1] appeals to my vanity.  On the other hand, I am
nearly clueless about the cause of it,[2] and to track it down I think
I'll need to implement the "macro/string/diversion dumper" I've been
contemplating, to force the formatter to reveal hidden knowledge.

That, or I could get a lot more skillful with GDB, but so far it seems
like a disproportionate amount of the time, the problems I chase with it
involve variables that are

$1 = <optimized out>

...even when you specify -O0 -ggdb.  Hmm, thanks a lot.  That sort of
thing is not compatible with the integrity of the drywall in my home.

> Mind the time it will take from a freeze to a release, so we
> get it in Trixie this time.  :)

No doubt.  It appeals to my sense of tidiness to have groff's minor
release number match the calendar year modulo 100, so, given some
experience, I think going for a release candidate this summer would be
a good idea.  We probably want to code-freeze no later than September
30th.

Regards,
Branden

[1] The bug is so obscure, that is likely not saying much.

[2] My hypothesis for the moment is that a "node"[3] is surviving inside
    a diversion when it shouldn't be, and while that appears not to be
    an opening brace node, I think it is something working like that.
    So the balance is being thrown off, and that is why GNU troff's
    "finish_get" function is encountering a value of the input level
    that it didn't expect.  Data structures should be introspectable,
    but diversions are not, and we are finally paying the piper.

[3] A recent commit underscored just how unhelpfully opaque this data
    structure is, and yet for 30+ years this term has been hurled into
    the user's face if they screw up.

    https://git.savannah.gnu.org/cgit/groff.git/commit/?id=90568dc1afe41c9f909f26e7e3fa6f9d499127bc

    "Oh, great, it's a 'node'.  Whatever that is."

    And then when you gain a bit of experience...

    "Oh, great, it's a node.  That means it's one of about 20 different
    things--seriously, 20.  No problem.  This will be a cinch to debug."

    I'd still like to meet James Clark for coffee some day.  I will have
    much positive to say, and much appreciation to express.

    But I will also have a look I want to give him.

    Just a look.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux