Skip to content

Comments

generate_man: Prevent sibling node loss in man page generation#1436

Open
slusarz wants to merge 1 commit intodovecot:mainfrom
slusarz:manpage_sibling_loss
Open

generate_man: Prevent sibling node loss in man page generation#1436
slusarz wants to merge 1 commit intodovecot:mainfrom
slusarz:manpage_sibling_loss

Conversation

@slusarz
Copy link
Contributor

@slusarz slusarz commented Feb 21, 2026

Parent's children array was being replaced entirely with the processed nodes of a single child, causing all sibling nodes to be discarded.

Use splice to insert the processed nodes into the parent's children array in place, preserving siblings.

Example diff (doveadm-who.1):

< Global doveadm(1)

Global doveadm(1) \fIoptions\fR:
28c28
< Do not read any config file, just use defaults. The \fBdovecot_storage_version\fR setting defaults to the latest version, but can be overridden with ---
Do not read any config file, just use defaults. The \fBdovecot_storage_version\fR setting defaults to the latest version, but can be overridden with \fB-o\fR.
150c150
< By default doveadm(1) will use the socket


By default doveadm(1) will use the socket \fI/rundir/anvil\fR. The socket may be located in another directory, when the default \fIbase_dir\fR setting was overridden in \fI/etc/dovecot/dovecot.conf\fR.

Parent's children array was being replaced entirely with the processed
nodes of a single child, causing all sibling nodes to be discarded.

Use `splice` to insert the processed nodes into the parent's children
array in place, preserving siblings.

Example diff (doveadm-who.1):

< Global doveadm(1)
---
> Global doveadm(1) \fIoptions\fR:
28c28
< Do not read any config file, just use defaults. The \fBdovecot_storage_version\fR setting defaults to the latest version, but can be overridden with
---
> Do not read any config file, just use defaults. The \fBdovecot_storage_version\fR setting defaults to the latest version, but can be overridden with \fB-o\fR.
150c150
< By default doveadm(1) will use the socket
---
> By default doveadm(1) will use the socket \fI/rundir/anvil\fR. The socket may be located in another directory, when the default \fIbase_dir\fR setting was overridden in \fI/etc/dovecot/dovecot.conf\fR.
@slusarz slusarz force-pushed the manpage_sibling_loss branch from deb813a to ef7468c Compare February 21, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant