public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
* man-pages-6.13 released
@ 2025-03-07 20:31 Alejandro Colomar
       [not found] ` <7911697.yEr3mM9iWp@pip>
  0 siblings, 1 reply; 3+ messages in thread
From: Alejandro Colomar @ 2025-03-07 20:31 UTC (permalink / raw)
  To: linux-man; +Cc: linux-kernel, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 3528 bytes --]

Gidday!

I'm proud to announce:

	man-pages-6.13 - manual pages for GNU/Linux


Tarball download:
<https://www.kernel.org/pub/linux/docs/man-pages/>
Git repository:
<https://git.kernel.org/cgit/docs/man-pages/man-pages.git/>
Online PDF book:
<https://www.kernel.org/pub/linux/docs/man-pages/book/>

Thanks to all the contributors to this release (in BCC)!
And thanks to our sponsors!

	-  Adfinis		<https://adfinis.com/>
	-  Google		<https://opensource.google/>
	-  Hudson River Trading	<https://www.hudsonrivertrading.com/>
	-  Meta			<https://www.meta.com/>
	-  Red Hat		<https://www.redhat.com/>

Have a lovely day!
Alex


You are receiving this message either because:

        a)  (BCC) You contributed to this release.

        b)  You are subscribed to <linux-man@vger.kernel.org>,
            <linux-kernel@vger.kernel.org>, or
            <libc-alpha@sourceware.org>.

        c)  (BCC) I have information (possibly inaccurate) that you are
            the maintainer of a translation of the manual pages, or are
            the maintainer of the manual pages set in a particular
            distribution, or have expressed interest in helping with
            man-pages maintenance, or have otherwise expressed interest
            in being notified about man-pages releases.
            If you don't want to receive such messages from me, or you
            know of some other translator or maintainer who may want to
            receive such notifications, send me a message.

==================== Changes in man-pages-6.13 ====================

Released: 2025-03-06, Vinaròs


New and rewritten pages
-----------------------


Newly documented interfaces in existing pages
---------------------------------------------

man7/
        landlock.7
                Landlock ABI v6
                LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET
                LANDLOCK_SCOPE_SIGNAL


New and changed links
---------------------


Removed pages
-------------


Removed links
-------------


Global changes
--------------

-  Build system:
   -  PDF book:
      -  Add support for UNIX V10 sources.
   -  Makefiles:
      -  Don't pass an escaped # to grep(1).  Use a trick to work with
         both new and old systems.  This fixes a regressions in the
         build system from man-pages-6.11, which was itself introduced
         while fixing a regression introduced in man-pages-6.10.


Changes to individual files
---------------------------

The manual pages and other files in the repository have been improved
beyond what this changelog covers.  To learn more about changes applied
to individual pages, or the authors of changes, use git(1).


==================== Linux Software Map ===========================

Begin4
Title:          Linux man-pages
Version:        6.13
Entered-date:   2025-03-06
Description:    Manual pages for GNU/Linux.  This package contains
                manual pages for sections 2, 3, 4, 5, and 7, and
                subsections of those.  Only a few pages are provided in
                sections 1, 6, and 8, and none in 9.
Keywords:       man pages
Maintained-by:  Alejandro Colomar <alx@kernel.org>
Primary-site:   http://www.kernel.org/pub/linux/docs/man-pages
                2.7M  man-pages-6.13.tar.gz
Copying-policy: several; the pages are all freely distributable as long as
                nroff source is provided
End


-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: man-pages-6.13 released
       [not found] ` <7911697.yEr3mM9iWp@pip>
@ 2025-03-09 14:49   ` Alejandro Colomar
  2025-03-09 16:02     ` groff status report (was: man-pages-6.13 released) G. Branden Robinson
  0 siblings, 1 reply; 3+ messages in thread
From: Alejandro Colomar @ 2025-03-09 14:49 UTC (permalink / raw)
  To: Deri; +Cc: linux-man

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Hi Deri,

On Sun, Mar 09, 2025 at 01:12:40PM +0000, Deri wrote:
> I'm wondering why you switched from using a more "up to date" groff back to 
> the 1.23.0 version.

