I maintain a man-page-to-DocBook converter, doclifter. A side effect of this program is that it serves as a validator for the correctness and portability of the markup used on Unix manual pages. I test it by running it against all the manual pages in a full Ubuntu 12.04 with some extras; there are 10800 of these on my development machine, of which 820 already have DocBook masters. It converts 9242 (92.61%) of the remaining 9980 into valid XML-DocBook.

Most of the remaining 7.39% of errors happen because groff(1) and its kin have weak-to-nonexistent validity checking. Often, doclifter fails because of outright errors in macro usage that groff does not catch. Sometime it fails on constructions that are legal but perverse. Very occasionally it throws an error because a man page is correct but has a structure that cannot be translated to DocBook. I keep a database of patches for such problems, and periodically try to push fix patches out to the manual-page maintainers.

Even if you do not care about DocBook, this cleanup work benefits all third-party manual page viewers, including the GNOME and KDE documentation browsers; groff constructions that confuse doclifter are very likely to produce visible problems on these.

The table below is a listing of the 722 (7.23%) pages on which doclifter fails, but the failure can be prevented with a fix patch to the manual page source. 16 pages (0.16%) remain intractable, generally due to markup problems more severe than a point patch can address. I am working with the individual projects responsible to get those cleaned up.

It is likely that you are reading this because you have received email telling you that patches are associated with your name or list address. Please consider incorporating them, or equivalents, in your next release. Also, please write back and tell me what you plan to do so I can keep my database up-to-date.

If you are not already considering it, please think about moving the documentation masters of your project to DocBook (or some format from which you can generate DocBook). If everybody moved to using DocBook as a common exchange format, it would become much easier to support unified browsing of all system documentation with Web-like hypertext capabilities, automatic indexing, and rich search facilities.

Tools to generate man pages, HTML, and PostScript from DocBook files are open-source and generally available. My program, doclifter, should make moving your manual-page masters to DocBook a fairly painless process.

Many major open source projects (including the Linux kernel, the Linux Documentation Project, X.org, GNOME, KDE, and FreeBSD) have already moved to DocBook or are in the process of doing so.

Summary: 701 patches pending, 320 accepted, 0 rejected.

Status codes are as follows:


n No response yet.
p Maintainer has informed me that this is fixed in the masters, but I have not seen the fix yet.
y Accepted
r Rejected
[0-9]+ number of mailings sent
b Address is blocked

Problem codes are explained after the table.