I bought a new drive for my computer, and reinstalled the OS.  That was
when.  :)

I haven't built groff from source since then yet.

> You may remember when I developed the software to generate 
> the input to groff for the LinuxManBook.pdf, it used a custom an.tmac which 
> included fixes to make it work properly with the current groff at the time. 
> Gradually, these were incorporated into the groff git, and as you started 
> using git compiled groff, you could drop my custom an.tmac.
> 
> The biggest visible issue is that all the overview panel bookmarks are "open" 
> because the 1.23.0 version of an.tmac does not honour the setting of 
> an*bookmark-base-level. Also the pdfs produced by the 1.23.0 gropdf are 66% 
> larger than those produced by the current gropdf.
> 
> Just wondering if you found a problem with the current git version which meant 
> you had to revert?

Nah, just fresh OS install.  I will eventually build it again from
source.  I was hoping that groff might release soonish and I wouldn't
have to do it, but I think it will not happen any soon.


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* groff status report (was: man-pages-6.13 released)
  2025-03-09 14:49   ` Alejandro Colomar
@ 2025-03-09 16:02     ` G. Branden Robinson
  0 siblings, 0 replies; 3+ messages in thread
From: G. Branden Robinson @ 2025-03-09 16:02 UTC (permalink / raw)
  To: Alejandro Colomar; +Cc: linux-man, groff


[-- Attachment #1.1: Type: text/plain, Size: 11519 bytes --]

[looping in groff@gnu since this turned into a status report]

At 2025-03-09T15:49:10+0100, Alejandro Colomar wrote:
> On Sun, Mar 09, 2025 at 01:12:40PM +0000, Deri wrote:
> > I'm wondering why you switched from using a more "up to date" groff
> > back to the 1.23.0 version.
> 
> I bought a new drive for my computer, and reinstalled the OS.  That
> was when.  :)
> 
> I haven't built groff from source since then yet.
[...]
> > Just wondering if you found a problem with the current git version
> > which meant you had to revert?
> 
> Nah, just fresh OS install.  I will eventually build it again from
> source.  I was hoping that groff might release soonish and I wouldn't
> have to do it, but I think it will not happen any soon.

Not reckoned with respect to the speed you work at, I don't think.  :-O

I pushed a batch of changes yesterday, but they mostly didn't reveal
where most of my development time has been going lately.  This requires
a story.

On 16 January, Dave Kemper filed Savannah #66675.[1]

That ticket pointed out a problem with one of the elements of a major
refactor to solve a significant site of the "node getting into
device-independent output" problem, which is challenging to explain
under the best of circumstances.  Suffice to say, it was the origin of
some of the most mysterious and frustrating diagnostic messages that
groff throws.  Mystified users are unhappy users.  The NEWS file for the
forthcoming release represents my best effort to explain.[2]  Feedback
welcome.

Digging into Dave's problem revealed that my refactoring had undesired
consequences on character definitions.  (That is, use of `char` and
similar requests to construct user-defined characters.  For one thing,
it appears that "removing" characters may have never really worked,
because the act of looking one up created it.  But it's hard to know
what really goes on with character name resolution because historically
there is no way outside of source-level debugging to introspect either
the resolution process or the character objects themselves.)

Further study revealed that writing experiments, let alone automated
tests, to determine whether I'd screwed up or regressed the feature was
unreasonably hard, for reasons that I was already familiar with: a lot
of groff data structures have representations that are opaque to the
programming language.  Because *roff _is_ a programming language, not
having a mechanism for it to dump structures that are relevant to the
user (like user-defined characters) is a significant impediment to
debugging not just for groff developers, but for document authors.

Being able to dump such things would help to root-cause not just
Savannah #66675, but other troublesome issues like Savannah #66837[3]
and Savannah #66805[4].  In too many circumstances, to really track down
an issue with the transformation of input to output in the GNU troff
formatter, it's necessary to launch a symbolic debugger.  In my opinion,
that's a failure.  Debuggers' strength lies in helping you resolve
problems with control flow ("logic", we often say), and not as much with
data representation.

So what I decided to do was to take a new feature I'd already
implemented, which exists and works in groff Git since 30 April, the
`pline` request, and give it more power.

     .pline     Report, to the standard error stream, the list of output
                nodes corresponding to the pending output line.

In my working copy, it is documented differently.

     .pline     Report, in JSON syntax to the standard error stream, the
                list of output nodes corresponding to the pending output
                line.  In JSON, a pair of empty brackets “[ ]”
                represents an empty list.

I've got lots and lots of this working, including recursion when nodes
contain (lists of) other nodes.  It's trivial to detect when I've
screwed up the output syntax because jq(1) complains about it, so I have
some hope that I'm producing well-formed output.  And secrets are being
revealed.

As I chew my way through the many types of node groff defines, I keep
finding new data types I need to be able to dump, and so I have to go
off on a tangent to permit their dumping.  But this isn't mere
completism; I've been complaining for years that I wanted a macro
dumper, and because--it turns out--groff re-uses the `macro` class for
some things that it arguably shouldn't (just like `symbol`), I need the
macro dumper in order to make discoverable two things: (1) the contents
of a user-defined character [an acceptable use of `macro`, given how it
works] and (2) the contents of a device extension command [_not_ an
acceptable use of `macro` in my opinion[5]].

Anyway, since I _do_ want to release the damnable groff 1.24 sooner
rather than later, I mean to leave refactoring the device extension
node data structure for some other time, even though I already have
a `string` dumper.  All I want and need for right now is a way for a
`device_extension_node` to dump itself to stderr.  And that means
writing a macro dumper.

But guess what?  Once I have a macro dumper, I can cross _another_
old goal off the list.

And that's--having a macro dumper!  Ever wanted to ask the formatter
to tell you what's _really_ in a macro?  Well, soon you'll be able to!
I should be able to hook this up to `pm` with little effort, to `pchar`
with little more, and then bada-boom, bada-bing, we'll have inspectable
character definitions, macros, (*roff) strings, _and_ diversions.

Now, before you get _too_ excited, my goal for now--for 1.24--is only to
represent these things as JSON strings.  Meaning that all those places
GNU troff uses C0 and C1 controls to represent `nodes` are likely to get
dumped as inscrutable character codes: think "\u000B".  It won't take
much experience to learn that these are nodes, but to decode them you'll
still need the groff source tree.[6]

"But wait," you may be wondering, "didn't you just imply that you have a
recursive node dumper?"  Yes.  But the `macro` class is weird.  The
information most users really want (the contents) is in a sub-object of
type `macro_header`[7].  And _that_ object does a funny thing.  It
represents its contents in two ways simultaneously: as a `char_list` and
a `node_list`.  That makes only partial sense to me.  I know why you'd
need both--nodes can have a lot of data, where as `\u000B` encodes only
the _kind_ of node at that place in the macro--but I still experience a
bit of a Philip J. Fry squint when considering the `macro_header` type.
Possibly, an optimization has been performed to speed iteration through
the macro, and that's why we don't have just one list of objects that
can be either proper characters or `node`s, the latter with their full
payload.

So, for groff 1.24, I don't expect the macro dumper to be as helpful as
it could be.  But it _will_ be helpful to tell us when a device
extension command node contains nodes--which it should not do.  We
developers can maybe then attack the cases where they occur with more
visibility into what we're doing.  For the past year or so I've been
gunning at that problem in much lower light, which I think is at least
in part why Savannah #66675 happened.

Here's what the `git --log --oneline` of my working copy looks like.