Patch:Problem code:Status:
ac.1
y
aconnect.1
y
admin.1posix
Cn
aio.7
In
alt-nvidia-current-settings.1
f Yn
alt-nvidia-current-smi.1
C L Yn
american.5
english.5
I 9n
amidi.1
amixer.1
aplay.1
arecord.1
y
amf.conf.5
Y 2n
amrecover.8
y
analog.1
C Zn
animate.1
compare.1
conjure.1
composite.1
convert.1
display.1
identify.1
import.1
mogrify.1
montage.1
y
apport-retrace.1
y
appres.1x
y
arp.7
p6n
as.1
Z yn
aspell.1
y
atmsigd.conf.4
y
auditd.8
y
audit.rules.7
an
auth_destroy.3
In
authnone_create.3
In
authunix_create.3
In
authunix_create_default.3
In
awk.1
y
pgawk.1
gawk.1
y
bash.1
y
bc.1
Jn
bgpd.8
y
bitmap.1
o J1p
BitmapBitOrder.3
BitmapPad.3
BitmapUnit.3
DisplayHeight.3
DisplayHeightMM.3
DisplayWidth.3
DisplayWidthMM.3
ImageByteOrder.3
MenuPopdown.3
XAddHosts.3
In
bounce.5
aliases.5
relocated.5
virtual.8
y
header_checks.5
m1n
bootparam.7
I u 0n
brltty.1
Jn
btcflash.8
Jn
bzadmin.6
y
bzfquery.6
y
bzfs.6
J on
bzr.1
A Xn
cadaver.1
y
calendar.1
Kn
callrpc.3
In
cancel-cups.1
cancel.1
lp.1
lp-cups.1
y
cannastat.1
y
cbrt.3
cbrtf.3
cbrtl.3
5n
cdparanoia.1
y
cdrdao.1
y
chat.8
Jbn
chcat.8
y
chmoddic.1
C6n
chroot.2
E Ln
clnt_broadcast.3
In
clnt_call.3
In
clnt_control.3
In
clnt_create.3
In
clnt_destroy.3
In
clnt_freeres.3
In
clnt_geterr.3
In
clnt_pcreateerror.3
In
clnt_perrno.3
In
clnt_perror.3
In
clnt_spcreateerror.3
In
clnt_sperrno.3
In
clnt_sperror.3
In
clntraw_create.3
In
clnttcp_create.3
In
clntudp_bufcreate.3
In
clntudp_create.3
In
co.1
o1n
codepage.1
Cn
compose.1
edit.1
un
compress.1
uncompress.1
y
console_codes.4
In
console_ioctl.4
I o ln
core.5
In
corosync.conf.5
L I Yn
cpufreq-info.1
cpufreq-set.1
Iy
cpuset.7
Rn
crash.8
y
CrtImgType.3
Tk_InitImageArgs.3
y
ctangle.1
cweave.1
cweb.1
L1n
cshost.1
W6n
cscope.1
y
curl.1
y
cvs.1
L1n
cxpm.1
Wbn
dasher.1
y
DBD::Gofer.3pm
J yn
dbz.3
y
dcut.1
Rn
ddd.1
y
devnag.1
Jn
dh_install.1
i yn
dh_movefiles.1
U yn
dhclient.8
y
dhcp-eval.5
J Yn
dicar.1
X1n
dictfmt.1
y
dictl.1
y
diffstat.1
y
directomatic.1
o Gn
dislocate.1
y
dkms.8
X Jn
dmraid.8
y
dpkg-source.1
Ln
dosbox.1
Ln
doxytag.1
y
dpromdic.1
Xbn
dump-acct.8
Cn
duplicity.1
L 3n
dv2dt.1
Cn
dvgrab.1
hy
dvipdf.1
font2c.1
R1n
dvitodvi.1
Rn
dvipdfm.1
y
editres.1
I1n
e2fsck.8
o1n
e2image.8
Jn
efax.1
J u g1n
egrep.1
fgrep.1
grep.1
tn
enscript.1
y
elinkskeys.5
y
emacs.1
y
epoll_ctl.2
y
epoll.4
y
eqn.1
geqn.1
C 7p
error.3
y
expire.ctl.5
o Yn
openais_overview.8
W1n
cpg_overview.8
evs_overview
y
exiv2.1
Ln
expect.1
y
extractres.1
R1n
f2py.1
f2py2.7.1
Cn
faked-sysv.1
faked-tcp.1
faked.1
fakeroot-sysv.1
fakeroot-tcp.1
fakeroot.1
rn
fbset.8
y
fence_drac.8
Jn
fence_na.8
W yn
fence_drac5.8
Jn
fig2dev.1x
y
fig2ps2tex.1
R1n
findchip.8
irdadump.8
irdaping.8
irpsion5.8
irattach.8
y
findhyph.1
Cn
firefox.1
y
flock.1
y
foomatic-ppdfile.1
y
foomatic-rip.1
lpdomatic.8
o G1n
forsort.1
Xn
free.1
y
fsck.8
fsck.ext2.8
fsck.ext3.8
fsck.ext4.8
fsck.ext4dev.8
on
fsck.msdos.8
fsck.vfat.8
dosfsck.8
Cn
fsinfo.8
y
ftm.7
Dn
fuser.1
Jn
fuzzyflakes.6x
Cn
gacutil.1
cli-gacutil.1
gacutil2.1
Nn
gaim.1
y
gdb.1
gdbtui.1
c Jn
genisoimage.1
on
getafm.1
R1n
getcon.3
getexeccon.3
y
getent.1
P dn
getnonfreefonts.1
getnonfreefonts-sys.1
Xn
getpass.3
Ln
GetUid.3
y
get_myaddress.3
In
getcontext.2
y
getrpcport.3
y
getty.8
In
gfdl.7
y
gftodvi.1
Ibn
ghostscript.1
y
gij.1
y
gmcs.1
Ln
gnome-session.1
y
gnome-control-center.1
Cn
gnumeric.1
Ln
gnuplot.1
y
gob2.1
y
gpic.1
pic.1
y
gpm-types.7
J Cn
grn.1
C 7p
groff.1
y
groff_diff.7
y
groff_me.7
I o 7p
groff_mom.7
s 7p
grodvi.1
grolj4.1
grops.1
C 7p
gs.1
ghostscript.1
C Yn
gthumb.1
y
gvcolor.1
Cn
gvpr.1
W In
hformat.1
hfsutils.1
hmount.1
H X J6n
hgrc.5
Hn
hidd.1
y
hostname.1
y
hosts_access.5
hosts.allow.5
hosts.deny.5
hosts_options.5
I Yn
hp-plugin.1
vb
html2text.1
Cn
html2textrc.5
Xn
htfuzzy.1
y
hwclock.8
y
hypertorus.6x
Cn
ibod.1
X1n
ibod_cf.4
y
icc2ps.1
jpegicc.1
y
icclink.1
E1n
icctrans.1
Ln
tifficc.1
E1n
icmp.7
on
idmapd.conf.5
X Wn
idna_strerror.3
idna_to_ascii_4i.3
idna_to_ascii_4z.3
idna_to_ascii_8z.3
idna_to_ascii_lz.3
idna_to_unicode_44i.3
idna_to_unicode_4z4z.3
idna_to_unicode_8z4z.3
idna_to_unicode_8z8z.3
idna_to_unicode_8zlz.3
idna_to_unicode_lzlz.3
pr29_4.3
pr29_4z.3
pr29_8z.3
pr29_strerror.3
punycode_decode.3
punycode_strerror.3
stringprep.3
stringprep_4i.3
stringprep_4zi.3
stringprep_check_version.3
stringprep_convert.3
stringprep_locale_charset.3
stringprep_locale_to_utf8.3
stringprep_profile.3
stringprep_strerror.3
stringprep_ucs4_nfkc_normalize.3
stringprep_ucs4_to_utf8.3
stringprep_unichar_to_utf8.3
stringprep_utf8_nfkc_normalize.3
stringprep_utf8_to_locale.3
stringprep_utf8_to_ucs4.3
stringprep_utf8_to_unichar.3
tld_check_4.3
tld_check_4t.3
tld_check_4tz.3
tld_check_4z.3
tld_check_8z.3
tld_check_lz.3
tld_default_table.3
tld_get_4.3
tld_get_4z.3
tld_get_table.3
tld_get_z.3
tld_strerror.3
y
punycode_encode.3
y
icedax.1
A en
ilbmtoppm.1
Ln
includeres.1
R1n
ImageMagick.1
y
imake.1
I1n
inet.3
I Mn
inetd.8
D Yn
inetd.conf.5
O Yn
inews.1
y
init.5
In
innfeed.8
Bn
inotify.7
In
install.1
y
IO::WrapTie.3pm
W Cn
ipcrm.1
Cn
ipppd.8
L1n
ip6tables.8
y
IPPROTO_ICMP.7
In
iptables.8
C J L1n
ip6tables-save.8
Cn
ipptoolfile.5
Jn
iptraf.8
y
ipv6calc.8
L o1n
irb.1
y
irnet.4
y
irsend.1
y
isadump.8
isaset.8
y
ispell.1
buildhash.1
munchlist.1
findaffix.1
tryaffix.1
icombine.1
ijoin.1
Cn
ispell-wrapper.1
C Yn
keytool.1
Wb
kioclient.1
kn
lamboot.1
Xn
lam-helpfile.5
In
lastcomm.1
I1n
lastlog.8
y
latex.1
y
LDP.7
y
ld-linux.8
ld-linux.so.8
Ln
ld.so.8
L1n
less.1
pager.1
J6n
lftp.1
In
libcaca-authors.3caca
Wn
libcaca-canvas.3caca
W Jn
libcaca-env.3caca
W Ln
libcaca-font.3caca
W Jn
libcaca-ruby.3caca
Wn
libcaca-tutorial.3caca
Wn
libpng.3
S J4n
libpngpf.3
y
libreoffice.1
loffice.1
lofromtemplate.1
Jn
libtiff.3tiff
In
licensecheck.1
C Yn
list_audio_tracks.1
Wn
ln.1
j1n
locate.1
y
logger.1
On
logrotate.8
y
logsys_overview.8
J Yn
lookbib.1
indxbib.1
lkbib.1
C 7p
lpr.1
U6n
lpstat.1
lpstat-cups.1
y
lrf2lrs.1
Ln
lsof.8
y
lynx.1
www-browser.1
Cn
mag.1
y
makeindex.1
Jn
man.1
manpath.1
y
mawk.1
Rn
mcs.8
y
mdel.1
I6n
mdoc.7
y
merge.1
y
mev.1
y
mf.1
inimf.1
virmf.1
y
mkdosfs.8
mkfs.msdos.8
mkfs.vfat.8
Cn
mkdtemp.3
y
mkjobtexmf.1
L yn
mkzftree.1
y
mlocate.db.5
Jn
mono.1
cli.1
J Xn
mono-config.5
Xn
moduli.5
Kn
more.1
On
motd.news.5
y
mount.fuse.8
Xn
mozplugger.7
y
mpcd.8
y
mpiexec.1
X1n
mpiexec.lam.1
X1n
mpimsg.1
mpitask.1
In
mpirun.1
y
mpost.1
y
mq_overview.7
In
mtr.8
Jn
mtx.1
y
mutt.1
J Qn
muttrc.5
J X un
mysqld.1
mysqld_multi.1
mysqldump.1
mysql_zap.1
mysqladmin.1
mysqlshow.1
y
named.conf.5
y
nasm.1
ndisasm.1
y
nautilus.1
Ln
nautilus-connect-server.1
Ln
nbp_name.3
y
nc.1
netcat.1
nc_openbsd.1
Kn
netpbm.1
Jn
netstat.8
C zn
newgrp.1
y
nfsd.7
y
nfsmount.conf.5
C Yn
NetworkManager.1
nm-tool.1
y
nsgmls.1
C In
nslookup.1
y
ntfs-3g.secaudit.8
C Yn
ntfs-3g.usermap.8
Cn
ntpdate.1
y
ntpq.1
y
nvidia-settings.1
I x Yn
nvidia-smi.1
I 6 Yn
octave-config.1
y
ode.1
en
oldfind.1
find.1
Jn
omfonts.1
Wn
on_ac_power.1
y
openvt.1
open.1
L1n
operator.7
y
orbd.1
W y Yn
orca.1
sn
osage.1
mm2gv.1
Jn
parted.8
y
patch.1
I tn
pax.1posix
W Jn
pbmclean.1
pnmcomp.1
pnmnorm.1
pnmpad.1
pnmquant.1
pnmremap.1
pnmtotiff.1
pgmnorm.1
ppmcolors.1
ppmnorm.1
ppmntsc.1
ppmquant.1
ppmrainbow.1
ppmtogif.1
ppmtoxpm.1
tifftopnm.1
Cn
pbget.1
pbput.1
pbputs.1
Wn
pbmtextps.1
Cn
pcap-filter.7
In
pcre.3
pcrebuild.3
y
pcreposix.3
Hn
pcreprecompile.3
y
pcrepattern.3
pcrecallout.3
pcrepartial.3
y
pdfseparate.1
An
pgmabel.1
pgmtopgm.1
pnmstitch.1
pgmmorphconv.1
pnmtoddif.1
ppmtopj.1
y
php.1
y
pidgin.1
Tn
pipe.8
y
pkg-config.1
qn
play.1
y
playsound.1
Cn
plot.1
plotfont.1
Wn
pmap_getmaps.3
In
pmap_getport.3
In
pmap_rmtcall.3
In
pmap_set.3
In
pmap_unset.3
In
pnmhisteq.1
ppmcie.1
ppmlabel.1
sbigtopgm.1
Rn
pnmpaste.1
Xn
pnmtotiffcmyk.1
Cn
pnmtofiasco.1
en
policytool.1
W yn
servertool.1
C yn
postconf.5
y
postmap.1
postsuper.1
y
proc.5
I on
ps.1
y
pstops.1
Rb
proxymap.8
y
ps2epsi.1
j6n
ps2pdf.1
ps2pdf12.1
ps2pdf13.1
y
ps2pdfwr.1
Rn
psnup.1
J1n
pthreads.7
I1n
ptx.1
j6n
pytest.1
Cn
quotactl.2
y
qos.7
L1n
qsub.1posix
In
racoon.conf.5
y
random.4
y
ram.4
y
raw2tiff.1
tiffcmp.1
y
rc-alert.1
ub
rcsintro.1
uy
refer.1
C 7p
registerrpc.3
In
regulatory.bin.5
wn
renice.1
Ob
replace.1
isamchk.1
isamlog.1
y
resize2fs.8
on
rexec.3
y
rev.1
O Lb
rdump.8
dump.8
restore.8
rrestore.8
y
rhythmbox-client.1
Ln
rlog.1
In
rmid.1
W yn
rmiregistry.1
W yn
roff.7
y
rotatelogs.8
1n
rpc.3
In
rpc.5
cn
rstartd.1
In
rsyslog.conf.5
Jn
sane-apple.5
Ln
sane-lexmark.5
L on
sane-mustek_pp.5
L on
sane-pixma.5
Wn
scons.1
Jn
scons-time.1
Ln
script.1
On
SDL_Init.3
L1n
SDL_CDPlayTracks.3
8n
security.3
y
see.1
run-mailcap.1
print.1
Cn
send-uucp.8
y
setcap.8
Cn
setpci.8
Xn
sg_senddiag.8
sg_wr_mode.8
y
sg_sat_phy_event.8
Cn
sgmlspl.1
Ln
signal.7
In
sk98lin.4
y
slapd.8
y
slapdn.8
slapacl.8
slapadd.8
uy
slapd.conf.5
L I1n
slapd-config.5
L In
slapo-constraint.5
Ln
snmpvacm.1
y
snmpd.conf.5
y
snmp.conf.5
y
snmpd.examples.5snmp
Jn
socket-event.7
Xn
software-properties-gtk.1
Wb
spam.1
Cn
spufs.7
In
squid_ldap_auth.8
squid_ldap_group.8
y
ssh-keygen.1
R nn
ssh-keyscan.1
ssh-add.1
ssh-agent.1
ssh-vulnkey.1
Kn
ssh-keysign.8
Kn
ssh-pkcs11-helper.8
Kn
sshd_config.5
ssh_config.5
n3p
states.1
y
svc_destroy.3
In
svc_freeargs.3
In
svc_getargs.3
In
svc_getcaller.3
In
svc_getreq.3
In
svc_getreqset.3
In
svc_register.3
In
svc_run.3
In
svc_sendreply.3
In
svc_unregister.3
In
svcerr_auth.3
In
svcerr_decode.3
In
svcerr_noprog.3
In
svcerr_noproc.3
In
svcerr_progvers.3
In
svcerr_systemerr.3
In
svcerr_weakauth.3
In
svcfd_create.3
In
svcraw_create.3
In
svctcp_create.3
In
svcudp_bufcreate.3
In
svcudp_create.3
In
synclient.1
y
synctex.1
Xn
synctex.5
2n
rb.1
rx.1
rz.1
sb.1
sx.1
sz.1
e6n
tar.1
C Vn
tc-prio.8
tc-htb.8
tc-cbq.8
tc-cbq-details.8
Cn
tc-stab.8
I Jn
tcpd.8
I1n
tcpdmatch.8
In
tek2plot.1
Wn
telnet.1
telnet.netkit.1
X Yn
test.1
[.1
n
texdoctk.1
y
terminfo.5
I ab
tfmtodit.1
C 7p
TIFFGetField.3tiff
In
TIFFmemory.3tiff
4n
Tk::Internals.3pm
W Yn
tnameserv.1
W yn
tgatoppm.1
An
tidy.1
W m1n
time.1
Jn
transfig.1x
y
tree.1
b1n
ttf2tfm.1
I on
tune2fs.8
C6n
tzfile.5
y
udevd.8
udevsend.8
y
units.1
y
unity-2d-shell.1
C J Yn
unity-2d-spread.1
C Yn
upstart-events.7
In
usb-creator-gtk.8
Wn
xz.1
xzcat.1
unxz.1
unlzma.1
lzcat.1
lzma.1
Cn
unshare.1
Ln
unzip.1
unzipsfx.1
y
updatedb.conf.5
Jn
uuencode.1
y
uuencode.1posix
In
viewres.1
In
vlna.1
Fn*
vmstat.8
an
wall.1
L O1n
wget.1
y
whereis.1
L1n
which.1
y
whois.1
L Yn
XAddHost.3
In
XAllocWMHints.3
I1n
Xaw.3x
y
XcmsColor.3x
y
XDrawArc.3x
y
xdr.3
xdr_array.3
In
X.7
I on
XQueryColor.3x
y
XLoadFont.3x
y
XrmGetFileDatabase.3x
y
XSizeHints.3
In
XAllocClassHint.3
In
XAllocIconSize.3
In
XAllocSizeHints.3
In
XAllocStandardColormap.3
In
XAnyEvent.3
In
XAutoRepeatOn.3
In
XAutoRepeatOff.3
In
XBell.3
In
XButtonEvent.3
In
XChangeGC.3
In
XChangeKeyboardControl.3
In
XChangeKeyboardMapping.3
In
XCirculateEvent.3
In
XCirculateRequestEvent.3
In
XClassHint.3
In
XClientMessageEvent.3
In
XColor.3
In
XColormapEvent.3
In
XConfigureEvent.3
In
XConfigureRequestEvent.3
In
XConfigureWindow.3
In
XCopyColormapAndFree.3
In
XCopyGC.3
In
XCreateColormap.3
In
XCreateGC.3
In
XCreateSimpleWindow.3
In
XCreateWindow.3
In
XCreateWindowEvent.3
In
XCrossingEvent.3
In
XDefaultString.3
In
XDeleteModifiermapEntry.3
In
XDestroyWindowEvent.3
In
XDisableAccessControl.3
In
XDisplayKeycodes.3
In
XDisplayMotionBufferSize.3
In
XDrawLine.3
In
XDrawLines.3
In
XDrawPoint.3
In
XDrawPoints.3
In
XDrawRectangle.3
In
XDrawRectangles.3
In
XDrawSegments.3
In
XDrawText.3
In
XEnableAccessControl.3
In
XErrorEvent.3
In
XEvent.3
In
XExposeEvent.3
In
XFocusChangeEvent.3
In
XFontSetExtents.3
In
XFreeColormap.3
In
XFreeEventData.3
In
XFreeGC.3
In
XFreeModifiermap.3
In
XFreeStringList.3
In
XGCValues.3
In
XGContextFromGC.3
In
XGenericEventCookie.3
In
XGetClassHint.3
In
XGetEventData.3
In
XGetGCValues.3
In
XGetGeometry.3
In
XGetIconSizes.3
In
XGetKeyboardControl.3
In
XGetKeyboardMapping.3
In
XGetModifierMapping.3
In
XGetMotionEvents.3
In
XGetRGBColormaps.3
In
XGetVisualInfo.3
In
XGetWMHints.3
In
XGetWMNormalHints.3
In
XGetWMSizeHints.3
In
XGetWindowAttributes.3
In
XDrawText16.3
In
XGraphicsExposeEvent.3
In
XGravityEvent.3
In
XHostAddress.3
In
XIconSize.3
In
XInsertModifiermapEntry.3
In
XKeyEvent.3
In
XKeyboardControl.3
In
XKeymapEvent.3
In
XListHosts.3
In
XListPixmapFormats.3
In
XMapEvent.3
In
XMapRequestEvent.3
In
XMappingEvent.3
In
XMatchVisualInfo.3
In
XModifierKeymap.3
In
XMotionEvent.3
In
XMoveResizeWindow.3
In
XMoveWindow.3
In
XNewModifiermap.3
In
XNoExposeEvent.3
In
XPixmapFormatValues.3
In
XPoint.3
In
XPropertyEvent.3
In
XQueryKeymap.3
In
XRectangle.3
In
XRemoveHost.3
In
XRemoveHosts.3
In
XReparentEvent.3
In
XResizeRequestEvent.3
In
XResizeWindow.3
In
XSegment.3
In
XSelectionClearEvent.3
In
XSelectionEvent.3
In
XSelectionRequestEvent.3
In
XSendEvent.3
In
XSetAccessControl.3
In
XSetClassHint.3
In
XSetIconSizes.3
In
XSetModifierMapping.3
In
XSetRGBColormaps.3
In
XSetWMHints.3
In
XSetWMNormalHints.3
In
XSetWMSizeHints.3
In
XSetWindowAttributes.3
In
XSetWindowBorderWidth.3
In
XShape.3
I un
XShapeCombineMask.3
I un
XShapeCombineRectangles.3
I un
XShapeCombineRegion.3
I un
XShapeCombineShape.3
I un
XShapeGetRectangles.3
I un
XShapeInputSelected.3
I un
XShapeOffsetShape.3
I un
XShapeQueryExtension.3
I un
XShapeQueryExtents.3
I un
XShapeQueryVersion.3
I un
XShapeSelectInput.3
I un
XStandardColormap.3
In
XStringListToTextProperty.3
In
XTextItem.3
In
XTextItem16.3
In
XTextProperty.3
In
XTextPropertyToStringList.3
In
XTimeCoord.3
In
XUnmapEvent.3
In
XVisibilityEvent.3
In
XVisualIDFromVisual.3
In
XVisualInfo.3
In
XWMHints.3
In
XWindowAttributes.3
In
XWindowChanges.3
In
Xau.3
In
XkbGetNamedGeometry.3
In
XkbSASetGroup.3
In
XStringListToTextProperty.3
In
XTextItem.3
In
XTextItem16.3
In
XTextProperty.3
In
XTextPropertyToStringList.3
In
XTimeCoord.3
In
XUnmapEvent.3
In
XVisibilityEvent.3
In
XVisualIDFromVisual.3
In
XVisualInfo.3
In
XWMHints.3
In
XWindowAttributes.3
In
XWindowChanges.3
In
Xau.3
In
XkbGetNamedGeometry.3
In
XkbSASetGroup.3
In
XkbSetDetectableAutoRepeat.3
In
XkbSetDeviceButtonActions.3
In
XmbDrawText.3
In
XmbTextListToTextProperty.3
In
XmbTextPropertyToTextList.3
In
Xmbuf.3
In
XmbufChangeBufferAttributes.3
In
XmbufChangeWindowAttributes.3
In
XmbufCreateBuffers.3
In
XmbufCreateStereoWindow.3
In
XmbufDestroyBuffers.3
In
XmbufDisplayBuffers.3
In
XmbufGetBufferAttributes.3
In
XmbufGetScreenInfo.3
In
XmbufGetVersion.3
In
XmbufGetWindowAttributes.3
In
XmbufQueryExtension.3
In
XrmEnumerateDatabase.3
In
XrmInitialize.3
In
XrmOptionDescRec.3
In
XrmOptionKind.3
In
XrmParseCommand.3
In
XrmValue.3
In
XtCallbackPopdown.3
In
XtMergeArgLists.3
In
XtPopdown.3
In
XtSetArg.3
In
Xutf8DrawText.3
In
Xutf8TextListToTextProperty.3
In
Xutf8TextPropertyToTextList.3
In
XwcDrawText.3
In
XwcFreeStringList.3
In
XwcTextListToTextProperty.3
In
XwcTextPropertyToTextList.3
In
XrmUniqueQuark.3x
y
Xnest.1x
y
x11perf.1x
x11perfcomp.1x
y
xcalc.1
I on
xclipboard.1
In
xclock.1
In
xconsole.1
In
xdr.3
In
xdr_accepted_reply.3
In
xdr_array.3
In
xdr_authunix_parms.3
In
xdr_bool.3
In
xdr_bytes.3
In
xdr_callhdr.3
In
xdr_callmsg.3
In
xdr_char.3
In
xdr_destroy.3
In
xdr_double.3
In
xdr_enum.3
In
xdr_float.3
In
xdr_free.3
In
xdr_getpos.3
In
xdr_inline.3
In
xdr_int.3
In
xdr_long.3
In
xdr_opaque.3
In
xdr_opaque_auth.3
In
xdr_pmap.3
In
xdr_pmaplist.3
In
xdr_pointer.3
In
xdr_reference.3
In
xdr_rejected_reply.3
In
xdr_replymsg.3
In
xdr_setpos.3
In
xdr_short.3
In
xdr_string.3
In
xdr_u_char.3
In
xdr_u_int.3
In
xdr_u_long.3
In
xdr_u_short.3
In
xdr_union.3
In
xdr_vector.3
In
xdr_void.3
In
xdr_wrapstring.3
In
xdrmem_create.3
In
xdrrec_create.3
In
xdrrec_endofrecord.3
In
xdrrec_eof.3
In
xdrrec_skiprecord.3
In
xdrstdio_create.3
In
xedit.1
I on
xfd.1
o1n
xfontsel.1x
xlsfonts.1x
y
xkbevd.1
J1n
xload.1
In
xlogo.1
In
xman.1
I on
Xmark.1x
y
xminicom.1
y
xml_pp.1
y
xml_spellcheck.1
y
xorg.conf.5
xorg.conf.d.5
L un
xprt_register.3
In
xprt_unregister.3
In
xrdb.1x
y
xrandr.1
Cn
Xsecurity.7
Wn
XStandards.7
Hn
xterm.1
L I1n
XQueryExtension.3x
y
xscreensaver-text.1
y
xset.1x
y
xsltproc.1
y
xtotroff.1
C 7p
zic.8
In
zip.1
Jp
zipcloak.1
zipnote.1
zipsplit.1
Ip

Error codes:

0
This page wins an award for exceptionally creative and perverse abuse of list syntax.
1
The program you're using to generate a man page from XML is buggy. One symptom is that it generates .PP tags with no following LP.
2
Use of man or mandoc lists to simulate literal displays defeats any attempy at structural translation.
3
Use of .RS/RE or list markup to produce indentation in examples and screenshots makes structural translation impossible.
4
\c is an obscure feature; third-party viewers sometimes don't intepret it. Plain \ is safer.
5
Unbalanced .RS tag.
6
Presentation-level use of nested SS could not be structurally translated. I changed lower-level instances to .TP.
7
This mail is informational only. These changes have already been made in the repository.
8
C function syntax has extra paren.
9
I replaced '-->' with a troff right arrow, which doclifter will translate properly to an XML/HTML arrow glyph.
A
Dot or single-quote at start of line turns it into a garbage command. This is a serious error; some lines of your page get silently lost when it is formatted.
B
Bogus macro definition
C
Broken command synopsis syntax. This may mean you're using a construction in the command synopsis other than the standard [ ] | { }, or it may mean you have running text in the command synopsis section (the latter is not technically an error, but it's impossible to translate into DocBook markup), or it may mean the command syntax fails to match the description.
D
Non-break space prevents doclifter from incorrectly interpreting "Feature Test" as end of function synopsis.
E
My translator trips over a useless command in list markup.
F
Non-English-language page incorrectly installed.
G
The extended macros from the *roff pages screw up third-party readers like Xman and the KDE help browser as well as doclifter.
H
Renaming SYNOPSIS because either (a) third-party viewers and translators will try to interpret it as a command synopsis and become confused, or (b) it actually needs to be named "SYNOPSIS" with no parsing for function protoypes to be properly recognized.
I
Use of low-level troff hackery to set special indents or breaks can't be translated. The page will have rendering faults in HTML, and probably also under third-party man page browsers such as Xman, Rosetta, and the KDE help browser. This patch eliminates .br, .ta, .ti, .ce, .in, and \h in favor of requests like .RS/.RE that have structural translations.
J
Ambiguous or invalid backslash. This doesn't cause groff a problem. but it confuses doclifter and may confuse older troff implementations.
K
RCS keyword debris needs to be removed.
L
List syntax error. This means .IP, .TP or .RS/.RE markup is garbled. Common causes include .TP just before a section header, .TP entries with tags but no bodies, and mandoc lists with no trailing .El. These confuse doclifter, and may also mess up stricter man-page browsers like Xman and Rosetta.
M
Feature test macros (running text) included in a function synopsis prevents translation to DocBook.
N
Extraneous . at start of line.
O
Wrong order of arguments in .Dd macro.
P
Removed unused ds to suppress a doclifter warning.
Q
Spelling error or typo.
R
.ce markup can't be structually translated, and is likely to cause rendering flaws in generated HTML.
S
DEPRECATED: in function syntax cannot be translated. Also, the code and examples need to be marked up better.
T
Junk at the beginning of the manual page.
U
Unbalanced group in command synopis. You probably forgot to open or close a [ ] or { } group properly.
V
Missing body content in list trips up doclifter and is likely to cause rendering problems in other viewers. I have been able to fill in what was missing except for what should be under TAR_LONGLINK_100.
W
Missing or garbled name section. The most common form of garbling is a missing - or extra -. Or your manual page may have been generated by a tool that doesn't emit a NAME section as it should. Or your page may add running text such as a version or authorship banner. These problems make it impossible to lift the page to DocBook. They can also confuse third-party manpage browsers and some implementations of man -k.
X
Unknown or invalid macro. That is, one that does not fit in the macro set that the man page seems to be using. This is a serious error; it often means part of your text is being lost or rendered incorrectly.
Y
I have been unable to identify an upstream maintainer for this Ubuntu/Debian package, and am notifying the generic "Maintainer" address in the package. Please forward appropriately. Also fix the package metadata so it identifies the upstream maintainers.
Z
Your Synopsis is exceptionally creative. Unfortunately, that means it cannot be translated to structural markup even when things like running-text inclusions have been moved elswhere.
a
".fi" request was omitted or typoed as ".if".
b
Attempt to interpolate unknown string.
c
The composer of this man page misunderstood and seriously overused the \c macro. Some uses were broken; others (notably the sequence "\\c\n\\&") are bad style.
d
Huge and unused macro preamble triggered spurious warnings.
e
Macro definitions in the NAME section comfuse doclifter and are likely to screw up third-party man viewers with their own parsers.
f
Replacing .in pairs with .RS/.RE makes translation to structural markup possible.
g
Use of a double quote for inch measurements often confuses people who aren't from the Anglosphere.
h
Unnecessary and unused .ta call may cause converters to error out.
i
Non-ASCII character is document synopsis can't be parsed.
j
Parenthesized comments in command synopsis. This is impossible to translate to DocBook.
k
kdemangen.pl stuttered two copies of a page. Also, .SS markup is garbled.
l
Incorrect formation of plural - beware the exiguous apostrophe!
m
Contains a request or escape that is outside the portable subset that can be rendered by non-groff viewers such as the KDE and GNOME help browsers.
n
Invalid Sx reference - not a section on this page.
o
TBL markup not used where it should be. Tables stitched together with .ta or list requests can't be lifted to DocBook and will often choke third-party viewers such as TKMan, XMan, Rosetta, etc.
p
Synopsis was incomplete and somewhat garbled.
q
Unused macro causes parsing problems.
r
I supplied a missing mail addess. Without it, the .TP at the end of the authors list was ill-formed.
s
Changed page to use the .URL macro now preferred on man(7).
t
.Id macro that would define Dt is never called.
u
Use local definitions of .EX/.EE or .DS/.DE to avoid low-level troff requests in the page body. There are plans to add these to groff man; in the interim, this patch adds a compatible definition to your page.
v
Missing DESCRIPTION section.
w
.SS markup in name section seriously confuses parsing, and sections don't follow standard naming conventions.
x
Syntax had to be arranged because of an options callout. This is still excessively complicated; third-party man-page viewers are likely to choke on it.
y
I realize this man page is generated from POD or HTML sources. Please fix the upstream markup so that it generates a well-formed manual page with the indicated corrections.
z
Garbled or missing text near .SS tags. It's not clear to me what's going on here, but .SS tags on adjacent lines defeat any attempt to parse the markup. I have inserted text lines indicating that something needs to be written here.