25dbd2c40 (HEAD -> master) [troff]: Implement recursive node dumping (8e/x).
86cbc983b [troff]: Implement recursive node dumping (8d/x).
9c8adf1b0 [troff]: Implement recursive node dumping (8c/x).
9d5e3c8f1 [troff]: Implement recursive node dumping (8b/x).
aaf9ab17f [troff]: Implement recursive node dumping (8a/x).
652bd0999 [troff]: Implement recursive node dumping (7/x).
49d5260b0 [troff]: Implement recursive node dumping (6/x).
45bc27083 src/roff/troff/node.{h,cpp}: Annotate next steps.
05561276e NEED EXAMPLE [troff]: Implement recursive node dumping (5t/x).
3b897b472 [troff]: Implement recursive node dumping (5s/x).
43050da14 [troff]: Implement recursive node dumping (5r/x).
58cc84208 REWORD [troff]: Implement recursive node dumping (5q/x).
7a298e56b [troff]: Implement recursive node dumping (5p/x).
bd1d75190 [troff]: Implement recursive node dumping (5o/x).
037010eb7 [troff]: Implement recursive node dumping (5n/x).
835d7e181 [troff]: Implement recursive node dumping (5m/x).
8d1c061d2 [troff]: Implement recursive node dumping (5l/x).
b9e48b758 [troff]: Implement recursive node dumping (5k/x).
dccbd0600 [troff]: Implement recursive node dumping (5j/x).
e977c49b3 [troff]: Implement recursive node dumping (5i/x).
11efa353a [troff]: Implement recursive node dumping (5h/x).
eede69c3f [troff]: Implement recursive node dumping (5g/x).
e77e5a5d8 [troff]: Implement recursive node dumping (5f/x).
b52c3db6b [troff]: Implement recursive node dumping (5e/x).
ff1ee40a5 [troff]: Implement recursive node dumping (5d/x).
dbc926e0e [troff]: Implement recursive node dumping (5c/x).
d2918b88d [troff]: Implement recursive node dumping (5b/x).
d0ed8fc7f [troff]: Implement recursive node dumping (5a/x).
757390dba [troff]: Implement recursive node dumping (4/x).
e21b22cd6 [troff]: Implement recursive node dumping (3/x).
51245af62 [troff]: Implement recursive node dumping (2/x).
08444f311 [doc,man]: Revise description of `pline` output.
606fab045 [troff]: Implement recursive node dumping (1/x).
cefa3e337 [troff]: Revise `pline` output style.
fc0d2de71 XXX squash more squash
068aa1925 XXX squash after verifying correct operation
ec7ed6f69 [libgroff]: Support JSON extraction of `symbol`s.
8fed5923b [libgroff]: Support JSON extraction of `string`s.
55d607746 (origin/master, origin/HEAD) [troff]: Unit-test `.devicem` and `\Y`.

I'm attaching a copy of the script I've been using to exercise this
stuff, and the output it produces.  The latter should be given to jq(1)
for best results.

Regards,
Branden

[1] https://savannah.gnu.org/bugs/?66675
[2] https://git.savannah.gnu.org/cgit/groff.git/tree/NEWS?id=55d6077463806294bd7e38c633f438a90c02a9a5#n131
[3] https://savannah.gnu.org/bugs/?66837
[4] https://savannah.gnu.org/bugs/?66805

[5] I cannot imagine why `macro` was selected as the data structure to
    back the contents of a device extension node.  It seems to me that
    groff's `string` class (which isn't C++'s, because groff is _old_)
    would serve just as well because it's really a memory buffer.  No
    byte values are invalid, and it's not null-terminated.  A `macro`
    can contain a mixture of characters and `node`s, but nodes no longer
    exist once device-independent output is produced.  The entire point
    of device-independent output is to translate *roff's internal
    representations of typesetting objects ("nodes") into a page
    description language.  Letting nodes escape into the output of GNU
    troff would be like having your GCC output sprinkle the lists of
    assembly instructions it produces with chunks of RTL or GIMPLE.
    That strikes me as..."ill-conceived" is the politest way I can
    phrase it.

    Any time James Clark or Werner Lemberg wants to show up and smack
    some sense into my head--please do!

[6] Here's where to start.
    https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/input.h?id=55d6077463806294bd7e38c633f438a90c02a9a5

[7] Why is the meaty "body" of a macro called the "header"?  Ask Clark.

[-- Attachment #1.2: newmodel.sh --]
[-- Type: application/x-sh, Size: 1734 bytes --]

[-- Attachment #1.3: MODEL8d --]
[-- Type: text/plain, Size: 28216 bytes --]

[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "zero_width_node", "diversion level": 0, "is_special_node": false, "contents": [{"type": "dummy_node", "diversion level": 0, "is_special": false}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "a"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "b"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "c"}, {"type": "hmotion_node", "diversion level": 0, "is_special": false, "hunits": 30000, "was_tab": false, "unformat": false, "terminal_color": "default"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "f"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "hline_node", "diversion level": 0, "is_special_node": false, "hunits": 144, "contents": [{"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "A"}]},
{"type": "zero_width_node", "diversion level": 0, "is_special_node": false, "contents": [{"type": "dummy_node", "diversion level": 0, "is_special": false}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "a"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "b"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "c"}, {"type": "hmotion_node", "diversion level": 0, "is_special": false, "hunits": 144, "was_tab": false, "unformat": false, "terminal_color": "default"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "state": "<state>", "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "state": "<state>", "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "state": "<state>", "character": "f"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 24, "width_list": [{ "width": 24, "sentence_width": 24 }], "unformat": false}]
[ ]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "h"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "u"},
{"type": "composite_node", "diversion level": 0, "is_special_node": false, "character": "\\Fl"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "u"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "p"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "dbreak_node", "none": {"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"}, "pre": {"type": "kern_pair_node", "diversion level": 0, "is_special": false, "amount": -200}, "diversion level": 0, "is_special": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -100},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "hline_node", "diversion level": 0, "is_special_node": false, "hunits": 60000, "contents": [{"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "A"}]},
{"type": "zero_width_node", "diversion level": 0, "is_special_node": false, "contents": [{"type": "dummy_node", "diversion level": 0, "is_special": false}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "a"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "b"}, {"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "c"}, {"type": "hmotion_node", "diversion level": 0, "is_special": false, "hunits": 30000, "was_tab": false, "unformat": false, "terminal_color": "default"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "f"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "p"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "space_node", "diversion level": 0, "is_special_node": false, "hunits": 0},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -150},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "z"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "extra_size_node", "diversion level": 0, "is_special_node": false, "vunits": 3000},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "h"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "z"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "m"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "hmotion_node", "diversion level": 0, "is_special_node": false, "hunits": 10000, "was_tab": false, "unformat": false, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -150},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "m"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "vmotion_node", "diversion level": 0, "is_special_node": false, "vunits": 10000, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "h"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "hline_node", "diversion level": 0, "is_special_node": false, "hunits": 15000, "contents": [{"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "!"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "v"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "vline_node", "diversion level": 0, "is_special_node": false, "vunits": 15000, "contents": [{"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "!"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "italic_corrected_node", "diversion level": 0, "is_special_node": false, "hunits": 1960, "contents": [{"type": "glyph_node", "diversion level": 0, "is_special": false, "character": "f"}]},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": ")"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "f"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "l"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "break_char_node", "diversion level": 0, "is_special_node": false, "break_code_before": 2, "break_code_after": 0, "terminal_color": "default"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "("},
{"type": "left_italic_corrected_node", "diversion level": 0, "is_special_node": false, "hunits": 1970},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -150},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -100},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "overstrike_node", "diversion level": 0, "is_special_node": false, "max_width": 7220},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "b"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "a"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -100},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "bracket_node", "diversion level": 0, "is_special_node": false, "max_width": 5640},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -250},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "c"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -150},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "t"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "s"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "i"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "device_extension_node", "diversion level": 0, "is_special_node": true, "tfont": "TR", "stroke_color": "default", "fill_color": "default"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]
[{"type": "line_start_node", "diversion level": 0, "is_special_node": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"},
{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -150},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "n"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "o"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "d"},
{"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "e"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false},
{"type": "draw_node", "diversion level": 0, "is_special_node": false, "code": "l", "npoints": 1, "font_size": 10000, "stroke_color": "default", "fill_color": "default", "point": "(72000, 72000)"},
{"type": "word_space_node", "diversion level": 0, "is_special_node": false, "hunits": 2500, "width_list": [{ "width": 2500, "sentence_width": 2500 }], "unformat": false}]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-03-09 16:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-07 20:31 man-pages-6.13 released Alejandro Colomar
     [not found] ` <7911697.yEr3mM9iWp@pip>
2025-03-09 14:49   ` Alejandro Colomar
2025-03-09 16:02     ` groff status report (was: man-pages-6.13 released) G. Branden Robinson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox