1*7295610fSBaptiste Daroussin.\" $Id: mandoc.1,v 1.237 2019/02/23 18:53:54 schwarze Exp $ 261d06d6bSBaptiste Daroussin.\" 361d06d6bSBaptiste Daroussin.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> 461d06d6bSBaptiste Daroussin.\" Copyright (c) 2012, 2014-2018 Ingo Schwarze <schwarze@openbsd.org> 561d06d6bSBaptiste Daroussin.\" 661d06d6bSBaptiste Daroussin.\" Permission to use, copy, modify, and distribute this software for any 761d06d6bSBaptiste Daroussin.\" purpose with or without fee is hereby granted, provided that the above 861d06d6bSBaptiste Daroussin.\" copyright notice and this permission notice appear in all copies. 961d06d6bSBaptiste Daroussin.\" 1061d06d6bSBaptiste Daroussin.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1161d06d6bSBaptiste Daroussin.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1261d06d6bSBaptiste Daroussin.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1361d06d6bSBaptiste Daroussin.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1461d06d6bSBaptiste Daroussin.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1561d06d6bSBaptiste Daroussin.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1661d06d6bSBaptiste Daroussin.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1761d06d6bSBaptiste Daroussin.\" 18*7295610fSBaptiste Daroussin.Dd $Mdocdate: February 23 2019 $ 1961d06d6bSBaptiste Daroussin.Dt MANDOC 1 2061d06d6bSBaptiste Daroussin.Os 2161d06d6bSBaptiste Daroussin.Sh NAME 2261d06d6bSBaptiste Daroussin.Nm mandoc 2361d06d6bSBaptiste Daroussin.Nd format manual pages 2461d06d6bSBaptiste Daroussin.Sh SYNOPSIS 2561d06d6bSBaptiste Daroussin.Nm mandoc 2661d06d6bSBaptiste Daroussin.Op Fl ac 2761d06d6bSBaptiste Daroussin.Op Fl I Cm os Ns = Ns Ar name 2861d06d6bSBaptiste Daroussin.Op Fl K Ar encoding 2961d06d6bSBaptiste Daroussin.Op Fl mdoc | man 3061d06d6bSBaptiste Daroussin.Op Fl O Ar options 3161d06d6bSBaptiste Daroussin.Op Fl T Ar output 3261d06d6bSBaptiste Daroussin.Op Fl W Ar level 3361d06d6bSBaptiste Daroussin.Op Ar 3461d06d6bSBaptiste Daroussin.Sh DESCRIPTION 3561d06d6bSBaptiste DaroussinThe 3661d06d6bSBaptiste Daroussin.Nm 3761d06d6bSBaptiste Daroussinutility formats manual pages for display. 3861d06d6bSBaptiste Daroussin.Pp 3961d06d6bSBaptiste DaroussinBy default, 4061d06d6bSBaptiste Daroussin.Nm 4161d06d6bSBaptiste Daroussinreads 4261d06d6bSBaptiste Daroussin.Xr mdoc 7 4361d06d6bSBaptiste Daroussinor 4461d06d6bSBaptiste Daroussin.Xr man 7 4561d06d6bSBaptiste Daroussintext from stdin and produces 4661d06d6bSBaptiste Daroussin.Fl T Cm locale 4761d06d6bSBaptiste Daroussinoutput. 4861d06d6bSBaptiste Daroussin.Pp 4961d06d6bSBaptiste DaroussinThe options are as follows: 5061d06d6bSBaptiste Daroussin.Bl -tag -width Ds 5161d06d6bSBaptiste Daroussin.It Fl a 5261d06d6bSBaptiste DaroussinIf the standard output is a terminal device and 5361d06d6bSBaptiste Daroussin.Fl c 5461d06d6bSBaptiste Daroussinis not specified, use 5561d06d6bSBaptiste Daroussin.Xr more 1 5661d06d6bSBaptiste Daroussinto paginate the output, just like 5761d06d6bSBaptiste Daroussin.Xr man 1 5861d06d6bSBaptiste Daroussinwould. 5961d06d6bSBaptiste Daroussin.It Fl c 6061d06d6bSBaptiste DaroussinCopy the formatted manual pages to the standard output without using 6161d06d6bSBaptiste Daroussin.Xr more 1 6261d06d6bSBaptiste Daroussinto paginate them. 6361d06d6bSBaptiste DaroussinThis is the default. 6461d06d6bSBaptiste DaroussinIt can be specified to override 6561d06d6bSBaptiste Daroussin.Fl a . 6661d06d6bSBaptiste Daroussin.It Fl I Cm os Ns = Ns Ar name 6761d06d6bSBaptiste DaroussinOverride the default operating system 6861d06d6bSBaptiste Daroussin.Ar name 6961d06d6bSBaptiste Daroussinfor the 7061d06d6bSBaptiste Daroussin.Xr mdoc 7 7161d06d6bSBaptiste Daroussin.Ic \&Os 7261d06d6bSBaptiste Daroussinand for the 7361d06d6bSBaptiste Daroussin.Xr man 7 7461d06d6bSBaptiste Daroussin.Ic \&TH 7561d06d6bSBaptiste Daroussinmacro. 7661d06d6bSBaptiste Daroussin.It Fl K Ar encoding 7761d06d6bSBaptiste DaroussinSpecify the input encoding. 7861d06d6bSBaptiste DaroussinThe supported 7961d06d6bSBaptiste Daroussin.Ar encoding 8061d06d6bSBaptiste Daroussinarguments are 8161d06d6bSBaptiste Daroussin.Cm us-ascii , 8261d06d6bSBaptiste Daroussin.Cm iso-8859-1 , 8361d06d6bSBaptiste Daroussinand 8461d06d6bSBaptiste Daroussin.Cm utf-8 . 8561d06d6bSBaptiste DaroussinIf not specified, autodetection uses the first match in the following 8661d06d6bSBaptiste Daroussinlist: 8761d06d6bSBaptiste Daroussin.Bl -enum 8861d06d6bSBaptiste Daroussin.It 8961d06d6bSBaptiste DaroussinIf the first three bytes of the input file are the UTF-8 byte order 9061d06d6bSBaptiste Daroussinmark (BOM, 0xefbbbf), input is interpreted as 9161d06d6bSBaptiste Daroussin.Cm utf-8 . 9261d06d6bSBaptiste Daroussin.It 9361d06d6bSBaptiste DaroussinIf the first or second line of the input file matches the 9461d06d6bSBaptiste Daroussin.Sy emacs 9561d06d6bSBaptiste Daroussinmode line format 9661d06d6bSBaptiste Daroussin.Pp 9761d06d6bSBaptiste Daroussin.D1 .\e" -*- Oo ...; Oc coding: Ar encoding ; No -*- 9861d06d6bSBaptiste Daroussin.Pp 9961d06d6bSBaptiste Daroussinthen input is interpreted according to 10061d06d6bSBaptiste Daroussin.Ar encoding . 10161d06d6bSBaptiste Daroussin.It 10261d06d6bSBaptiste DaroussinIf the first non-ASCII byte in the file introduces a valid UTF-8 10361d06d6bSBaptiste Daroussinsequence, input is interpreted as 10461d06d6bSBaptiste Daroussin.Cm utf-8 . 10561d06d6bSBaptiste Daroussin.It 10661d06d6bSBaptiste DaroussinOtherwise, input is interpreted as 10761d06d6bSBaptiste Daroussin.Cm iso-8859-1 . 10861d06d6bSBaptiste Daroussin.El 10961d06d6bSBaptiste Daroussin.It Fl mdoc | man 11061d06d6bSBaptiste DaroussinWith 11161d06d6bSBaptiste Daroussin.Fl mdoc , 11261d06d6bSBaptiste Daroussinall input files are interpreted as 11361d06d6bSBaptiste Daroussin.Xr mdoc 7 . 11461d06d6bSBaptiste DaroussinWith 11561d06d6bSBaptiste Daroussin.Fl man , 11661d06d6bSBaptiste Daroussinall input files are interpreted as 11761d06d6bSBaptiste Daroussin.Xr man 7 . 11861d06d6bSBaptiste DaroussinBy default, the input language is automatically detected for each file: 11961d06d6bSBaptiste Daroussinif the first macro is 12061d06d6bSBaptiste Daroussin.Ic \&Dd 12161d06d6bSBaptiste Daroussinor 12261d06d6bSBaptiste Daroussin.Ic \&Dt , 12361d06d6bSBaptiste Daroussinthe 12461d06d6bSBaptiste Daroussin.Xr mdoc 7 12561d06d6bSBaptiste Daroussinparser is used; otherwise, the 12661d06d6bSBaptiste Daroussin.Xr man 7 12761d06d6bSBaptiste Daroussinparser is used. 12861d06d6bSBaptiste DaroussinWith other arguments, 12961d06d6bSBaptiste Daroussin.Fl m 13061d06d6bSBaptiste Daroussinis silently ignored. 13161d06d6bSBaptiste Daroussin.It Fl O Ar options 13261d06d6bSBaptiste DaroussinComma-separated output options. 13361d06d6bSBaptiste DaroussinSee the descriptions of the individual output formats for supported 13461d06d6bSBaptiste Daroussin.Ar options . 13561d06d6bSBaptiste Daroussin.It Fl T Ar output 13661d06d6bSBaptiste DaroussinSelect the output format. 13761d06d6bSBaptiste DaroussinSupported values for the 13861d06d6bSBaptiste Daroussin.Ar output 13961d06d6bSBaptiste Daroussinargument are 14061d06d6bSBaptiste Daroussin.Cm ascii , 14161d06d6bSBaptiste Daroussin.Cm html , 14261d06d6bSBaptiste Daroussinthe default of 14361d06d6bSBaptiste Daroussin.Cm locale , 14461d06d6bSBaptiste Daroussin.Cm man , 14561d06d6bSBaptiste Daroussin.Cm markdown , 14661d06d6bSBaptiste Daroussin.Cm pdf , 14761d06d6bSBaptiste Daroussin.Cm ps , 14861d06d6bSBaptiste Daroussin.Cm tree , 14961d06d6bSBaptiste Daroussinand 15061d06d6bSBaptiste Daroussin.Cm utf8 . 15161d06d6bSBaptiste Daroussin.Pp 15261d06d6bSBaptiste DaroussinThe special 15361d06d6bSBaptiste Daroussin.Fl T Cm lint 15461d06d6bSBaptiste Daroussinmode only parses the input and produces no output. 15561d06d6bSBaptiste DaroussinIt implies 15661d06d6bSBaptiste Daroussin.Fl W Cm all 15761d06d6bSBaptiste Daroussinand redirects parser messages, which usually appear on standard 15861d06d6bSBaptiste Daroussinerror output, to standard output. 15961d06d6bSBaptiste Daroussin.It Fl W Ar level 16061d06d6bSBaptiste DaroussinSpecify the minimum message 16161d06d6bSBaptiste Daroussin.Ar level 16261d06d6bSBaptiste Daroussinto be reported on the standard error output and to affect the exit status. 16361d06d6bSBaptiste DaroussinThe 16461d06d6bSBaptiste Daroussin.Ar level 16561d06d6bSBaptiste Daroussincan be 16661d06d6bSBaptiste Daroussin.Cm base , 16761d06d6bSBaptiste Daroussin.Cm style , 16861d06d6bSBaptiste Daroussin.Cm warning , 16961d06d6bSBaptiste Daroussin.Cm error , 17061d06d6bSBaptiste Daroussinor 17161d06d6bSBaptiste Daroussin.Cm unsupp . 17261d06d6bSBaptiste DaroussinThe 17361d06d6bSBaptiste Daroussin.Cm base 17461d06d6bSBaptiste Daroussinlevel automatically derives the operating system from the contents of the 17561d06d6bSBaptiste Daroussin.Ic \&Os 17661d06d6bSBaptiste Daroussinmacro, from the 17761d06d6bSBaptiste Daroussin.Fl Ios 17861d06d6bSBaptiste Daroussincommand line option, or from the 17961d06d6bSBaptiste Daroussin.Xr uname 3 18061d06d6bSBaptiste Daroussinreturn value. 18161d06d6bSBaptiste DaroussinThe levels 18261d06d6bSBaptiste Daroussin.Cm openbsd 18361d06d6bSBaptiste Daroussinand 18461d06d6bSBaptiste Daroussin.Cm netbsd 18561d06d6bSBaptiste Daroussinare variants of 18661d06d6bSBaptiste Daroussin.Cm base 18761d06d6bSBaptiste Daroussinthat bypass autodetection and request validation of base system 18861d06d6bSBaptiste Daroussinconventions for a particular operating system. 18961d06d6bSBaptiste DaroussinThe level 19061d06d6bSBaptiste Daroussin.Cm all 19161d06d6bSBaptiste Daroussinis an alias for 19261d06d6bSBaptiste Daroussin.Cm base . 19361d06d6bSBaptiste DaroussinBy default, 19461d06d6bSBaptiste Daroussin.Nm 19561d06d6bSBaptiste Daroussinis silent. 19661d06d6bSBaptiste DaroussinSee 19761d06d6bSBaptiste Daroussin.Sx EXIT STATUS 19861d06d6bSBaptiste Daroussinand 19961d06d6bSBaptiste Daroussin.Sx DIAGNOSTICS 20061d06d6bSBaptiste Daroussinfor details. 20161d06d6bSBaptiste Daroussin.Pp 20261d06d6bSBaptiste DaroussinThe special option 20361d06d6bSBaptiste Daroussin.Fl W Cm stop 20461d06d6bSBaptiste Daroussintells 20561d06d6bSBaptiste Daroussin.Nm 20661d06d6bSBaptiste Daroussinto exit after parsing a file that causes warnings or errors of at least 20761d06d6bSBaptiste Daroussinthe requested level. 20861d06d6bSBaptiste DaroussinNo formatted output will be produced from that file. 20961d06d6bSBaptiste DaroussinIf both a 21061d06d6bSBaptiste Daroussin.Ar level 21161d06d6bSBaptiste Daroussinand 21261d06d6bSBaptiste Daroussin.Cm stop 21361d06d6bSBaptiste Daroussinare requested, they can be joined with a comma, for example 21461d06d6bSBaptiste Daroussin.Fl W Cm error , Ns Cm stop . 21561d06d6bSBaptiste Daroussin.It Ar file 21661d06d6bSBaptiste DaroussinRead from the given input file. 21761d06d6bSBaptiste DaroussinIf multiple files are specified, they are processed in the given order. 21861d06d6bSBaptiste DaroussinIf unspecified, 21961d06d6bSBaptiste Daroussin.Nm 22061d06d6bSBaptiste Daroussinreads from standard input. 22161d06d6bSBaptiste Daroussin.El 22261d06d6bSBaptiste Daroussin.Pp 22361d06d6bSBaptiste DaroussinThe options 22461d06d6bSBaptiste Daroussin.Fl fhklw 22561d06d6bSBaptiste Daroussinare also supported and are documented in man(1). 22661d06d6bSBaptiste DaroussinIn 22761d06d6bSBaptiste Daroussin.Fl f 22861d06d6bSBaptiste Daroussinand 22961d06d6bSBaptiste Daroussin.Fl k 23061d06d6bSBaptiste Daroussinmode, 23161d06d6bSBaptiste Daroussin.Nm 23261d06d6bSBaptiste Daroussinalso supports the options 23361d06d6bSBaptiste Daroussin.Fl CMmOSs 23461d06d6bSBaptiste Daroussindescribed in the 23561d06d6bSBaptiste Daroussin.Xr apropos 1 23661d06d6bSBaptiste Daroussinmanual. 23761d06d6bSBaptiste DaroussinThe options 23861d06d6bSBaptiste Daroussin.Fl fkl 23961d06d6bSBaptiste Daroussinare mutually exclusive and override each other. 24061d06d6bSBaptiste Daroussin.Ss ASCII Output 24161d06d6bSBaptiste DaroussinUse 24261d06d6bSBaptiste Daroussin.Fl T Cm ascii 24361d06d6bSBaptiste Daroussinto force text output in 7-bit ASCII character encoding documented in the 24461d06d6bSBaptiste Daroussin.Xr ascii 7 24561d06d6bSBaptiste Daroussinmanual page, ignoring the 24661d06d6bSBaptiste Daroussin.Xr locale 1 24761d06d6bSBaptiste Daroussinset in the environment. 24861d06d6bSBaptiste Daroussin.Pp 24961d06d6bSBaptiste DaroussinFont styles are applied by using back-spaced encoding such that an 25061d06d6bSBaptiste Daroussinunderlined character 25161d06d6bSBaptiste Daroussin.Sq c 25261d06d6bSBaptiste Daroussinis rendered as 25361d06d6bSBaptiste Daroussin.Sq _ Ns \e[bs] Ns c , 25461d06d6bSBaptiste Daroussinwhere 25561d06d6bSBaptiste Daroussin.Sq \e[bs] 25661d06d6bSBaptiste Daroussinis the back-space character number 8. 25761d06d6bSBaptiste DaroussinEmboldened characters are rendered as 25861d06d6bSBaptiste Daroussin.Sq c Ns \e[bs] Ns c . 259*7295610fSBaptiste DaroussinThis markup is typically converted to appropriate terminal sequences by 260*7295610fSBaptiste Daroussinthe pager or 261*7295610fSBaptiste Daroussin.Xr ul 1 . 262*7295610fSBaptiste DaroussinTo remove the markup, pipe the output to 263*7295610fSBaptiste Daroussin.Xr col 1 264*7295610fSBaptiste Daroussin.Fl b 265*7295610fSBaptiste Daroussininstead. 26661d06d6bSBaptiste Daroussin.Pp 26761d06d6bSBaptiste DaroussinThe special characters documented in 26861d06d6bSBaptiste Daroussin.Xr mandoc_char 7 26961d06d6bSBaptiste Daroussinare rendered best-effort in an ASCII equivalent. 270*7295610fSBaptiste DaroussinIn particular, opening and closing 271*7295610fSBaptiste Daroussin.Sq single quotes 272*7295610fSBaptiste Daroussinare represented as characters number 0x60 and 0x27, respectively, 273*7295610fSBaptiste Daroussinwhich agrees with all ASCII standards from 1965 to the latest 274*7295610fSBaptiste Daroussinrevision (2012) and which matches the traditional way in which 275*7295610fSBaptiste Daroussin.Xr roff 7 276*7295610fSBaptiste Daroussinformatters represent single quotes in ASCII output. 277*7295610fSBaptiste DaroussinThis correct ASCII rendering may look strange with modern 278*7295610fSBaptiste DaroussinUnicode-compatible fonts because contrary to ASCII, Unicode uses 279*7295610fSBaptiste Daroussinthe code point U+0060 for the grave accent only, never for an opening 280*7295610fSBaptiste Daroussinquote. 28161d06d6bSBaptiste Daroussin.Pp 28261d06d6bSBaptiste DaroussinThe following 28361d06d6bSBaptiste Daroussin.Fl O 28461d06d6bSBaptiste Daroussinarguments are accepted: 28561d06d6bSBaptiste Daroussin.Bl -tag -width Ds 28661d06d6bSBaptiste Daroussin.It Cm indent Ns = Ns Ar indent 28761d06d6bSBaptiste DaroussinThe left margin for normal text is set to 28861d06d6bSBaptiste Daroussin.Ar indent 28961d06d6bSBaptiste Daroussinblank characters instead of the default of five for 29061d06d6bSBaptiste Daroussin.Xr mdoc 7 29161d06d6bSBaptiste Daroussinand seven for 29261d06d6bSBaptiste Daroussin.Xr man 7 . 29361d06d6bSBaptiste DaroussinIncreasing this is not recommended; it may result in degraded formatting, 29461d06d6bSBaptiste Daroussinfor example overfull lines or ugly line breaks. 29561d06d6bSBaptiste DaroussinWhen output is to a pager on a terminal that is less than 66 columns 29661d06d6bSBaptiste Daroussinwide, the default is reduced to three columns. 29761d06d6bSBaptiste Daroussin.It Cm mdoc 29861d06d6bSBaptiste DaroussinFormat 29961d06d6bSBaptiste Daroussin.Xr man 7 30061d06d6bSBaptiste Daroussininput files in 30161d06d6bSBaptiste Daroussin.Xr mdoc 7 30261d06d6bSBaptiste Daroussinoutput style. 30361d06d6bSBaptiste DaroussinSpecifically, this suppresses the two additional blank lines near the 30461d06d6bSBaptiste Daroussintop and the bottom of each page, and it implies 30561d06d6bSBaptiste Daroussin.Fl O Cm indent Ns =5 . 30661d06d6bSBaptiste DaroussinOne useful application is for checking that 30761d06d6bSBaptiste Daroussin.Fl T Cm man 30861d06d6bSBaptiste Daroussinoutput formats in the same way as the 30961d06d6bSBaptiste Daroussin.Xr mdoc 7 31061d06d6bSBaptiste Daroussinsource it was generated from. 311*7295610fSBaptiste Daroussin.It Cm tag Ns Op = Ns Ar term 312*7295610fSBaptiste DaroussinIf the formatted manual page is opened in a pager, 313*7295610fSBaptiste Daroussingo to the definition of the 314*7295610fSBaptiste Daroussin.Ar term 315*7295610fSBaptiste Daroussinrather than showing the manual page from the beginning. 316*7295610fSBaptiste DaroussinIf no 317*7295610fSBaptiste Daroussin.Ar term 318*7295610fSBaptiste Daroussinis specified, reuse the first command line argument that is not a 319*7295610fSBaptiste Daroussin.Ar section 320*7295610fSBaptiste Daroussinnumber. 321*7295610fSBaptiste DaroussinIf that argument is in 322*7295610fSBaptiste Daroussin.Xr apropos 1 323*7295610fSBaptiste Daroussin.Ar key Ns = Ns Ar val 324*7295610fSBaptiste Daroussinformat, only the 325*7295610fSBaptiste Daroussin.Ar val 326*7295610fSBaptiste Daroussinis used rather than the argument as a whole. 327*7295610fSBaptiste DaroussinThis is useful for commands like 328*7295610fSBaptiste Daroussin.Ql man -akO tag Ic=ulimit 329*7295610fSBaptiste Daroussinto search for a keyword and jump right to its definition 330*7295610fSBaptiste Daroussinin the matching manual pages. 33161d06d6bSBaptiste Daroussin.It Cm width Ns = Ns Ar width 33261d06d6bSBaptiste DaroussinThe output width is set to 33361d06d6bSBaptiste Daroussin.Ar width 33461d06d6bSBaptiste Daroussininstead of the default of 78. 33561d06d6bSBaptiste DaroussinWhen output is to a pager on a terminal that is less than 79 columns 33661d06d6bSBaptiste Daroussinwide, the default is reduced to one less than the terminal width. 33761d06d6bSBaptiste DaroussinIn any case, lines that are output in literal mode are never wrapped 33861d06d6bSBaptiste Daroussinand may exceed the output width. 33961d06d6bSBaptiste Daroussin.El 34061d06d6bSBaptiste Daroussin.Ss HTML Output 34161d06d6bSBaptiste DaroussinOutput produced by 34261d06d6bSBaptiste Daroussin.Fl T Cm html 34361d06d6bSBaptiste Daroussinconforms to HTML5 using optional self-closing tags. 34461d06d6bSBaptiste DaroussinDefault styles use only CSS1. 34561d06d6bSBaptiste DaroussinEquations rendered from 34661d06d6bSBaptiste Daroussin.Xr eqn 7 34761d06d6bSBaptiste Daroussinblocks use MathML. 34861d06d6bSBaptiste Daroussin.Pp 349*7295610fSBaptiste DaroussinThe file 350*7295610fSBaptiste Daroussin.Pa /usr/share/misc/mandoc.css 351*7295610fSBaptiste Daroussindocuments style-sheet classes available for customising output. 35261d06d6bSBaptiste DaroussinIf a style-sheet is not specified with 35361d06d6bSBaptiste Daroussin.Fl O Cm style , 35461d06d6bSBaptiste Daroussin.Fl T Cm html 35561d06d6bSBaptiste Daroussindefaults to simple output (via an embedded style-sheet) 35661d06d6bSBaptiste Daroussinreadable in any graphical or text-based web 35761d06d6bSBaptiste Daroussinbrowser. 35861d06d6bSBaptiste Daroussin.Pp 35961d06d6bSBaptiste DaroussinNon-ASCII characters are rendered 36061d06d6bSBaptiste Daroussinas hexadecimal Unicode character references. 36161d06d6bSBaptiste Daroussin.Pp 36261d06d6bSBaptiste DaroussinThe following 36361d06d6bSBaptiste Daroussin.Fl O 36461d06d6bSBaptiste Daroussinarguments are accepted: 36561d06d6bSBaptiste Daroussin.Bl -tag -width Ds 36661d06d6bSBaptiste Daroussin.It Cm fragment 36761d06d6bSBaptiste DaroussinOmit the <!DOCTYPE> declaration and the <html>, <head>, and <body> 36861d06d6bSBaptiste Daroussinelements and only emit the subtree below the <body> element. 36961d06d6bSBaptiste DaroussinThe 37061d06d6bSBaptiste Daroussin.Cm style 37161d06d6bSBaptiste Daroussinargument will be ignored. 37261d06d6bSBaptiste DaroussinThis is useful when embedding manual content within existing documents. 37361d06d6bSBaptiste Daroussin.It Cm includes Ns = Ns Ar fmt 37461d06d6bSBaptiste DaroussinThe string 37561d06d6bSBaptiste Daroussin.Ar fmt , 37661d06d6bSBaptiste Daroussinfor example, 37761d06d6bSBaptiste Daroussin.Ar ../src/%I.html , 37861d06d6bSBaptiste Daroussinis used as a template for linked header files (usually via the 37961d06d6bSBaptiste Daroussin.Ic \&In 38061d06d6bSBaptiste Daroussinmacro). 38161d06d6bSBaptiste DaroussinInstances of 38261d06d6bSBaptiste Daroussin.Sq \&%I 38361d06d6bSBaptiste Daroussinare replaced with the include filename. 38461d06d6bSBaptiste DaroussinThe default is not to present a 38561d06d6bSBaptiste Daroussinhyperlink. 386*7295610fSBaptiste Daroussin.It Cm man Ns = Ns Ar fmt Ns Op ; Ns Ar fmt 38761d06d6bSBaptiste DaroussinThe string 38861d06d6bSBaptiste Daroussin.Ar fmt , 38961d06d6bSBaptiste Daroussinfor example, 39061d06d6bSBaptiste Daroussin.Ar ../html%S/%N.%S.html , 39161d06d6bSBaptiste Daroussinis used as a template for linked manuals (usually via the 39261d06d6bSBaptiste Daroussin.Ic \&Xr 39361d06d6bSBaptiste Daroussinmacro). 39461d06d6bSBaptiste DaroussinInstances of 39561d06d6bSBaptiste Daroussin.Sq \&%N 39661d06d6bSBaptiste Daroussinand 39761d06d6bSBaptiste Daroussin.Sq %S 39861d06d6bSBaptiste Daroussinare replaced with the linked manual's name and section, respectively. 39961d06d6bSBaptiste DaroussinIf no section is included, section 1 is assumed. 40061d06d6bSBaptiste DaroussinThe default is not to 40161d06d6bSBaptiste Daroussinpresent a hyperlink. 402*7295610fSBaptiste DaroussinIf two formats are given and a file 403*7295610fSBaptiste Daroussin.Ar %N.%S 404*7295610fSBaptiste Daroussinexists in the current directory, the first format is used; 405*7295610fSBaptiste Daroussinotherwise, the second format is used. 40661d06d6bSBaptiste Daroussin.It Cm style Ns = Ns Ar style.css 40761d06d6bSBaptiste DaroussinThe file 40861d06d6bSBaptiste Daroussin.Ar style.css 40961d06d6bSBaptiste Daroussinis used for an external style-sheet. 41061d06d6bSBaptiste DaroussinThis must be a valid absolute or 41161d06d6bSBaptiste Daroussinrelative URI. 412*7295610fSBaptiste Daroussin.It Cm toc 413*7295610fSBaptiste DaroussinIf an input file contains at least two non-standard sections, 414*7295610fSBaptiste Daroussinprint a table of contents near the beginning of the output. 41561d06d6bSBaptiste Daroussin.El 41661d06d6bSBaptiste Daroussin.Ss Locale Output 41761d06d6bSBaptiste DaroussinBy default, 41861d06d6bSBaptiste Daroussin.Nm 41961d06d6bSBaptiste Daroussinautomatically selects UTF-8 or ASCII output according to the current 42061d06d6bSBaptiste Daroussin.Xr locale 1 . 42161d06d6bSBaptiste DaroussinIf any of the environment variables 42261d06d6bSBaptiste Daroussin.Ev LC_ALL , 42361d06d6bSBaptiste Daroussin.Ev LC_CTYPE , 42461d06d6bSBaptiste Daroussinor 42561d06d6bSBaptiste Daroussin.Ev LANG 42661d06d6bSBaptiste Daroussinare set and the first one that is set 42761d06d6bSBaptiste Daroussinselects the UTF-8 character encoding, it produces 42861d06d6bSBaptiste Daroussin.Sx UTF-8 Output ; 42961d06d6bSBaptiste Daroussinotherwise, it falls back to 43061d06d6bSBaptiste Daroussin.Sx ASCII Output . 43161d06d6bSBaptiste DaroussinThis output mode can also be selected explicitly with 43261d06d6bSBaptiste Daroussin.Fl T Cm locale . 43361d06d6bSBaptiste Daroussin.Ss Man Output 43461d06d6bSBaptiste DaroussinUse 43561d06d6bSBaptiste Daroussin.Fl T Cm man 43661d06d6bSBaptiste Daroussinto translate 43761d06d6bSBaptiste Daroussin.Xr mdoc 7 43861d06d6bSBaptiste Daroussininput into 43961d06d6bSBaptiste Daroussin.Xr man 7 44061d06d6bSBaptiste Daroussinoutput format. 44161d06d6bSBaptiste DaroussinThis is useful for distributing manual sources to legacy systems 44261d06d6bSBaptiste Daroussinlacking 44361d06d6bSBaptiste Daroussin.Xr mdoc 7 44461d06d6bSBaptiste Daroussinformatters. 44561d06d6bSBaptiste Daroussin.Pp 44661d06d6bSBaptiste DaroussinIf the input format of a file is 44761d06d6bSBaptiste Daroussin.Xr man 7 , 44861d06d6bSBaptiste Daroussinthe input is copied to the output, expanding any 44961d06d6bSBaptiste Daroussin.Xr roff 7 45061d06d6bSBaptiste Daroussin.Ic so 45161d06d6bSBaptiste Daroussinrequests. 45261d06d6bSBaptiste DaroussinThe parser is also run, and as usual, the 45361d06d6bSBaptiste Daroussin.Fl W 45461d06d6bSBaptiste Daroussinlevel controls which 45561d06d6bSBaptiste Daroussin.Sx DIAGNOSTICS 45661d06d6bSBaptiste Daroussinare displayed before copying the input to the output. 45761d06d6bSBaptiste Daroussin.Ss Markdown Output 45861d06d6bSBaptiste DaroussinUse 45961d06d6bSBaptiste Daroussin.Fl T Cm markdown 46061d06d6bSBaptiste Daroussinto translate 46161d06d6bSBaptiste Daroussin.Xr mdoc 7 46261d06d6bSBaptiste Daroussininput to the markdown format conforming to 46361d06d6bSBaptiste Daroussin.Lk http://daringfireball.net/projects/markdown/syntax.text\ 46461d06d6bSBaptiste Daroussin "John Gruber's 2004 specification" . 46561d06d6bSBaptiste DaroussinThe output also almost conforms to the 46661d06d6bSBaptiste Daroussin.Lk http://commonmark.org/ CommonMark 46761d06d6bSBaptiste Daroussinspecification. 46861d06d6bSBaptiste Daroussin.Pp 46961d06d6bSBaptiste DaroussinThe character set used for the markdown output is ASCII. 47061d06d6bSBaptiste DaroussinNon-ASCII characters are encoded as HTML entities. 47161d06d6bSBaptiste DaroussinSince that is not possible in literal font contexts, because these 47261d06d6bSBaptiste Daroussinare rendered as code spans and code blocks in the markdown output, 47361d06d6bSBaptiste Daroussinnon-ASCII characters are transliterated to ASCII approximations in 47461d06d6bSBaptiste Daroussinthese contexts. 47561d06d6bSBaptiste Daroussin.Pp 47661d06d6bSBaptiste DaroussinMarkdown is a very weak markup language, so all semantic markup is 47761d06d6bSBaptiste Daroussinlost, and even part of the presentational markup may be lost. 47861d06d6bSBaptiste DaroussinDo not use this as an intermediate step in converting to HTML; 47961d06d6bSBaptiste Daroussininstead, use 48061d06d6bSBaptiste Daroussin.Fl T Cm html 48161d06d6bSBaptiste Daroussindirectly. 48261d06d6bSBaptiste Daroussin.Pp 48361d06d6bSBaptiste DaroussinThe 48461d06d6bSBaptiste Daroussin.Xr man 7 , 48561d06d6bSBaptiste Daroussin.Xr tbl 7 , 48661d06d6bSBaptiste Daroussinand 48761d06d6bSBaptiste Daroussin.Xr eqn 7 48861d06d6bSBaptiste Daroussininput languages are not supported by 48961d06d6bSBaptiste Daroussin.Fl T Cm markdown 49061d06d6bSBaptiste Daroussinoutput mode. 49161d06d6bSBaptiste Daroussin.Ss PDF Output 49261d06d6bSBaptiste DaroussinPDF-1.1 output may be generated by 49361d06d6bSBaptiste Daroussin.Fl T Cm pdf . 49461d06d6bSBaptiste DaroussinSee 49561d06d6bSBaptiste Daroussin.Sx PostScript Output 49661d06d6bSBaptiste Daroussinfor 49761d06d6bSBaptiste Daroussin.Fl O 49861d06d6bSBaptiste Daroussinarguments and defaults. 49961d06d6bSBaptiste Daroussin.Ss PostScript Output 50061d06d6bSBaptiste DaroussinPostScript 50161d06d6bSBaptiste Daroussin.Qq Adobe-3.0 50261d06d6bSBaptiste DaroussinLevel-2 pages may be generated by 50361d06d6bSBaptiste Daroussin.Fl T Cm ps . 50461d06d6bSBaptiste DaroussinOutput pages default to letter sized and are rendered in the Times font 50561d06d6bSBaptiste Daroussinfamily, 11-point. 50661d06d6bSBaptiste DaroussinMargins are calculated as 1/9 the page length and width. 50761d06d6bSBaptiste DaroussinLine-height is 1.4m. 50861d06d6bSBaptiste Daroussin.Pp 50961d06d6bSBaptiste DaroussinSpecial characters are rendered as in 51061d06d6bSBaptiste Daroussin.Sx ASCII Output . 51161d06d6bSBaptiste Daroussin.Pp 51261d06d6bSBaptiste DaroussinThe following 51361d06d6bSBaptiste Daroussin.Fl O 51461d06d6bSBaptiste Daroussinarguments are accepted: 51561d06d6bSBaptiste Daroussin.Bl -tag -width Ds 51661d06d6bSBaptiste Daroussin.It Cm paper Ns = Ns Ar name 51761d06d6bSBaptiste DaroussinThe paper size 51861d06d6bSBaptiste Daroussin.Ar name 51961d06d6bSBaptiste Daroussinmay be one of 52061d06d6bSBaptiste Daroussin.Ar a3 , 52161d06d6bSBaptiste Daroussin.Ar a4 , 52261d06d6bSBaptiste Daroussin.Ar a5 , 52361d06d6bSBaptiste Daroussin.Ar legal , 52461d06d6bSBaptiste Daroussinor 52561d06d6bSBaptiste Daroussin.Ar letter . 52661d06d6bSBaptiste DaroussinYou may also manually specify dimensions as 52761d06d6bSBaptiste Daroussin.Ar NNxNN , 52861d06d6bSBaptiste Daroussinwidth by height in millimetres. 52961d06d6bSBaptiste DaroussinIf an unknown value is encountered, 53061d06d6bSBaptiste Daroussin.Ar letter 53161d06d6bSBaptiste Daroussinis used. 53261d06d6bSBaptiste Daroussin.El 53361d06d6bSBaptiste Daroussin.Ss UTF-8 Output 53461d06d6bSBaptiste DaroussinUse 53561d06d6bSBaptiste Daroussin.Fl T Cm utf8 53661d06d6bSBaptiste Daroussinto force text output in UTF-8 multi-byte character encoding, 53761d06d6bSBaptiste Daroussinignoring the 53861d06d6bSBaptiste Daroussin.Xr locale 1 53961d06d6bSBaptiste Daroussinsettings in the environment. 54061d06d6bSBaptiste DaroussinSee 54161d06d6bSBaptiste Daroussin.Sx ASCII Output 54261d06d6bSBaptiste Daroussinregarding font styles and 54361d06d6bSBaptiste Daroussin.Fl O 54461d06d6bSBaptiste Daroussinarguments. 54561d06d6bSBaptiste Daroussin.Pp 54661d06d6bSBaptiste DaroussinOn operating systems lacking locale or wide character support, and 54761d06d6bSBaptiste Daroussinon those where the internal character representation is not UCS-4, 54861d06d6bSBaptiste Daroussin.Nm 54961d06d6bSBaptiste Daroussinalways falls back to 55061d06d6bSBaptiste Daroussin.Sx ASCII Output . 55161d06d6bSBaptiste Daroussin.Ss Syntax tree output 55261d06d6bSBaptiste DaroussinUse 55361d06d6bSBaptiste Daroussin.Fl T Cm tree 55461d06d6bSBaptiste Daroussinto show a human readable representation of the syntax tree. 55561d06d6bSBaptiste DaroussinIt is useful for debugging the source code of manual pages. 55661d06d6bSBaptiste DaroussinThe exact format is subject to change, so don't write parsers for it. 55761d06d6bSBaptiste Daroussin.Pp 55861d06d6bSBaptiste DaroussinThe first paragraph shows meta data found in the 55961d06d6bSBaptiste Daroussin.Xr mdoc 7 56061d06d6bSBaptiste Daroussinprologue, on the 56161d06d6bSBaptiste Daroussin.Xr man 7 56261d06d6bSBaptiste Daroussin.Ic \&TH 56361d06d6bSBaptiste Daroussinline, or the fallbacks used. 56461d06d6bSBaptiste Daroussin.Pp 56561d06d6bSBaptiste DaroussinIn the tree dump, each output line shows one syntax tree node. 56661d06d6bSBaptiste DaroussinChild nodes are indented with respect to their parent node. 56761d06d6bSBaptiste DaroussinThe columns are: 56861d06d6bSBaptiste Daroussin.Pp 56961d06d6bSBaptiste Daroussin.Bl -enum -compact 57061d06d6bSBaptiste Daroussin.It 57161d06d6bSBaptiste DaroussinFor macro nodes, the macro name; for text and 57261d06d6bSBaptiste Daroussin.Xr tbl 7 57361d06d6bSBaptiste Daroussinnodes, the content. 57461d06d6bSBaptiste DaroussinThere is a special format for 57561d06d6bSBaptiste Daroussin.Xr eqn 7 57661d06d6bSBaptiste Daroussinnodes. 57761d06d6bSBaptiste Daroussin.It 57861d06d6bSBaptiste DaroussinNode type (text, elem, block, head, body, body-end, tail, tbl, eqn). 57961d06d6bSBaptiste Daroussin.It 58061d06d6bSBaptiste DaroussinFlags: 58161d06d6bSBaptiste Daroussin.Bl -dash -compact 58261d06d6bSBaptiste Daroussin.It 58361d06d6bSBaptiste DaroussinAn opening parenthesis if the node is an opening delimiter. 58461d06d6bSBaptiste Daroussin.It 58561d06d6bSBaptiste DaroussinAn asterisk if the node starts a new input line. 58661d06d6bSBaptiste Daroussin.It 58761d06d6bSBaptiste DaroussinThe input line number (starting at one). 58861d06d6bSBaptiste Daroussin.It 58961d06d6bSBaptiste DaroussinA colon. 59061d06d6bSBaptiste Daroussin.It 59161d06d6bSBaptiste DaroussinThe input column number (starting at one). 59261d06d6bSBaptiste Daroussin.It 59361d06d6bSBaptiste DaroussinA closing parenthesis if the node is a closing delimiter. 59461d06d6bSBaptiste Daroussin.It 59561d06d6bSBaptiste DaroussinA full stop if the node ends a sentence. 59661d06d6bSBaptiste Daroussin.It 59761d06d6bSBaptiste DaroussinBROKEN if the node is a block broken by another block. 59861d06d6bSBaptiste Daroussin.It 59961d06d6bSBaptiste DaroussinNOSRC if the node is not in the input file, 60061d06d6bSBaptiste Daroussinbut automatically generated from macros. 60161d06d6bSBaptiste Daroussin.It 60261d06d6bSBaptiste DaroussinNOPRT if the node is not supposed to generate output 60361d06d6bSBaptiste Daroussinfor any output format. 60461d06d6bSBaptiste Daroussin.El 60561d06d6bSBaptiste Daroussin.El 60661d06d6bSBaptiste Daroussin.Pp 60761d06d6bSBaptiste DaroussinThe following 60861d06d6bSBaptiste Daroussin.Fl O 60961d06d6bSBaptiste Daroussinargument is accepted: 61061d06d6bSBaptiste Daroussin.Bl -tag -width Ds 61161d06d6bSBaptiste Daroussin.It Cm noval 61261d06d6bSBaptiste DaroussinSkip validation and show the unvalidated syntax tree. 61361d06d6bSBaptiste DaroussinThis can help to find out whether a given behaviour is caused by 61461d06d6bSBaptiste Daroussinthe parser or by the validator. 61561d06d6bSBaptiste DaroussinMeta data is not available in this case. 61661d06d6bSBaptiste Daroussin.El 61761d06d6bSBaptiste Daroussin.Sh ENVIRONMENT 61861d06d6bSBaptiste Daroussin.Bl -tag -width MANPAGER 61961d06d6bSBaptiste Daroussin.It Ev LC_CTYPE 62061d06d6bSBaptiste DaroussinThe character encoding 62161d06d6bSBaptiste Daroussin.Xr locale 1 . 62261d06d6bSBaptiste DaroussinWhen 62361d06d6bSBaptiste Daroussin.Sx Locale Output 62461d06d6bSBaptiste Daroussinis selected, it decides whether to use ASCII or UTF-8 output format. 62561d06d6bSBaptiste DaroussinIt never affects the interpretation of input files. 62661d06d6bSBaptiste Daroussin.It Ev MANPAGER 62761d06d6bSBaptiste DaroussinAny non-empty value of the environment variable 62861d06d6bSBaptiste Daroussin.Ev MANPAGER 62961d06d6bSBaptiste Daroussinis used instead of the standard pagination program, 63061d06d6bSBaptiste Daroussin.Xr more 1 ; 63161d06d6bSBaptiste Daroussinsee 63261d06d6bSBaptiste Daroussin.Xr man 1 63361d06d6bSBaptiste Daroussinfor details. 63461d06d6bSBaptiste DaroussinOnly used if 63561d06d6bSBaptiste Daroussin.Fl a 63661d06d6bSBaptiste Daroussinor 63761d06d6bSBaptiste Daroussin.Fl l 63861d06d6bSBaptiste Daroussinis specified. 63961d06d6bSBaptiste Daroussin.It Ev PAGER 64061d06d6bSBaptiste DaroussinSpecifies the pagination program to use when 64161d06d6bSBaptiste Daroussin.Ev MANPAGER 64261d06d6bSBaptiste Daroussinis not defined. 64361d06d6bSBaptiste DaroussinIf neither PAGER nor MANPAGER is defined, 64461d06d6bSBaptiste Daroussin.Xr more 1 64561d06d6bSBaptiste Daroussin.Fl s 64661d06d6bSBaptiste Daroussinis used. 64761d06d6bSBaptiste DaroussinOnly used if 64861d06d6bSBaptiste Daroussin.Fl a 64961d06d6bSBaptiste Daroussinor 65061d06d6bSBaptiste Daroussin.Fl l 65161d06d6bSBaptiste Daroussinis specified. 65261d06d6bSBaptiste Daroussin.El 65361d06d6bSBaptiste Daroussin.Sh EXIT STATUS 65461d06d6bSBaptiste DaroussinThe 65561d06d6bSBaptiste Daroussin.Nm 65661d06d6bSBaptiste Daroussinutility exits with one of the following values, controlled by the message 65761d06d6bSBaptiste Daroussin.Ar level 65861d06d6bSBaptiste Daroussinassociated with the 65961d06d6bSBaptiste Daroussin.Fl W 66061d06d6bSBaptiste Daroussinoption: 66161d06d6bSBaptiste Daroussin.Pp 66261d06d6bSBaptiste Daroussin.Bl -tag -width Ds -compact 66361d06d6bSBaptiste Daroussin.It 0 66461d06d6bSBaptiste DaroussinNo base system convention violations, style suggestions, warnings, 66561d06d6bSBaptiste Daroussinor errors occurred, or those that did were ignored because they 66661d06d6bSBaptiste Daroussinwere lower than the requested 66761d06d6bSBaptiste Daroussin.Ar level . 66861d06d6bSBaptiste Daroussin.It 1 66961d06d6bSBaptiste DaroussinAt least one base system convention violation or style suggestion 67061d06d6bSBaptiste Daroussinoccurred, but no warning or error, and 67161d06d6bSBaptiste Daroussin.Fl W Cm base 67261d06d6bSBaptiste Daroussinor 67361d06d6bSBaptiste Daroussin.Fl W Cm style 67461d06d6bSBaptiste Daroussinwas specified. 67561d06d6bSBaptiste Daroussin.It 2 67661d06d6bSBaptiste DaroussinAt least one warning occurred, but no error, and 67761d06d6bSBaptiste Daroussin.Fl W Cm warning 67861d06d6bSBaptiste Daroussinor a lower 67961d06d6bSBaptiste Daroussin.Ar level 68061d06d6bSBaptiste Daroussinwas requested. 68161d06d6bSBaptiste Daroussin.It 3 68261d06d6bSBaptiste DaroussinAt least one parsing error occurred, 68361d06d6bSBaptiste Daroussinbut no unsupported feature was encountered, and 68461d06d6bSBaptiste Daroussin.Fl W Cm error 68561d06d6bSBaptiste Daroussinor a lower 68661d06d6bSBaptiste Daroussin.Ar level 68761d06d6bSBaptiste Daroussinwas requested. 68861d06d6bSBaptiste Daroussin.It 4 68961d06d6bSBaptiste DaroussinAt least one unsupported feature was encountered, and 69061d06d6bSBaptiste Daroussin.Fl W Cm unsupp 69161d06d6bSBaptiste Daroussinor a lower 69261d06d6bSBaptiste Daroussin.Ar level 69361d06d6bSBaptiste Daroussinwas requested. 69461d06d6bSBaptiste Daroussin.It 5 69561d06d6bSBaptiste DaroussinInvalid command line arguments were specified. 69661d06d6bSBaptiste DaroussinNo input files have been read. 69761d06d6bSBaptiste Daroussin.It 6 69861d06d6bSBaptiste DaroussinAn operating system error occurred, for example exhaustion 69961d06d6bSBaptiste Daroussinof memory, file descriptors, or process table entries. 70061d06d6bSBaptiste DaroussinSuch errors cause 70161d06d6bSBaptiste Daroussin.Nm 70261d06d6bSBaptiste Daroussinto exit at once, possibly in the middle of parsing or formatting a file. 70361d06d6bSBaptiste Daroussin.El 70461d06d6bSBaptiste Daroussin.Pp 70561d06d6bSBaptiste DaroussinNote that selecting 70661d06d6bSBaptiste Daroussin.Fl T Cm lint 70761d06d6bSBaptiste Daroussinoutput mode implies 70861d06d6bSBaptiste Daroussin.Fl W Cm all . 70961d06d6bSBaptiste Daroussin.Sh EXAMPLES 71061d06d6bSBaptiste DaroussinTo page manuals to the terminal: 71161d06d6bSBaptiste Daroussin.Pp 71261d06d6bSBaptiste Daroussin.Dl $ mandoc -l mandoc.1 man.1 apropos.1 makewhatis.8 71361d06d6bSBaptiste Daroussin.Pp 71461d06d6bSBaptiste DaroussinTo produce HTML manuals with 715*7295610fSBaptiste Daroussin.Pa /usr/share/misc/mandoc.css 71661d06d6bSBaptiste Daroussinas the style-sheet: 71761d06d6bSBaptiste Daroussin.Pp 718*7295610fSBaptiste Daroussin.Dl $ mandoc \-T html -O style=/usr/share/misc/mandoc.css mdoc.7 > mdoc.7.html 71961d06d6bSBaptiste Daroussin.Pp 72061d06d6bSBaptiste DaroussinTo check over a large set of manuals: 72161d06d6bSBaptiste Daroussin.Pp 72261d06d6bSBaptiste Daroussin.Dl $ mandoc \-T lint \(gafind /usr/src -name \e*\e.[1-9]\(ga 72361d06d6bSBaptiste Daroussin.Pp 72461d06d6bSBaptiste DaroussinTo produce a series of PostScript manuals for A4 paper: 72561d06d6bSBaptiste Daroussin.Pp 726*7295610fSBaptiste Daroussin.Dl $ mandoc \-T ps \-O paper=a4 mdoc.7 man.7 > manuals.ps 72761d06d6bSBaptiste Daroussin.Pp 72861d06d6bSBaptiste DaroussinConvert a modern 72961d06d6bSBaptiste Daroussin.Xr mdoc 7 73061d06d6bSBaptiste Daroussinmanual to the older 73161d06d6bSBaptiste Daroussin.Xr man 7 73261d06d6bSBaptiste Daroussinformat, for use on systems lacking an 73361d06d6bSBaptiste Daroussin.Xr mdoc 7 73461d06d6bSBaptiste Daroussinparser: 73561d06d6bSBaptiste Daroussin.Pp 736*7295610fSBaptiste Daroussin.Dl $ mandoc \-T man foo.mdoc > foo.man 73761d06d6bSBaptiste Daroussin.Sh DIAGNOSTICS 73861d06d6bSBaptiste DaroussinMessages displayed by 73961d06d6bSBaptiste Daroussin.Nm 74061d06d6bSBaptiste Daroussinfollow this format: 74161d06d6bSBaptiste Daroussin.Bd -ragged -offset indent 74261d06d6bSBaptiste Daroussin.Nm : 743*7295610fSBaptiste Daroussin.Ar file : Ns Ar line : Ns Ar column : level : message : macro arguments 74461d06d6bSBaptiste Daroussin.Pq Ar os 74561d06d6bSBaptiste Daroussin.Ed 74661d06d6bSBaptiste Daroussin.Pp 747*7295610fSBaptiste DaroussinThe first three fields identify the 748*7295610fSBaptiste Daroussin.Ar file 749*7295610fSBaptiste Daroussinname, 750*7295610fSBaptiste Daroussin.Ar line 751*7295610fSBaptiste Daroussinnumber, and 752*7295610fSBaptiste Daroussin.Ar column 753*7295610fSBaptiste Daroussinnumber of the input file where the message was triggered. 754*7295610fSBaptiste DaroussinThe line and column numbers start at 1. 75561d06d6bSBaptiste DaroussinBoth are omitted for messages referring to an input file as a whole. 756*7295610fSBaptiste DaroussinAll 757*7295610fSBaptiste Daroussin.Ar level 758*7295610fSBaptiste Daroussinand 759*7295610fSBaptiste Daroussin.Ar message 760*7295610fSBaptiste Daroussinstrings are explained below. 761*7295610fSBaptiste DaroussinThe name of the 762*7295610fSBaptiste Daroussin.Ar macro 763*7295610fSBaptiste Daroussintriggering the message and its 764*7295610fSBaptiste Daroussin.Ar arguments 765*7295610fSBaptiste Daroussinare omitted where meaningless. 76661d06d6bSBaptiste DaroussinThe 76761d06d6bSBaptiste Daroussin.Ar os 76861d06d6bSBaptiste Daroussinoperating system specifier is omitted for messages that are relevant 76961d06d6bSBaptiste Daroussinfor all operating systems. 77061d06d6bSBaptiste DaroussinFatal messages about invalid command line arguments 77161d06d6bSBaptiste Daroussinor operating system errors, for example when memory is exhausted, 77261d06d6bSBaptiste Daroussinmay also omit the 77361d06d6bSBaptiste Daroussin.Ar file 77461d06d6bSBaptiste Daroussinand 77561d06d6bSBaptiste Daroussin.Ar level 77661d06d6bSBaptiste Daroussinfields. 77761d06d6bSBaptiste Daroussin.Pp 77861d06d6bSBaptiste DaroussinMessage levels have the following meanings: 77961d06d6bSBaptiste Daroussin.Bl -tag -width "warning" 78061d06d6bSBaptiste Daroussin.It Cm unsupp 78161d06d6bSBaptiste DaroussinAn input file uses unsupported low-level 78261d06d6bSBaptiste Daroussin.Xr roff 7 78361d06d6bSBaptiste Daroussinfeatures. 78461d06d6bSBaptiste DaroussinThe output may be incomplete and/or misformatted, 78561d06d6bSBaptiste Daroussinso using GNU troff instead of 78661d06d6bSBaptiste Daroussin.Nm 78761d06d6bSBaptiste Daroussinto process the file may be preferable. 78861d06d6bSBaptiste Daroussin.It Cm error 78961d06d6bSBaptiste DaroussinIndicates a risk of information loss or severe misformatting, 79061d06d6bSBaptiste Daroussinin most cases caused by serious syntax errors. 79161d06d6bSBaptiste Daroussin.It Cm warning 79261d06d6bSBaptiste DaroussinIndicates a risk that the information shown or its formatting 79361d06d6bSBaptiste Daroussinmay mismatch the author's intent in minor ways. 79461d06d6bSBaptiste DaroussinAdditionally, syntax errors are classified at least as warnings, 79561d06d6bSBaptiste Daroussineven if they do not usually cause misformatting. 79661d06d6bSBaptiste Daroussin.It Cm style 79761d06d6bSBaptiste DaroussinAn input file uses dubious or discouraged style. 79861d06d6bSBaptiste DaroussinThis is not a complaint about the syntax, and probably neither 79961d06d6bSBaptiste Daroussinformatting nor portability are in danger. 80061d06d6bSBaptiste DaroussinWhile great care is taken to avoid false positives on the higher 80161d06d6bSBaptiste Daroussinmessage levels, the 80261d06d6bSBaptiste Daroussin.Cm style 80361d06d6bSBaptiste Daroussinlevel tries to reduce the probability that issues go unnoticed, 80461d06d6bSBaptiste Daroussinso it may occasionally issue bogus suggestions. 80561d06d6bSBaptiste DaroussinPlease use your good judgement to decide whether any particular 80661d06d6bSBaptiste Daroussin.Cm style 80761d06d6bSBaptiste Daroussinsuggestion really justifies a change to the input file. 80861d06d6bSBaptiste Daroussin.It Cm base 80961d06d6bSBaptiste DaroussinA convention used in the base system of a specific operating system 81061d06d6bSBaptiste Daroussinis not adhered to. 81161d06d6bSBaptiste DaroussinThese are not markup mistakes, and neither the quality of formatting 81261d06d6bSBaptiste Daroussinnor portability are in danger. 81361d06d6bSBaptiste DaroussinMessages of the 81461d06d6bSBaptiste Daroussin.Cm base 81561d06d6bSBaptiste Daroussinlevel are printed with the more intuitive 81661d06d6bSBaptiste Daroussin.Cm style 81761d06d6bSBaptiste Daroussin.Ar level 81861d06d6bSBaptiste Daroussintag. 81961d06d6bSBaptiste Daroussin.El 82061d06d6bSBaptiste Daroussin.Pp 82161d06d6bSBaptiste DaroussinMessages of the 82261d06d6bSBaptiste Daroussin.Cm base , 82361d06d6bSBaptiste Daroussin.Cm style , 82461d06d6bSBaptiste Daroussin.Cm warning , 82561d06d6bSBaptiste Daroussin.Cm error , 82661d06d6bSBaptiste Daroussinand 82761d06d6bSBaptiste Daroussin.Cm unsupp 82861d06d6bSBaptiste Daroussinlevels except those about non-existent or unreadable input files 82961d06d6bSBaptiste Daroussinare hidden unless their level, or a lower level, is requested using a 83061d06d6bSBaptiste Daroussin.Fl W 83161d06d6bSBaptiste Daroussinoption or 83261d06d6bSBaptiste Daroussin.Fl T Cm lint 83361d06d6bSBaptiste Daroussinoutput mode. 83461d06d6bSBaptiste Daroussin.Pp 83561d06d6bSBaptiste DaroussinAs indicated below, all 83661d06d6bSBaptiste Daroussin.Cm base 83761d06d6bSBaptiste Daroussinand some 83861d06d6bSBaptiste Daroussin.Cm style 83961d06d6bSBaptiste Daroussinchecks are only performed if a specific operating system name occurs 84061d06d6bSBaptiste Daroussinin the arguments of the 84161d06d6bSBaptiste Daroussin.Fl W 84261d06d6bSBaptiste Daroussincommand line option, of the 84361d06d6bSBaptiste Daroussin.Ic \&Os 84461d06d6bSBaptiste Daroussinmacro, of the 84561d06d6bSBaptiste Daroussin.Fl Ios 84661d06d6bSBaptiste Daroussincommand line option, or, if neither are present, in the return value 84761d06d6bSBaptiste Daroussinof the 84861d06d6bSBaptiste Daroussin.Xr uname 3 84961d06d6bSBaptiste Daroussinfunction. 85061d06d6bSBaptiste Daroussin.Ss Conventions for base system manuals 85161d06d6bSBaptiste Daroussin.Bl -ohang 85261d06d6bSBaptiste Daroussin.It Sy "Mdocdate found" 85361d06d6bSBaptiste Daroussin.Pq mdoc , Nx 85461d06d6bSBaptiste DaroussinThe 85561d06d6bSBaptiste Daroussin.Ic \&Dd 85661d06d6bSBaptiste Daroussinmacro uses CVS 85761d06d6bSBaptiste Daroussin.Ic Mdocdate 85861d06d6bSBaptiste Daroussinkeyword substitution, which is not supported by the 85961d06d6bSBaptiste Daroussin.Nx 86061d06d6bSBaptiste Daroussinbase system. 86161d06d6bSBaptiste DaroussinConsider using the conventional 86261d06d6bSBaptiste Daroussin.Dq "Month dd, yyyy" 86361d06d6bSBaptiste Daroussinformat instead. 86461d06d6bSBaptiste Daroussin.It Sy "Mdocdate missing" 86561d06d6bSBaptiste Daroussin.Pq mdoc , Ox 86661d06d6bSBaptiste DaroussinThe 86761d06d6bSBaptiste Daroussin.Ic \&Dd 86861d06d6bSBaptiste Daroussinmacro does not use CVS 86961d06d6bSBaptiste Daroussin.Ic Mdocdate 87061d06d6bSBaptiste Daroussinkeyword substitution, but using it is conventionally expected in the 87161d06d6bSBaptiste Daroussin.Ox 87261d06d6bSBaptiste Daroussinbase system. 87361d06d6bSBaptiste Daroussin.It Sy "unknown architecture" 87461d06d6bSBaptiste Daroussin.Pq mdoc , Ox , Nx 87561d06d6bSBaptiste DaroussinThe third argument of the 87661d06d6bSBaptiste Daroussin.Ic \&Dt 87761d06d6bSBaptiste Daroussinmacro does not match any of the architectures this operating system 87861d06d6bSBaptiste Daroussinis running on. 87961d06d6bSBaptiste Daroussin.It Sy "operating system explicitly specified" 88061d06d6bSBaptiste Daroussin.Pq mdoc , Ox , Nx 88161d06d6bSBaptiste DaroussinThe 88261d06d6bSBaptiste Daroussin.Ic \&Os 88361d06d6bSBaptiste Daroussinmacro has an argument. 88461d06d6bSBaptiste DaroussinIn the base system, it is conventionally left blank. 88561d06d6bSBaptiste Daroussin.It Sy "RCS id missing" 88661d06d6bSBaptiste Daroussin.Pq Ox , Nx 88761d06d6bSBaptiste DaroussinThe manual page lacks the comment line with the RCS identifier 88861d06d6bSBaptiste Daroussingenerated by CVS 88961d06d6bSBaptiste Daroussin.Ic OpenBSD 89061d06d6bSBaptiste Daroussinor 89161d06d6bSBaptiste Daroussin.Ic NetBSD 89261d06d6bSBaptiste Daroussinkeyword substitution as conventionally used in these operating systems. 89361d06d6bSBaptiste Daroussin.It Sy "referenced manual not found" 89461d06d6bSBaptiste Daroussin.Pq mdoc 89561d06d6bSBaptiste DaroussinAn 89661d06d6bSBaptiste Daroussin.Ic \&Xr 89761d06d6bSBaptiste Daroussinmacro references a manual page that is not found in the base system. 89861d06d6bSBaptiste DaroussinThe path to look for base system manuals is configurable at compile 89961d06d6bSBaptiste Daroussintime and defaults to 90061d06d6bSBaptiste Daroussin.Pa /usr/share/man : /usr/X11R6/man . 90161d06d6bSBaptiste Daroussin.El 90261d06d6bSBaptiste Daroussin.Ss Style suggestions 90361d06d6bSBaptiste Daroussin.Bl -ohang 90461d06d6bSBaptiste Daroussin.It Sy "legacy man(7) date format" 90561d06d6bSBaptiste Daroussin.Pq mdoc 90661d06d6bSBaptiste DaroussinThe 90761d06d6bSBaptiste Daroussin.Ic \&Dd 90861d06d6bSBaptiste Daroussinmacro uses the legacy 90961d06d6bSBaptiste Daroussin.Xr man 7 91061d06d6bSBaptiste Daroussindate format 91161d06d6bSBaptiste Daroussin.Dq yyyy-dd-mm . 91261d06d6bSBaptiste DaroussinConsider using the conventional 91361d06d6bSBaptiste Daroussin.Xr mdoc 7 91461d06d6bSBaptiste Daroussindate format 91561d06d6bSBaptiste Daroussin.Dq "Month dd, yyyy" 91661d06d6bSBaptiste Daroussininstead. 91761d06d6bSBaptiste Daroussin.It Sy "normalizing date format to" : No ... 91861d06d6bSBaptiste Daroussin.Pq mdoc , man 91961d06d6bSBaptiste DaroussinThe 92061d06d6bSBaptiste Daroussin.Ic \&Dd 92161d06d6bSBaptiste Daroussinor 92261d06d6bSBaptiste Daroussin.Ic \&TH 92361d06d6bSBaptiste Daroussinmacro provides an abbreviated month name or a day number with a 92461d06d6bSBaptiste Daroussinleading zero. 92561d06d6bSBaptiste DaroussinIn the formatted output, the month name is written out in full 92661d06d6bSBaptiste Daroussinand the leading zero is omitted. 92761d06d6bSBaptiste Daroussin.It Sy "lower case character in document title" 92861d06d6bSBaptiste Daroussin.Pq mdoc , man 92961d06d6bSBaptiste DaroussinThe title is still used as given in the 93061d06d6bSBaptiste Daroussin.Ic \&Dt 93161d06d6bSBaptiste Daroussinor 93261d06d6bSBaptiste Daroussin.Ic \&TH 93361d06d6bSBaptiste Daroussinmacro. 93461d06d6bSBaptiste Daroussin.It Sy "duplicate RCS id" 93561d06d6bSBaptiste DaroussinA single manual page contains two copies of the RCS identifier for 93661d06d6bSBaptiste Daroussinthe same operating system. 93761d06d6bSBaptiste DaroussinConsider deleting the later instance and moving the first one up 93861d06d6bSBaptiste Daroussinto the top of the page. 93961d06d6bSBaptiste Daroussin.It Sy "possible typo in section name" 94061d06d6bSBaptiste Daroussin.Pq mdoc 94161d06d6bSBaptiste DaroussinFuzzy string matching revealed that the argument of an 94261d06d6bSBaptiste Daroussin.Ic \&Sh 94361d06d6bSBaptiste Daroussinmacro is similar, but not identical to a standard section name. 94461d06d6bSBaptiste Daroussin.It Sy "unterminated quoted argument" 94561d06d6bSBaptiste Daroussin.Pq roff 94661d06d6bSBaptiste DaroussinMacro arguments can be enclosed in double quote characters 94761d06d6bSBaptiste Daroussinsuch that space characters and macro names contained in the quoted 94861d06d6bSBaptiste Daroussinargument need not be escaped. 94961d06d6bSBaptiste DaroussinThe closing quote of the last argument of a macro can be omitted. 95061d06d6bSBaptiste DaroussinHowever, omitting it is not recommended because it makes the code 95161d06d6bSBaptiste Daroussinharder to read. 95261d06d6bSBaptiste Daroussin.It Sy "useless macro" 95361d06d6bSBaptiste Daroussin.Pq mdoc 95461d06d6bSBaptiste DaroussinA 95561d06d6bSBaptiste Daroussin.Ic \&Bt , 95661d06d6bSBaptiste Daroussin.Ic \&Tn , 95761d06d6bSBaptiste Daroussinor 95861d06d6bSBaptiste Daroussin.Ic \&Ud 95961d06d6bSBaptiste Daroussinmacro was found. 96061d06d6bSBaptiste DaroussinSimply delete it: it serves no useful purpose. 96161d06d6bSBaptiste Daroussin.It Sy "consider using OS macro" 96261d06d6bSBaptiste Daroussin.Pq mdoc 96361d06d6bSBaptiste DaroussinA string was found in plain text or in a 96461d06d6bSBaptiste Daroussin.Ic \&Bx 96561d06d6bSBaptiste Daroussinmacro that could be represented using 96661d06d6bSBaptiste Daroussin.Ic \&Ox , 96761d06d6bSBaptiste Daroussin.Ic \&Nx , 96861d06d6bSBaptiste Daroussin.Ic \&Fx , 96961d06d6bSBaptiste Daroussinor 97061d06d6bSBaptiste Daroussin.Ic \&Dx . 97161d06d6bSBaptiste Daroussin.It Sy "errnos out of order" 97261d06d6bSBaptiste Daroussin.Pq mdoc, Nx 97361d06d6bSBaptiste DaroussinThe 97461d06d6bSBaptiste Daroussin.Ic \&Er 97561d06d6bSBaptiste Daroussinitems in a 97661d06d6bSBaptiste Daroussin.Ic \&Bl 97761d06d6bSBaptiste Daroussinlist are not in alphabetical order. 97861d06d6bSBaptiste Daroussin.It Sy "duplicate errno" 97961d06d6bSBaptiste Daroussin.Pq mdoc, Nx 98061d06d6bSBaptiste DaroussinA 98161d06d6bSBaptiste Daroussin.Ic \&Bl 98261d06d6bSBaptiste Daroussinlist contains two consecutive 98361d06d6bSBaptiste Daroussin.Ic \&It 98461d06d6bSBaptiste Daroussinentries describing the same 98561d06d6bSBaptiste Daroussin.Ic \&Er 98661d06d6bSBaptiste Daroussinnumber. 98761d06d6bSBaptiste Daroussin.It Sy "trailing delimiter" 98861d06d6bSBaptiste Daroussin.Pq mdoc 98961d06d6bSBaptiste DaroussinThe last argument of an 99061d06d6bSBaptiste Daroussin.Ic \&Ex , \&Fo , \&Nd , \&Nm , \&Os , \&Sh , \&Ss , \&St , 99161d06d6bSBaptiste Daroussinor 99261d06d6bSBaptiste Daroussin.Ic \&Sx 99361d06d6bSBaptiste Daroussinmacro ends with a trailing delimiter. 99461d06d6bSBaptiste DaroussinThis is usually bad style and often indicates typos. 99561d06d6bSBaptiste DaroussinMost likely, the delimiter can be removed. 99661d06d6bSBaptiste Daroussin.It Sy "no blank before trailing delimiter" 99761d06d6bSBaptiste Daroussin.Pq mdoc 99861d06d6bSBaptiste DaroussinThe last argument of a macro that supports trailing delimiter 99961d06d6bSBaptiste Daroussinarguments is longer than one byte and ends with a trailing delimiter. 100061d06d6bSBaptiste DaroussinConsider inserting a blank such that the delimiter becomes a separate 100161d06d6bSBaptiste Daroussinargument, thus moving it out of the scope of the macro. 100261d06d6bSBaptiste Daroussin.It Sy "fill mode already enabled, skipping" 100361d06d6bSBaptiste Daroussin.Pq man 100461d06d6bSBaptiste DaroussinA 100561d06d6bSBaptiste Daroussin.Ic \&fi 100661d06d6bSBaptiste Daroussinrequest occurs even though the document is still in fill mode, 100761d06d6bSBaptiste Daroussinor already switched back to fill mode. 100861d06d6bSBaptiste DaroussinIt has no effect. 100961d06d6bSBaptiste Daroussin.It Sy "fill mode already disabled, skipping" 101061d06d6bSBaptiste Daroussin.Pq man 101161d06d6bSBaptiste DaroussinAn 101261d06d6bSBaptiste Daroussin.Ic \&nf 101361d06d6bSBaptiste Daroussinrequest occurs even though the document already switched to no-fill mode 101461d06d6bSBaptiste Daroussinand did not switch back to fill mode yet. 101561d06d6bSBaptiste DaroussinIt has no effect. 101661d06d6bSBaptiste Daroussin.It Sy "verbatim \(dq--\(dq, maybe consider using \e(em" 101761d06d6bSBaptiste Daroussin.Pq mdoc 101861d06d6bSBaptiste DaroussinEven though the ASCII output device renders an em-dash as 101961d06d6bSBaptiste Daroussin.Qq \-\- , 102061d06d6bSBaptiste Daroussinthat is not a good way to write it in an input file 102161d06d6bSBaptiste Daroussinbecause it renders poorly on all other output devices. 102261d06d6bSBaptiste Daroussin.It Sy "function name without markup" 102361d06d6bSBaptiste Daroussin.Pq mdoc 102461d06d6bSBaptiste DaroussinA word followed by an empty pair of parentheses occurs on a text line. 102561d06d6bSBaptiste DaroussinConsider using an 102661d06d6bSBaptiste Daroussin.Ic \&Fn 102761d06d6bSBaptiste Daroussinor 102861d06d6bSBaptiste Daroussin.Ic \&Xr 102961d06d6bSBaptiste Daroussinmacro. 103061d06d6bSBaptiste Daroussin.It Sy "whitespace at end of input line" 103161d06d6bSBaptiste Daroussin.Pq mdoc , man , roff 103261d06d6bSBaptiste DaroussinWhitespace at the end of input lines is almost never semantically 103361d06d6bSBaptiste Daroussinsignificant \(em but in the odd case where it might be, it is 103461d06d6bSBaptiste Daroussinextremely confusing when reviewing and maintaining documents. 103561d06d6bSBaptiste Daroussin.It Sy "bad comment style" 103661d06d6bSBaptiste Daroussin.Pq roff 103761d06d6bSBaptiste DaroussinComment lines start with a dot, a backslash, and a double-quote character. 103861d06d6bSBaptiste DaroussinThe 103961d06d6bSBaptiste Daroussin.Nm 104061d06d6bSBaptiste Daroussinutility treats the line as a comment line even without the backslash, 104161d06d6bSBaptiste Daroussinbut leaving out the backslash might not be portable. 104261d06d6bSBaptiste Daroussin.El 104361d06d6bSBaptiste Daroussin.Ss Warnings related to the document prologue 104461d06d6bSBaptiste Daroussin.Bl -ohang 104561d06d6bSBaptiste Daroussin.It Sy "missing manual title, using UNTITLED" 104661d06d6bSBaptiste Daroussin.Pq mdoc 104761d06d6bSBaptiste DaroussinA 104861d06d6bSBaptiste Daroussin.Ic \&Dt 104961d06d6bSBaptiste Daroussinmacro has no arguments, or there is no 105061d06d6bSBaptiste Daroussin.Ic \&Dt 105161d06d6bSBaptiste Daroussinmacro before the first non-prologue macro. 105261d06d6bSBaptiste Daroussin.It Sy "missing manual title, using \(dq\(dq" 105361d06d6bSBaptiste Daroussin.Pq man 105461d06d6bSBaptiste DaroussinThere is no 105561d06d6bSBaptiste Daroussin.Ic \&TH 105661d06d6bSBaptiste Daroussinmacro, or it has no arguments. 105761d06d6bSBaptiste Daroussin.It Sy "missing manual section, using \(dq\(dq" 105861d06d6bSBaptiste Daroussin.Pq mdoc , man 105961d06d6bSBaptiste DaroussinA 106061d06d6bSBaptiste Daroussin.Ic \&Dt 106161d06d6bSBaptiste Daroussinor 106261d06d6bSBaptiste Daroussin.Ic \&TH 106361d06d6bSBaptiste Daroussinmacro lacks the mandatory section argument. 106461d06d6bSBaptiste Daroussin.It Sy "unknown manual section" 106561d06d6bSBaptiste Daroussin.Pq mdoc 106661d06d6bSBaptiste DaroussinThe section number in a 106761d06d6bSBaptiste Daroussin.Ic \&Dt 106861d06d6bSBaptiste Daroussinline is invalid, but still used. 106961d06d6bSBaptiste Daroussin.It Sy "missing date, using today's date" 107061d06d6bSBaptiste Daroussin.Pq mdoc, man 107161d06d6bSBaptiste DaroussinThe document was parsed as 107261d06d6bSBaptiste Daroussin.Xr mdoc 7 107361d06d6bSBaptiste Daroussinand it has no 107461d06d6bSBaptiste Daroussin.Ic \&Dd 107561d06d6bSBaptiste Daroussinmacro, or the 107661d06d6bSBaptiste Daroussin.Ic \&Dd 107761d06d6bSBaptiste Daroussinmacro has no arguments or only empty arguments; 107861d06d6bSBaptiste Daroussinor the document was parsed as 107961d06d6bSBaptiste Daroussin.Xr man 7 108061d06d6bSBaptiste Daroussinand it has no 108161d06d6bSBaptiste Daroussin.Ic \&TH 108261d06d6bSBaptiste Daroussinmacro, or the 108361d06d6bSBaptiste Daroussin.Ic \&TH 108461d06d6bSBaptiste Daroussinmacro has less than three arguments or its third argument is empty. 108561d06d6bSBaptiste Daroussin.It Sy "cannot parse date, using it verbatim" 108661d06d6bSBaptiste Daroussin.Pq mdoc , man 108761d06d6bSBaptiste DaroussinThe date given in a 108861d06d6bSBaptiste Daroussin.Ic \&Dd 108961d06d6bSBaptiste Daroussinor 109061d06d6bSBaptiste Daroussin.Ic \&TH 109161d06d6bSBaptiste Daroussinmacro does not follow the conventional format. 109261d06d6bSBaptiste Daroussin.It Sy "date in the future, using it anyway" 109361d06d6bSBaptiste Daroussin.Pq mdoc , man 109461d06d6bSBaptiste DaroussinThe date given in a 109561d06d6bSBaptiste Daroussin.Ic \&Dd 109661d06d6bSBaptiste Daroussinor 109761d06d6bSBaptiste Daroussin.Ic \&TH 109861d06d6bSBaptiste Daroussinmacro is more than a day ahead of the current system 109961d06d6bSBaptiste Daroussin.Xr time 3 . 110061d06d6bSBaptiste Daroussin.It Sy "missing Os macro, using \(dq\(dq" 110161d06d6bSBaptiste Daroussin.Pq mdoc 110261d06d6bSBaptiste DaroussinThe default or current system is not shown in this case. 110361d06d6bSBaptiste Daroussin.It Sy "late prologue macro" 110461d06d6bSBaptiste Daroussin.Pq mdoc 110561d06d6bSBaptiste DaroussinA 110661d06d6bSBaptiste Daroussin.Ic \&Dd 110761d06d6bSBaptiste Daroussinor 110861d06d6bSBaptiste Daroussin.Ic \&Os 110961d06d6bSBaptiste Daroussinmacro occurs after some non-prologue macro, but still takes effect. 111061d06d6bSBaptiste Daroussin.It Sy "prologue macros out of order" 111161d06d6bSBaptiste Daroussin.Pq mdoc 111261d06d6bSBaptiste DaroussinThe prologue macros are not given in the conventional order 111361d06d6bSBaptiste Daroussin.Ic \&Dd , 111461d06d6bSBaptiste Daroussin.Ic \&Dt , 111561d06d6bSBaptiste Daroussin.Ic \&Os . 111661d06d6bSBaptiste DaroussinAll three macros are used even when given in another order. 111761d06d6bSBaptiste Daroussin.El 111861d06d6bSBaptiste Daroussin.Ss Warnings regarding document structure 111961d06d6bSBaptiste Daroussin.Bl -ohang 112061d06d6bSBaptiste Daroussin.It Sy ".so is fragile, better use ln(1)" 112161d06d6bSBaptiste Daroussin.Pq roff 112261d06d6bSBaptiste DaroussinIncluding files only works when the parser program runs with the correct 112361d06d6bSBaptiste Daroussincurrent working directory. 112461d06d6bSBaptiste Daroussin.It Sy "no document body" 112561d06d6bSBaptiste Daroussin.Pq mdoc , man 112661d06d6bSBaptiste DaroussinThe document body contains neither text nor macros. 112761d06d6bSBaptiste DaroussinAn empty document is shown, consisting only of a header and a footer line. 112861d06d6bSBaptiste Daroussin.It Sy "content before first section header" 112961d06d6bSBaptiste Daroussin.Pq mdoc , man 113061d06d6bSBaptiste DaroussinSome macros or text precede the first 113161d06d6bSBaptiste Daroussin.Ic \&Sh 113261d06d6bSBaptiste Daroussinor 113361d06d6bSBaptiste Daroussin.Ic \&SH 113461d06d6bSBaptiste Daroussinsection header. 113561d06d6bSBaptiste DaroussinThe offending macros and text are parsed and added to the top level 113661d06d6bSBaptiste Daroussinof the syntax tree, outside any section block. 113761d06d6bSBaptiste Daroussin.It Sy "first section is not NAME" 113861d06d6bSBaptiste Daroussin.Pq mdoc 113961d06d6bSBaptiste DaroussinThe argument of the first 114061d06d6bSBaptiste Daroussin.Ic \&Sh 114161d06d6bSBaptiste Daroussinmacro is not 114261d06d6bSBaptiste Daroussin.Sq NAME . 114361d06d6bSBaptiste DaroussinThis may confuse 114461d06d6bSBaptiste Daroussin.Xr makewhatis 8 114561d06d6bSBaptiste Daroussinand 114661d06d6bSBaptiste Daroussin.Xr apropos 1 . 114761d06d6bSBaptiste Daroussin.It Sy "NAME section without Nm before Nd" 114861d06d6bSBaptiste Daroussin.Pq mdoc 114961d06d6bSBaptiste DaroussinThe NAME section does not contain any 115061d06d6bSBaptiste Daroussin.Ic \&Nm 115161d06d6bSBaptiste Daroussinchild macro before the first 115261d06d6bSBaptiste Daroussin.Ic \&Nd 115361d06d6bSBaptiste Daroussinmacro. 115461d06d6bSBaptiste Daroussin.It Sy "NAME section without description" 115561d06d6bSBaptiste Daroussin.Pq mdoc 115661d06d6bSBaptiste DaroussinThe NAME section lacks the mandatory 115761d06d6bSBaptiste Daroussin.Ic \&Nd 115861d06d6bSBaptiste Daroussinchild macro. 115961d06d6bSBaptiste Daroussin.It Sy "description not at the end of NAME" 116061d06d6bSBaptiste Daroussin.Pq mdoc 116161d06d6bSBaptiste DaroussinThe NAME section does contain an 116261d06d6bSBaptiste Daroussin.Ic \&Nd 116361d06d6bSBaptiste Daroussinchild macro, but other content follows it. 116461d06d6bSBaptiste Daroussin.It Sy "bad NAME section content" 116561d06d6bSBaptiste Daroussin.Pq mdoc 116661d06d6bSBaptiste DaroussinThe NAME section contains plain text or macros other than 116761d06d6bSBaptiste Daroussin.Ic \&Nm 116861d06d6bSBaptiste Daroussinand 116961d06d6bSBaptiste Daroussin.Ic \&Nd . 117061d06d6bSBaptiste Daroussin.It Sy "missing comma before name" 117161d06d6bSBaptiste Daroussin.Pq mdoc 117261d06d6bSBaptiste DaroussinThe NAME section contains an 117361d06d6bSBaptiste Daroussin.Ic \&Nm 117461d06d6bSBaptiste Daroussinmacro that is neither the first one nor preceded by a comma. 117561d06d6bSBaptiste Daroussin.It Sy "missing description line, using \(dq\(dq" 117661d06d6bSBaptiste Daroussin.Pq mdoc 117761d06d6bSBaptiste DaroussinThe 117861d06d6bSBaptiste Daroussin.Ic \&Nd 117961d06d6bSBaptiste Daroussinmacro lacks the required argument. 118061d06d6bSBaptiste DaroussinThe title line of the manual will end after the dash. 118161d06d6bSBaptiste Daroussin.It Sy "description line outside NAME section" 118261d06d6bSBaptiste Daroussin.Pq mdoc 118361d06d6bSBaptiste DaroussinAn 118461d06d6bSBaptiste Daroussin.Ic \&Nd 118561d06d6bSBaptiste Daroussinmacro appears outside the NAME section. 118661d06d6bSBaptiste DaroussinThe arguments are printed anyway and the following text is used for 118761d06d6bSBaptiste Daroussin.Xr apropos 1 , 118861d06d6bSBaptiste Daroussinbut none of that behaviour is portable. 118961d06d6bSBaptiste Daroussin.It Sy "sections out of conventional order" 119061d06d6bSBaptiste Daroussin.Pq mdoc 119161d06d6bSBaptiste DaroussinA standard section occurs after another section it usually precedes. 119261d06d6bSBaptiste DaroussinAll section titles are used as given, 119361d06d6bSBaptiste Daroussinand the order of sections is not changed. 119461d06d6bSBaptiste Daroussin.It Sy "duplicate section title" 119561d06d6bSBaptiste Daroussin.Pq mdoc 119661d06d6bSBaptiste DaroussinThe same standard section title occurs more than once. 119761d06d6bSBaptiste Daroussin.It Sy "unexpected section" 119861d06d6bSBaptiste Daroussin.Pq mdoc 119961d06d6bSBaptiste DaroussinA standard section header occurs in a section of the manual 120061d06d6bSBaptiste Daroussinwhere it normally isn't useful. 120161d06d6bSBaptiste Daroussin.It Sy "cross reference to self" 120261d06d6bSBaptiste Daroussin.Pq mdoc 120361d06d6bSBaptiste DaroussinAn 120461d06d6bSBaptiste Daroussin.Ic \&Xr 120561d06d6bSBaptiste Daroussinmacro refers to a name and section matching the section of the present 120661d06d6bSBaptiste Daroussinmanual page and a name mentioned in an 120761d06d6bSBaptiste Daroussin.Ic \&Nm 120861d06d6bSBaptiste Daroussinmacro in the NAME or SYNOPSIS section, or in an 120961d06d6bSBaptiste Daroussin.Ic \&Fn 121061d06d6bSBaptiste Daroussinor 121161d06d6bSBaptiste Daroussin.Ic \&Fo 121261d06d6bSBaptiste Daroussinmacro in the SYNOPSIS. 121361d06d6bSBaptiste DaroussinConsider using 121461d06d6bSBaptiste Daroussin.Ic \&Nm 121561d06d6bSBaptiste Daroussinor 121661d06d6bSBaptiste Daroussin.Ic \&Fn 121761d06d6bSBaptiste Daroussininstead of 121861d06d6bSBaptiste Daroussin.Ic \&Xr . 121961d06d6bSBaptiste Daroussin.It Sy "unusual Xr order" 122061d06d6bSBaptiste Daroussin.Pq mdoc 122161d06d6bSBaptiste DaroussinIn the SEE ALSO section, an 122261d06d6bSBaptiste Daroussin.Ic \&Xr 122361d06d6bSBaptiste Daroussinmacro with a lower section number follows one with a higher number, 122461d06d6bSBaptiste Daroussinor two 122561d06d6bSBaptiste Daroussin.Ic \&Xr 122661d06d6bSBaptiste Daroussinmacros referring to the same section are out of alphabetical order. 122761d06d6bSBaptiste Daroussin.It Sy "unusual Xr punctuation" 122861d06d6bSBaptiste Daroussin.Pq mdoc 122961d06d6bSBaptiste DaroussinIn the SEE ALSO section, punctuation between two 123061d06d6bSBaptiste Daroussin.Ic \&Xr 123161d06d6bSBaptiste Daroussinmacros differs from a single comma, or there is trailing punctuation 123261d06d6bSBaptiste Daroussinafter the last 123361d06d6bSBaptiste Daroussin.Ic \&Xr 123461d06d6bSBaptiste Daroussinmacro. 123561d06d6bSBaptiste Daroussin.It Sy "AUTHORS section without An macro" 123661d06d6bSBaptiste Daroussin.Pq mdoc 123761d06d6bSBaptiste DaroussinAn AUTHORS sections contains no 123861d06d6bSBaptiste Daroussin.Ic \&An 123961d06d6bSBaptiste Daroussinmacros, or only empty ones. 124061d06d6bSBaptiste DaroussinProbably, there are author names lacking markup. 124161d06d6bSBaptiste Daroussin.El 124261d06d6bSBaptiste Daroussin.Ss "Warnings related to macros and nesting" 124361d06d6bSBaptiste Daroussin.Bl -ohang 124461d06d6bSBaptiste Daroussin.It Sy "obsolete macro" 124561d06d6bSBaptiste Daroussin.Pq mdoc 124661d06d6bSBaptiste DaroussinSee the 124761d06d6bSBaptiste Daroussin.Xr mdoc 7 124861d06d6bSBaptiste Daroussinmanual for replacements. 124961d06d6bSBaptiste Daroussin.It Sy "macro neither callable nor escaped" 125061d06d6bSBaptiste Daroussin.Pq mdoc 125161d06d6bSBaptiste DaroussinThe name of a macro that is not callable appears on a macro line. 125261d06d6bSBaptiste DaroussinIt is printed verbatim. 125361d06d6bSBaptiste DaroussinIf the intention is to call it, move it to its own input line; 125461d06d6bSBaptiste Daroussinotherwise, escape it by prepending 125561d06d6bSBaptiste Daroussin.Sq \e& . 125661d06d6bSBaptiste Daroussin.It Sy "skipping paragraph macro" 125761d06d6bSBaptiste DaroussinIn 125861d06d6bSBaptiste Daroussin.Xr mdoc 7 125961d06d6bSBaptiste Daroussindocuments, this happens 126061d06d6bSBaptiste Daroussin.Bl -dash -compact 126161d06d6bSBaptiste Daroussin.It 126261d06d6bSBaptiste Daroussinat the beginning and end of sections and subsections 126361d06d6bSBaptiste Daroussin.It 126461d06d6bSBaptiste Daroussinright before non-compact lists and displays 126561d06d6bSBaptiste Daroussin.It 126661d06d6bSBaptiste Daroussinat the end of items in non-column, non-compact lists 126761d06d6bSBaptiste Daroussin.It 126861d06d6bSBaptiste Daroussinand for multiple consecutive paragraph macros. 126961d06d6bSBaptiste Daroussin.El 127061d06d6bSBaptiste DaroussinIn 127161d06d6bSBaptiste Daroussin.Xr man 7 127261d06d6bSBaptiste Daroussindocuments, it happens 127361d06d6bSBaptiste Daroussin.Bl -dash -compact 127461d06d6bSBaptiste Daroussin.It 127561d06d6bSBaptiste Daroussinfor empty 127661d06d6bSBaptiste Daroussin.Ic \&P , 127761d06d6bSBaptiste Daroussin.Ic \&PP , 127861d06d6bSBaptiste Daroussinand 127961d06d6bSBaptiste Daroussin.Ic \&LP 128061d06d6bSBaptiste Daroussinmacros 128161d06d6bSBaptiste Daroussin.It 128261d06d6bSBaptiste Daroussinfor 128361d06d6bSBaptiste Daroussin.Ic \&IP 128461d06d6bSBaptiste Daroussinmacros having neither head nor body arguments 128561d06d6bSBaptiste Daroussin.It 128661d06d6bSBaptiste Daroussinfor 128761d06d6bSBaptiste Daroussin.Ic \&br 128861d06d6bSBaptiste Daroussinor 128961d06d6bSBaptiste Daroussin.Ic \&sp 129061d06d6bSBaptiste Daroussinright after 129161d06d6bSBaptiste Daroussin.Ic \&SH 129261d06d6bSBaptiste Daroussinor 129361d06d6bSBaptiste Daroussin.Ic \&SS 129461d06d6bSBaptiste Daroussin.El 129561d06d6bSBaptiste Daroussin.It Sy "moving paragraph macro out of list" 129661d06d6bSBaptiste Daroussin.Pq mdoc 129761d06d6bSBaptiste DaroussinA list item in a 129861d06d6bSBaptiste Daroussin.Ic \&Bl 129961d06d6bSBaptiste Daroussinlist contains a trailing paragraph macro. 130061d06d6bSBaptiste DaroussinThe paragraph macro is moved after the end of the list. 130161d06d6bSBaptiste Daroussin.It Sy "skipping no-space macro" 130261d06d6bSBaptiste Daroussin.Pq mdoc 130361d06d6bSBaptiste DaroussinAn input line begins with an 130461d06d6bSBaptiste Daroussin.Ic \&Ns 130561d06d6bSBaptiste Daroussinmacro, or the next argument after an 130661d06d6bSBaptiste Daroussin.Ic \&Ns 130761d06d6bSBaptiste Daroussinmacro is an isolated closing delimiter. 130861d06d6bSBaptiste DaroussinThe macro is ignored. 130961d06d6bSBaptiste Daroussin.It Sy "blocks badly nested" 131061d06d6bSBaptiste Daroussin.Pq mdoc 131161d06d6bSBaptiste DaroussinIf two blocks intersect, one should completely contain the other. 131261d06d6bSBaptiste DaroussinOtherwise, rendered output is likely to look strange in any output 131361d06d6bSBaptiste Daroussinformat, and rendering in SGML-based output formats is likely to be 131461d06d6bSBaptiste Daroussinoutright wrong because such languages do not support badly nested 131561d06d6bSBaptiste Daroussinblocks at all. 131661d06d6bSBaptiste DaroussinTypical examples of badly nested blocks are 131761d06d6bSBaptiste Daroussin.Qq Ic \&Ao \&Bo \&Ac \&Bc 131861d06d6bSBaptiste Daroussinand 131961d06d6bSBaptiste Daroussin.Qq Ic \&Ao \&Bq \&Ac . 132061d06d6bSBaptiste DaroussinIn these examples, 132161d06d6bSBaptiste Daroussin.Ic \&Ac 132261d06d6bSBaptiste Daroussinbreaks 132361d06d6bSBaptiste Daroussin.Ic \&Bo 132461d06d6bSBaptiste Daroussinand 132561d06d6bSBaptiste Daroussin.Ic \&Bq , 132661d06d6bSBaptiste Daroussinrespectively. 132761d06d6bSBaptiste Daroussin.It Sy "nested displays are not portable" 132861d06d6bSBaptiste Daroussin.Pq mdoc 132961d06d6bSBaptiste DaroussinA 133061d06d6bSBaptiste Daroussin.Ic \&Bd , 133161d06d6bSBaptiste Daroussin.Ic \&D1 , 133261d06d6bSBaptiste Daroussinor 133361d06d6bSBaptiste Daroussin.Ic \&Dl 133461d06d6bSBaptiste Daroussindisplay occurs nested inside another 133561d06d6bSBaptiste Daroussin.Ic \&Bd 133661d06d6bSBaptiste Daroussindisplay. 133761d06d6bSBaptiste DaroussinThis works with 133861d06d6bSBaptiste Daroussin.Nm , 133961d06d6bSBaptiste Daroussinbut fails with most other implementations. 134061d06d6bSBaptiste Daroussin.It Sy "moving content out of list" 134161d06d6bSBaptiste Daroussin.Pq mdoc 134261d06d6bSBaptiste DaroussinA 134361d06d6bSBaptiste Daroussin.Ic \&Bl 134461d06d6bSBaptiste Daroussinlist block contains text or macros before the first 134561d06d6bSBaptiste Daroussin.Ic \&It 134661d06d6bSBaptiste Daroussinmacro. 134761d06d6bSBaptiste DaroussinThe offending children are moved before the beginning of the list. 134861d06d6bSBaptiste Daroussin.It Sy "first macro on line" 134961d06d6bSBaptiste DaroussinInside a 135061d06d6bSBaptiste Daroussin.Ic \&Bl Fl column 135161d06d6bSBaptiste Daroussinlist, a 135261d06d6bSBaptiste Daroussin.Ic \&Ta 135361d06d6bSBaptiste Daroussinmacro occurs as the first macro on a line, which is not portable. 135461d06d6bSBaptiste Daroussin.It Sy "line scope broken" 135561d06d6bSBaptiste Daroussin.Pq man 135661d06d6bSBaptiste DaroussinWhile parsing the next-line scope of the previous macro, 135761d06d6bSBaptiste Daroussinanother macro is found that prematurely terminates the previous one. 135861d06d6bSBaptiste DaroussinThe previous, interrupted macro is deleted from the parse tree. 135961d06d6bSBaptiste Daroussin.El 136061d06d6bSBaptiste Daroussin.Ss "Warnings related to missing arguments" 136161d06d6bSBaptiste Daroussin.Bl -ohang 136261d06d6bSBaptiste Daroussin.It Sy "skipping empty request" 136361d06d6bSBaptiste Daroussin.Pq roff , eqn 136461d06d6bSBaptiste DaroussinThe macro name is missing from a macro definition request, 136561d06d6bSBaptiste Daroussinor an 136661d06d6bSBaptiste Daroussin.Xr eqn 7 136761d06d6bSBaptiste Daroussincontrol statement or operation keyword lacks its required argument. 136861d06d6bSBaptiste Daroussin.It Sy "conditional request controls empty scope" 136961d06d6bSBaptiste Daroussin.Pq roff 137061d06d6bSBaptiste DaroussinA conditional request is only useful if any of the following 137161d06d6bSBaptiste Daroussinfollows it on the same logical input line: 137261d06d6bSBaptiste Daroussin.Bl -dash -compact 137361d06d6bSBaptiste Daroussin.It 137461d06d6bSBaptiste DaroussinThe 137561d06d6bSBaptiste Daroussin.Sq \e{ 137661d06d6bSBaptiste Daroussinkeyword to open a multi-line scope. 137761d06d6bSBaptiste Daroussin.It 137861d06d6bSBaptiste DaroussinA request or macro or some text, resulting in a single-line scope. 137961d06d6bSBaptiste Daroussin.It 138061d06d6bSBaptiste DaroussinThe immediate end of the logical line without any intervening whitespace, 138161d06d6bSBaptiste Daroussinresulting in next-line scope. 138261d06d6bSBaptiste Daroussin.El 138361d06d6bSBaptiste DaroussinHere, a conditional request is followed by trailing whitespace only, 138461d06d6bSBaptiste Daroussinand there is no other content on its logical input line. 138561d06d6bSBaptiste DaroussinNote that it doesn't matter whether the logical input line is split 138661d06d6bSBaptiste Daroussinacross multiple physical input lines using 138761d06d6bSBaptiste Daroussin.Sq \e 138861d06d6bSBaptiste Daroussinline continuation characters. 138961d06d6bSBaptiste DaroussinThis is one of the rare cases 139061d06d6bSBaptiste Daroussinwhere trailing whitespace is syntactically significant. 139161d06d6bSBaptiste DaroussinThe conditional request controls a scope containing whitespace only, 139261d06d6bSBaptiste Daroussinso it is unlikely to have a significant effect, 139361d06d6bSBaptiste Daroussinexcept that it may control a following 139461d06d6bSBaptiste Daroussin.Ic \&el 139561d06d6bSBaptiste Daroussinclause. 139661d06d6bSBaptiste Daroussin.It Sy "skipping empty macro" 139761d06d6bSBaptiste Daroussin.Pq mdoc 139861d06d6bSBaptiste DaroussinThe indicated macro has no arguments and hence no effect. 139961d06d6bSBaptiste Daroussin.It Sy "empty block" 140061d06d6bSBaptiste Daroussin.Pq mdoc , man 140161d06d6bSBaptiste DaroussinA 140261d06d6bSBaptiste Daroussin.Ic \&Bd , 140361d06d6bSBaptiste Daroussin.Ic \&Bk , 140461d06d6bSBaptiste Daroussin.Ic \&Bl , 140561d06d6bSBaptiste Daroussin.Ic \&D1 , 140661d06d6bSBaptiste Daroussin.Ic \&Dl , 140761d06d6bSBaptiste Daroussin.Ic \&MT , 140861d06d6bSBaptiste Daroussin.Ic \&RS , 140961d06d6bSBaptiste Daroussinor 141061d06d6bSBaptiste Daroussin.Ic \&UR 141161d06d6bSBaptiste Daroussinblock contains nothing in its body and will produce no output. 141261d06d6bSBaptiste Daroussin.It Sy "empty argument, using 0n" 141361d06d6bSBaptiste Daroussin.Pq mdoc 141461d06d6bSBaptiste DaroussinThe required width is missing after 141561d06d6bSBaptiste Daroussin.Ic \&Bd 141661d06d6bSBaptiste Daroussinor 141761d06d6bSBaptiste Daroussin.Ic \&Bl 141861d06d6bSBaptiste Daroussin.Fl offset 141961d06d6bSBaptiste Daroussinor 142061d06d6bSBaptiste Daroussin.Fl width . 142161d06d6bSBaptiste Daroussin.It Sy "missing display type, using -ragged" 142261d06d6bSBaptiste Daroussin.Pq mdoc 142361d06d6bSBaptiste DaroussinThe 142461d06d6bSBaptiste Daroussin.Ic \&Bd 142561d06d6bSBaptiste Daroussinmacro is invoked without the required display type. 142661d06d6bSBaptiste Daroussin.It Sy "list type is not the first argument" 142761d06d6bSBaptiste Daroussin.Pq mdoc 142861d06d6bSBaptiste DaroussinIn a 142961d06d6bSBaptiste Daroussin.Ic \&Bl 143061d06d6bSBaptiste Daroussinmacro, at least one other argument precedes the type argument. 143161d06d6bSBaptiste DaroussinThe 143261d06d6bSBaptiste Daroussin.Nm 143361d06d6bSBaptiste Daroussinutility copes with any argument order, but some other 143461d06d6bSBaptiste Daroussin.Xr mdoc 7 143561d06d6bSBaptiste Daroussinimplementations do not. 143661d06d6bSBaptiste Daroussin.It Sy "missing -width in -tag list, using 8n" 143761d06d6bSBaptiste Daroussin.Pq mdoc 143861d06d6bSBaptiste DaroussinEvery 143961d06d6bSBaptiste Daroussin.Ic \&Bl 144061d06d6bSBaptiste Daroussinmacro having the 144161d06d6bSBaptiste Daroussin.Fl tag 144261d06d6bSBaptiste Daroussinargument requires 144361d06d6bSBaptiste Daroussin.Fl width , 144461d06d6bSBaptiste Daroussintoo. 144561d06d6bSBaptiste Daroussin.It Sy "missing utility name, using \(dq\(dq" 144661d06d6bSBaptiste Daroussin.Pq mdoc 144761d06d6bSBaptiste DaroussinThe 144861d06d6bSBaptiste Daroussin.Ic \&Ex Fl std 144961d06d6bSBaptiste Daroussinmacro is called without an argument before 145061d06d6bSBaptiste Daroussin.Ic \&Nm 145161d06d6bSBaptiste Daroussinhas first been called with an argument. 145261d06d6bSBaptiste Daroussin.It Sy "missing function name, using \(dq\(dq" 145361d06d6bSBaptiste Daroussin.Pq mdoc 145461d06d6bSBaptiste DaroussinThe 145561d06d6bSBaptiste Daroussin.Ic \&Fo 145661d06d6bSBaptiste Daroussinmacro is called without an argument. 145761d06d6bSBaptiste DaroussinNo function name is printed. 145861d06d6bSBaptiste Daroussin.It Sy "empty head in list item" 145961d06d6bSBaptiste Daroussin.Pq mdoc 146061d06d6bSBaptiste DaroussinIn a 146161d06d6bSBaptiste Daroussin.Ic \&Bl 146261d06d6bSBaptiste Daroussin.Fl diag , 146361d06d6bSBaptiste Daroussin.Fl hang , 146461d06d6bSBaptiste Daroussin.Fl inset , 146561d06d6bSBaptiste Daroussin.Fl ohang , 146661d06d6bSBaptiste Daroussinor 146761d06d6bSBaptiste Daroussin.Fl tag 146861d06d6bSBaptiste Daroussinlist, an 146961d06d6bSBaptiste Daroussin.Ic \&It 147061d06d6bSBaptiste Daroussinmacro lacks the required argument. 147161d06d6bSBaptiste DaroussinThe item head is left empty. 147261d06d6bSBaptiste Daroussin.It Sy "empty list item" 147361d06d6bSBaptiste Daroussin.Pq mdoc 147461d06d6bSBaptiste DaroussinIn a 147561d06d6bSBaptiste Daroussin.Ic \&Bl 147661d06d6bSBaptiste Daroussin.Fl bullet , 147761d06d6bSBaptiste Daroussin.Fl dash , 147861d06d6bSBaptiste Daroussin.Fl enum , 147961d06d6bSBaptiste Daroussinor 148061d06d6bSBaptiste Daroussin.Fl hyphen 148161d06d6bSBaptiste Daroussinlist, an 148261d06d6bSBaptiste Daroussin.Ic \&It 148361d06d6bSBaptiste Daroussinblock is empty. 148461d06d6bSBaptiste DaroussinAn empty list item is shown. 148561d06d6bSBaptiste Daroussin.It Sy "missing argument, using next line" 148661d06d6bSBaptiste Daroussin.Pq mdoc 148761d06d6bSBaptiste DaroussinAn 148861d06d6bSBaptiste Daroussin.Ic \&It 148961d06d6bSBaptiste Daroussinmacro in a 149061d06d6bSBaptiste Daroussin.Ic \&Bd Fl column 149161d06d6bSBaptiste Daroussinlist has no arguments. 149261d06d6bSBaptiste DaroussinWhile 149361d06d6bSBaptiste Daroussin.Nm 149461d06d6bSBaptiste Daroussinuses the text or macros of the following line, if any, for the cell, 149561d06d6bSBaptiste Daroussinother formatters may misformat the list. 149661d06d6bSBaptiste Daroussin.It Sy "missing font type, using \efR" 149761d06d6bSBaptiste Daroussin.Pq mdoc 149861d06d6bSBaptiste DaroussinA 149961d06d6bSBaptiste Daroussin.Ic \&Bf 150061d06d6bSBaptiste Daroussinmacro has no argument. 150161d06d6bSBaptiste DaroussinIt switches to the default font. 150261d06d6bSBaptiste Daroussin.It Sy "unknown font type, using \efR" 150361d06d6bSBaptiste Daroussin.Pq mdoc 150461d06d6bSBaptiste DaroussinThe 150561d06d6bSBaptiste Daroussin.Ic \&Bf 150661d06d6bSBaptiste Daroussinargument is invalid. 150761d06d6bSBaptiste DaroussinThe default font is used instead. 150861d06d6bSBaptiste Daroussin.It Sy "nothing follows prefix" 150961d06d6bSBaptiste Daroussin.Pq mdoc 151061d06d6bSBaptiste DaroussinA 151161d06d6bSBaptiste Daroussin.Ic \&Pf 151261d06d6bSBaptiste Daroussinmacro has no argument, or only one argument and no macro follows 151361d06d6bSBaptiste Daroussinon the same input line. 151461d06d6bSBaptiste DaroussinThis defeats its purpose; in particular, spacing is not suppressed 151561d06d6bSBaptiste Daroussinbefore the text or macros following on the next input line. 151661d06d6bSBaptiste Daroussin.It Sy "empty reference block" 151761d06d6bSBaptiste Daroussin.Pq mdoc 151861d06d6bSBaptiste DaroussinAn 151961d06d6bSBaptiste Daroussin.Ic \&Rs 152061d06d6bSBaptiste Daroussinmacro is immediately followed by an 152161d06d6bSBaptiste Daroussin.Ic \&Re 152261d06d6bSBaptiste Daroussinmacro on the next input line. 152361d06d6bSBaptiste DaroussinSuch an empty block does not produce any output. 152461d06d6bSBaptiste Daroussin.It Sy "missing section argument" 152561d06d6bSBaptiste Daroussin.Pq mdoc 152661d06d6bSBaptiste DaroussinAn 152761d06d6bSBaptiste Daroussin.Ic \&Xr 152861d06d6bSBaptiste Daroussinmacro lacks its second, section number argument. 152961d06d6bSBaptiste DaroussinThe first argument, i.e. the name, is printed, but without subsequent 153061d06d6bSBaptiste Daroussinparentheses. 153161d06d6bSBaptiste Daroussin.It Sy "missing -std argument, adding it" 153261d06d6bSBaptiste Daroussin.Pq mdoc 153361d06d6bSBaptiste DaroussinAn 153461d06d6bSBaptiste Daroussin.Ic \&Ex 153561d06d6bSBaptiste Daroussinor 153661d06d6bSBaptiste Daroussin.Ic \&Rv 153761d06d6bSBaptiste Daroussinmacro lacks the required 153861d06d6bSBaptiste Daroussin.Fl std 153961d06d6bSBaptiste Daroussinargument. 154061d06d6bSBaptiste DaroussinThe 154161d06d6bSBaptiste Daroussin.Nm 154261d06d6bSBaptiste Daroussinutility assumes 154361d06d6bSBaptiste Daroussin.Fl std 154461d06d6bSBaptiste Daroussineven when it is not specified, but other implementations may not. 154561d06d6bSBaptiste Daroussin.It Sy "missing option string, using \(dq\(dq" 154661d06d6bSBaptiste Daroussin.Pq man 154761d06d6bSBaptiste DaroussinThe 154861d06d6bSBaptiste Daroussin.Ic \&OP 154961d06d6bSBaptiste Daroussinmacro is invoked without any argument. 155061d06d6bSBaptiste DaroussinAn empty pair of square brackets is shown. 155161d06d6bSBaptiste Daroussin.It Sy "missing resource identifier, using \(dq\(dq" 155261d06d6bSBaptiste Daroussin.Pq man 155361d06d6bSBaptiste DaroussinThe 155461d06d6bSBaptiste Daroussin.Ic \&MT 155561d06d6bSBaptiste Daroussinor 155661d06d6bSBaptiste Daroussin.Ic \&UR 155761d06d6bSBaptiste Daroussinmacro is invoked without any argument. 155861d06d6bSBaptiste DaroussinAn empty pair of angle brackets is shown. 155961d06d6bSBaptiste Daroussin.It Sy "missing eqn box, using \(dq\(dq" 156061d06d6bSBaptiste Daroussin.Pq eqn 156161d06d6bSBaptiste DaroussinA diacritic mark or a binary operator is found, 156261d06d6bSBaptiste Daroussinbut there is nothing to the left of it. 156361d06d6bSBaptiste DaroussinAn empty box is inserted. 156461d06d6bSBaptiste Daroussin.El 156561d06d6bSBaptiste Daroussin.Ss "Warnings related to bad macro arguments" 156661d06d6bSBaptiste Daroussin.Bl -ohang 156761d06d6bSBaptiste Daroussin.It Sy "duplicate argument" 156861d06d6bSBaptiste Daroussin.Pq mdoc 156961d06d6bSBaptiste DaroussinA 157061d06d6bSBaptiste Daroussin.Ic \&Bd 157161d06d6bSBaptiste Daroussinor 157261d06d6bSBaptiste Daroussin.Ic \&Bl 157361d06d6bSBaptiste Daroussinmacro has more than one 157461d06d6bSBaptiste Daroussin.Fl compact , 157561d06d6bSBaptiste Daroussinmore than one 157661d06d6bSBaptiste Daroussin.Fl offset , 157761d06d6bSBaptiste Daroussinor more than one 157861d06d6bSBaptiste Daroussin.Fl width 157961d06d6bSBaptiste Daroussinargument. 158061d06d6bSBaptiste DaroussinAll but the last instances of these arguments are ignored. 158161d06d6bSBaptiste Daroussin.It Sy "skipping duplicate argument" 158261d06d6bSBaptiste Daroussin.Pq mdoc 158361d06d6bSBaptiste DaroussinAn 158461d06d6bSBaptiste Daroussin.Ic \&An 158561d06d6bSBaptiste Daroussinmacro has more than one 158661d06d6bSBaptiste Daroussin.Fl split 158761d06d6bSBaptiste Daroussinor 158861d06d6bSBaptiste Daroussin.Fl nosplit 158961d06d6bSBaptiste Daroussinargument. 159061d06d6bSBaptiste DaroussinAll but the first of these arguments are ignored. 159161d06d6bSBaptiste Daroussin.It Sy "skipping duplicate display type" 159261d06d6bSBaptiste Daroussin.Pq mdoc 159361d06d6bSBaptiste DaroussinA 159461d06d6bSBaptiste Daroussin.Ic \&Bd 159561d06d6bSBaptiste Daroussinmacro has more than one type argument; the first one is used. 159661d06d6bSBaptiste Daroussin.It Sy "skipping duplicate list type" 159761d06d6bSBaptiste Daroussin.Pq mdoc 159861d06d6bSBaptiste DaroussinA 159961d06d6bSBaptiste Daroussin.Ic \&Bl 160061d06d6bSBaptiste Daroussinmacro has more than one type argument; the first one is used. 160161d06d6bSBaptiste Daroussin.It Sy "skipping -width argument" 160261d06d6bSBaptiste Daroussin.Pq mdoc 160361d06d6bSBaptiste DaroussinA 160461d06d6bSBaptiste Daroussin.Ic \&Bl 160561d06d6bSBaptiste Daroussin.Fl column , 160661d06d6bSBaptiste Daroussin.Fl diag , 160761d06d6bSBaptiste Daroussin.Fl ohang , 160861d06d6bSBaptiste Daroussin.Fl inset , 160961d06d6bSBaptiste Daroussinor 161061d06d6bSBaptiste Daroussin.Fl item 161161d06d6bSBaptiste Daroussinlist has a 161261d06d6bSBaptiste Daroussin.Fl width 161361d06d6bSBaptiste Daroussinargument. 161461d06d6bSBaptiste DaroussinThat has no effect. 161561d06d6bSBaptiste Daroussin.It Sy "wrong number of cells" 161661d06d6bSBaptiste DaroussinIn a line of a 161761d06d6bSBaptiste Daroussin.Ic \&Bl Fl column 161861d06d6bSBaptiste Daroussinlist, the number of tabs or 161961d06d6bSBaptiste Daroussin.Ic \&Ta 162061d06d6bSBaptiste Daroussinmacros is less than the number expected from the list header line 162161d06d6bSBaptiste Daroussinor exceeds the expected number by more than one. 162261d06d6bSBaptiste DaroussinMissing cells remain empty, and all cells exceeding the number of 162361d06d6bSBaptiste Daroussincolumns are joined into one single cell. 162461d06d6bSBaptiste Daroussin.It Sy "unknown AT&T UNIX version" 162561d06d6bSBaptiste Daroussin.Pq mdoc 162661d06d6bSBaptiste DaroussinAn 162761d06d6bSBaptiste Daroussin.Ic \&At 162861d06d6bSBaptiste Daroussinmacro has an invalid argument. 162961d06d6bSBaptiste DaroussinIt is used verbatim, with 163061d06d6bSBaptiste Daroussin.Qq "AT&T UNIX " 163161d06d6bSBaptiste Daroussinprefixed to it. 163261d06d6bSBaptiste Daroussin.It Sy "comma in function argument" 163361d06d6bSBaptiste Daroussin.Pq mdoc 163461d06d6bSBaptiste DaroussinAn argument of an 163561d06d6bSBaptiste Daroussin.Ic \&Fa 163661d06d6bSBaptiste Daroussinor 163761d06d6bSBaptiste Daroussin.Ic \&Fn 163861d06d6bSBaptiste Daroussinmacro contains a comma; it should probably be split into two arguments. 163961d06d6bSBaptiste Daroussin.It Sy "parenthesis in function name" 164061d06d6bSBaptiste Daroussin.Pq mdoc 164161d06d6bSBaptiste DaroussinThe first argument of an 164261d06d6bSBaptiste Daroussin.Ic \&Fc 164361d06d6bSBaptiste Daroussinor 164461d06d6bSBaptiste Daroussin.Ic \&Fn 164561d06d6bSBaptiste Daroussinmacro contains an opening or closing parenthesis; that's probably wrong, 164661d06d6bSBaptiste Daroussinparentheses are added automatically. 164761d06d6bSBaptiste Daroussin.It Sy "unknown library name" 164861d06d6bSBaptiste Daroussin.Pq mdoc, not on Ox 164961d06d6bSBaptiste DaroussinAn 165061d06d6bSBaptiste Daroussin.Ic \&Lb 165161d06d6bSBaptiste Daroussinmacro has an unknown name argument and will be rendered as 165261d06d6bSBaptiste Daroussin.Qq library Dq Ar name . 165361d06d6bSBaptiste Daroussin.It Sy "invalid content in Rs block" 165461d06d6bSBaptiste Daroussin.Pq mdoc 165561d06d6bSBaptiste DaroussinAn 165661d06d6bSBaptiste Daroussin.Ic \&Rs 165761d06d6bSBaptiste Daroussinblock contains plain text or non-% macros. 165861d06d6bSBaptiste DaroussinThe bogus content is left in the syntax tree. 165961d06d6bSBaptiste DaroussinFormatting may be poor. 166061d06d6bSBaptiste Daroussin.It Sy "invalid Boolean argument" 166161d06d6bSBaptiste Daroussin.Pq mdoc 166261d06d6bSBaptiste DaroussinAn 166361d06d6bSBaptiste Daroussin.Ic \&Sm 166461d06d6bSBaptiste Daroussinmacro has an argument other than 166561d06d6bSBaptiste Daroussin.Cm on 166661d06d6bSBaptiste Daroussinor 166761d06d6bSBaptiste Daroussin.Cm off . 166861d06d6bSBaptiste DaroussinThe invalid argument is moved out of the macro, which leaves the macro 166961d06d6bSBaptiste Daroussinempty, causing it to toggle the spacing mode. 1670*7295610fSBaptiste Daroussin.It Sy "argument contains two font escapes" 1671*7295610fSBaptiste Daroussin.Pq roff 1672*7295610fSBaptiste DaroussinThe second argument of a 1673*7295610fSBaptiste Daroussin.Ic char 1674*7295610fSBaptiste Daroussinrequest contains more than one font escape sequence. 1675*7295610fSBaptiste DaroussinA wrong font may remain active after using the character. 167661d06d6bSBaptiste Daroussin.It Sy "unknown font, skipping request" 167761d06d6bSBaptiste Daroussin.Pq man , tbl 167861d06d6bSBaptiste DaroussinA 167961d06d6bSBaptiste Daroussin.Xr roff 7 168061d06d6bSBaptiste Daroussin.Ic \&ft 168161d06d6bSBaptiste Daroussinrequest or a 168261d06d6bSBaptiste Daroussin.Xr tbl 7 168361d06d6bSBaptiste Daroussin.Ic \&f 168461d06d6bSBaptiste Daroussinlayout modifier has an unknown 168561d06d6bSBaptiste Daroussin.Ar font 168661d06d6bSBaptiste Daroussinargument. 168761d06d6bSBaptiste Daroussin.It Sy "odd number of characters in request" 168861d06d6bSBaptiste Daroussin.Pq roff 168961d06d6bSBaptiste DaroussinA 169061d06d6bSBaptiste Daroussin.Ic \&tr 169161d06d6bSBaptiste Daroussinrequest contains an odd number of characters. 169261d06d6bSBaptiste DaroussinThe last character is mapped to the blank character. 169361d06d6bSBaptiste Daroussin.El 169461d06d6bSBaptiste Daroussin.Ss "Warnings related to plain text" 169561d06d6bSBaptiste Daroussin.Bl -ohang 169661d06d6bSBaptiste Daroussin.It Sy "blank line in fill mode, using .sp" 169761d06d6bSBaptiste Daroussin.Pq mdoc 169861d06d6bSBaptiste DaroussinThe meaning of blank input lines is only well-defined in non-fill mode: 169961d06d6bSBaptiste DaroussinIn fill mode, line breaks of text input lines are not supposed to be 170061d06d6bSBaptiste Daroussinsignificant. 170161d06d6bSBaptiste DaroussinHowever, for compatibility with groff, blank lines in fill mode 170261d06d6bSBaptiste Daroussinare replaced with 170361d06d6bSBaptiste Daroussin.Ic \&sp 170461d06d6bSBaptiste Daroussinrequests. 170561d06d6bSBaptiste Daroussin.It Sy "tab in filled text" 170661d06d6bSBaptiste Daroussin.Pq mdoc , man 170761d06d6bSBaptiste DaroussinThe meaning of tab characters is only well-defined in non-fill mode: 170861d06d6bSBaptiste DaroussinIn fill mode, whitespace is not supposed to be significant 170961d06d6bSBaptiste Daroussinon text input lines. 171061d06d6bSBaptiste DaroussinAs an implementation dependent choice, tab characters on text lines 171161d06d6bSBaptiste Daroussinare passed through to the formatters in any case. 171261d06d6bSBaptiste DaroussinGiven that the text before the tab character will be filled, 171361d06d6bSBaptiste Daroussinit is hard to predict which tab stop position the tab will advance to. 171461d06d6bSBaptiste Daroussin.It Sy "new sentence, new line" 171561d06d6bSBaptiste Daroussin.Pq mdoc 171661d06d6bSBaptiste DaroussinA new sentence starts in the middle of a text line. 171761d06d6bSBaptiste DaroussinStart it on a new input line to help formatters produce correct spacing. 171861d06d6bSBaptiste Daroussin.It Sy "invalid escape sequence" 171961d06d6bSBaptiste Daroussin.Pq roff 172061d06d6bSBaptiste DaroussinAn escape sequence has an invalid opening argument delimiter, lacks the 1721*7295610fSBaptiste Daroussinclosing argument delimiter, the argument is of an invalid form, or it is 1722*7295610fSBaptiste Daroussina character escape sequence with an invalid name. 172361d06d6bSBaptiste DaroussinIf the argument is incomplete, 172461d06d6bSBaptiste Daroussin.Ic \e* 172561d06d6bSBaptiste Daroussinand 172661d06d6bSBaptiste Daroussin.Ic \en 172761d06d6bSBaptiste Daroussinexpand to an empty string, 172861d06d6bSBaptiste Daroussin.Ic \eB 172961d06d6bSBaptiste Daroussinto the digit 173061d06d6bSBaptiste Daroussin.Sq 0 , 173161d06d6bSBaptiste Daroussinand 173261d06d6bSBaptiste Daroussin.Ic \ew 173361d06d6bSBaptiste Daroussinto the length of the incomplete argument. 173461d06d6bSBaptiste DaroussinAll other invalid escape sequences are ignored. 1735*7295610fSBaptiste Daroussin.It Sy "undefined escape, printing literally" 1736*7295610fSBaptiste Daroussin.Pq roff 1737*7295610fSBaptiste DaroussinIn an escape sequence, the first character 1738*7295610fSBaptiste Daroussinright after the leading backslash is invalid. 1739*7295610fSBaptiste DaroussinThat character is printed literally, 1740*7295610fSBaptiste Daroussinwhich is equivalent to ignoring the backslash. 174161d06d6bSBaptiste Daroussin.It Sy "undefined string, using \(dq\(dq" 174261d06d6bSBaptiste Daroussin.Pq roff 174361d06d6bSBaptiste DaroussinIf a string is used without being defined before, 174461d06d6bSBaptiste Daroussinits value is implicitly set to the empty string. 174561d06d6bSBaptiste DaroussinHowever, defining strings explicitly before use 174661d06d6bSBaptiste Daroussinkeeps the code more readable. 174761d06d6bSBaptiste Daroussin.El 174861d06d6bSBaptiste Daroussin.Ss "Warnings related to tables" 174961d06d6bSBaptiste Daroussin.Bl -ohang 175061d06d6bSBaptiste Daroussin.It Sy "tbl line starts with span" 175161d06d6bSBaptiste Daroussin.Pq tbl 175261d06d6bSBaptiste DaroussinThe first cell in a table layout line is a horizontal span 175361d06d6bSBaptiste Daroussin.Pq Sq Cm s . 175461d06d6bSBaptiste DaroussinData provided for this cell is ignored, and nothing is printed in the cell. 175561d06d6bSBaptiste Daroussin.It Sy "tbl column starts with span" 175661d06d6bSBaptiste Daroussin.Pq tbl 175761d06d6bSBaptiste DaroussinThe first line of a table layout specification 175861d06d6bSBaptiste Daroussinrequests a vertical span 175961d06d6bSBaptiste Daroussin.Pq Sq Cm ^ . 176061d06d6bSBaptiste DaroussinData provided for this cell is ignored, and nothing is printed in the cell. 176161d06d6bSBaptiste Daroussin.It Sy "skipping vertical bar in tbl layout" 176261d06d6bSBaptiste Daroussin.Pq tbl 176361d06d6bSBaptiste DaroussinA table layout specification contains more than two consecutive vertical bars. 176461d06d6bSBaptiste DaroussinA double bar is printed, all additional bars are discarded. 176561d06d6bSBaptiste Daroussin.El 176661d06d6bSBaptiste Daroussin.Ss "Errors related to tables" 176761d06d6bSBaptiste Daroussin.Bl -ohang 176861d06d6bSBaptiste Daroussin.It Sy "non-alphabetic character in tbl options" 176961d06d6bSBaptiste Daroussin.Pq tbl 177061d06d6bSBaptiste DaroussinThe table options line contains a character other than a letter, 177161d06d6bSBaptiste Daroussinblank, or comma where the beginning of an option name is expected. 177261d06d6bSBaptiste DaroussinThe character is ignored. 177361d06d6bSBaptiste Daroussin.It Sy "skipping unknown tbl option" 177461d06d6bSBaptiste Daroussin.Pq tbl 177561d06d6bSBaptiste DaroussinThe table options line contains a string of letters that does not 177661d06d6bSBaptiste Daroussinmatch any known option name. 177761d06d6bSBaptiste DaroussinThe word is ignored. 177861d06d6bSBaptiste Daroussin.It Sy "missing tbl option argument" 177961d06d6bSBaptiste Daroussin.Pq tbl 178061d06d6bSBaptiste DaroussinA table option that requires an argument is not followed by an 178161d06d6bSBaptiste Daroussinopening parenthesis, or the opening parenthesis is immediately 178261d06d6bSBaptiste Daroussinfollowed by a closing parenthesis. 178361d06d6bSBaptiste DaroussinThe option is ignored. 178461d06d6bSBaptiste Daroussin.It Sy "wrong tbl option argument size" 178561d06d6bSBaptiste Daroussin.Pq tbl 178661d06d6bSBaptiste DaroussinA table option argument contains an invalid number of characters. 178761d06d6bSBaptiste DaroussinBoth the option and the argument are ignored. 178861d06d6bSBaptiste Daroussin.It Sy "empty tbl layout" 178961d06d6bSBaptiste Daroussin.Pq tbl 179061d06d6bSBaptiste DaroussinA table layout specification is completely empty, 179161d06d6bSBaptiste Daroussinspecifying zero lines and zero columns. 179261d06d6bSBaptiste DaroussinAs a fallback, a single left-justified column is used. 179361d06d6bSBaptiste Daroussin.It Sy "invalid character in tbl layout" 179461d06d6bSBaptiste Daroussin.Pq tbl 179561d06d6bSBaptiste DaroussinA table layout specification contains a character that can neither 179661d06d6bSBaptiste Daroussinbe interpreted as a layout key character nor as a layout modifier, 179761d06d6bSBaptiste Daroussinor a modifier precedes the first key. 179861d06d6bSBaptiste DaroussinThe invalid character is discarded. 179961d06d6bSBaptiste Daroussin.It Sy "unmatched parenthesis in tbl layout" 180061d06d6bSBaptiste Daroussin.Pq tbl 180161d06d6bSBaptiste DaroussinA table layout specification contains an opening parenthesis, 180261d06d6bSBaptiste Daroussinbut no matching closing parenthesis. 180361d06d6bSBaptiste DaroussinThe rest of the input line, starting from the parenthesis, has no effect. 180461d06d6bSBaptiste Daroussin.It Sy "tbl without any data cells" 180561d06d6bSBaptiste Daroussin.Pq tbl 180661d06d6bSBaptiste DaroussinA table does not contain any data cells. 180761d06d6bSBaptiste DaroussinIt will probably produce no output. 180861d06d6bSBaptiste Daroussin.It Sy "ignoring data in spanned tbl cell" 180961d06d6bSBaptiste Daroussin.Pq tbl 181061d06d6bSBaptiste DaroussinA table cell is marked as a horizontal span 181161d06d6bSBaptiste Daroussin.Pq Sq Cm s 181261d06d6bSBaptiste Daroussinor vertical span 181361d06d6bSBaptiste Daroussin.Pq Sq Cm ^ 181461d06d6bSBaptiste Daroussinin the table layout, but it contains data. 181561d06d6bSBaptiste DaroussinThe data is ignored. 181661d06d6bSBaptiste Daroussin.It Sy "ignoring extra tbl data cells" 181761d06d6bSBaptiste Daroussin.Pq tbl 181861d06d6bSBaptiste DaroussinA data line contains more cells than the corresponding layout line. 181961d06d6bSBaptiste DaroussinThe data in the extra cells is ignored. 182061d06d6bSBaptiste Daroussin.It Sy "data block open at end of tbl" 182161d06d6bSBaptiste Daroussin.Pq tbl 182261d06d6bSBaptiste DaroussinA data block is opened with 182361d06d6bSBaptiste Daroussin.Cm T{ , 182461d06d6bSBaptiste Daroussinbut never closed with a matching 182561d06d6bSBaptiste Daroussin.Cm T} . 182661d06d6bSBaptiste DaroussinThe remaining data lines of the table are all put into one cell, 182761d06d6bSBaptiste Daroussinand any remaining cells stay empty. 182861d06d6bSBaptiste Daroussin.El 182961d06d6bSBaptiste Daroussin.Ss "Errors related to roff, mdoc, and man code" 183061d06d6bSBaptiste Daroussin.Bl -ohang 183161d06d6bSBaptiste Daroussin.It Sy "duplicate prologue macro" 183261d06d6bSBaptiste Daroussin.Pq mdoc 183361d06d6bSBaptiste DaroussinOne of the prologue macros occurs more than once. 183461d06d6bSBaptiste DaroussinThe last instance overrides all previous ones. 183561d06d6bSBaptiste Daroussin.It Sy "skipping late title macro" 183661d06d6bSBaptiste Daroussin.Pq mdoc 183761d06d6bSBaptiste DaroussinThe 183861d06d6bSBaptiste Daroussin.Ic \&Dt 183961d06d6bSBaptiste Daroussinmacro appears after the first non-prologue macro. 184061d06d6bSBaptiste DaroussinTraditional formatters cannot handle this because 184161d06d6bSBaptiste Daroussinthey write the page header before parsing the document body. 184261d06d6bSBaptiste DaroussinEven though this technical restriction does not apply to 184361d06d6bSBaptiste Daroussin.Nm , 184461d06d6bSBaptiste Daroussintraditional semantics is preserved. 184561d06d6bSBaptiste DaroussinThe late macro is discarded including its arguments. 184661d06d6bSBaptiste Daroussin.It Sy "input stack limit exceeded, infinite loop?" 184761d06d6bSBaptiste Daroussin.Pq roff 184861d06d6bSBaptiste DaroussinExplicit recursion limits are implemented for the following features, 184961d06d6bSBaptiste Daroussinin order to prevent infinite loops: 185061d06d6bSBaptiste Daroussin.Bl -dash -compact 185161d06d6bSBaptiste Daroussin.It 185261d06d6bSBaptiste Daroussinexpansion of nested escape sequences 185361d06d6bSBaptiste Daroussinincluding expansion of strings and number registers, 185461d06d6bSBaptiste Daroussin.It 185561d06d6bSBaptiste Daroussinexpansion of nested user-defined macros, 185661d06d6bSBaptiste Daroussin.It 185761d06d6bSBaptiste Daroussinand 185861d06d6bSBaptiste Daroussin.Ic \&so 185961d06d6bSBaptiste Daroussinfile inclusion. 186061d06d6bSBaptiste Daroussin.El 186161d06d6bSBaptiste DaroussinWhen a limit is hit, the output is incorrect, typically losing 186261d06d6bSBaptiste Daroussinsome content, but the parser can continue. 186361d06d6bSBaptiste Daroussin.It Sy "skipping bad character" 186461d06d6bSBaptiste Daroussin.Pq mdoc , man , roff 186561d06d6bSBaptiste DaroussinThe input file contains a byte that is not a printable 186661d06d6bSBaptiste Daroussin.Xr ascii 7 186761d06d6bSBaptiste Daroussincharacter. 186861d06d6bSBaptiste DaroussinThe message mentions the character number. 186961d06d6bSBaptiste DaroussinThe offending byte is replaced with a question mark 187061d06d6bSBaptiste Daroussin.Pq Sq \&? . 187161d06d6bSBaptiste DaroussinConsider editing the input file to replace the byte with an ASCII 187261d06d6bSBaptiste Daroussintransliteration of the intended character. 187361d06d6bSBaptiste Daroussin.It Sy "skipping unknown macro" 187461d06d6bSBaptiste Daroussin.Pq mdoc , man , roff 187561d06d6bSBaptiste DaroussinThe first identifier on a request or macro line is neither recognized as a 187661d06d6bSBaptiste Daroussin.Xr roff 7 187761d06d6bSBaptiste Daroussinrequest, nor as a user-defined macro, nor, respectively, as an 187861d06d6bSBaptiste Daroussin.Xr mdoc 7 187961d06d6bSBaptiste Daroussinor 188061d06d6bSBaptiste Daroussin.Xr man 7 188161d06d6bSBaptiste Daroussinmacro. 188261d06d6bSBaptiste DaroussinIt may be mistyped or unsupported. 188361d06d6bSBaptiste DaroussinThe request or macro is discarded including its arguments. 1884*7295610fSBaptiste Daroussin.It Sy "skipping request outside macro" 1885*7295610fSBaptiste Daroussin.Pq roff 1886*7295610fSBaptiste DaroussinA 1887*7295610fSBaptiste Daroussin.Ic shift 1888*7295610fSBaptiste Daroussinor 1889*7295610fSBaptiste Daroussin.Ic return 1890*7295610fSBaptiste Daroussinrequest occurs outside any macro definition and has no effect. 189161d06d6bSBaptiste Daroussin.It Sy "skipping insecure request" 189261d06d6bSBaptiste Daroussin.Pq roff 189361d06d6bSBaptiste DaroussinAn input file attempted to run a shell command 189461d06d6bSBaptiste Daroussinor to read or write an external file. 189561d06d6bSBaptiste DaroussinSuch attempts are denied for security reasons. 189661d06d6bSBaptiste Daroussin.It Sy "skipping item outside list" 189761d06d6bSBaptiste Daroussin.Pq mdoc , eqn 189861d06d6bSBaptiste DaroussinAn 189961d06d6bSBaptiste Daroussin.Ic \&It 190061d06d6bSBaptiste Daroussinmacro occurs outside any 190161d06d6bSBaptiste Daroussin.Ic \&Bl 190261d06d6bSBaptiste Daroussinlist, or an 190361d06d6bSBaptiste Daroussin.Xr eqn 7 190461d06d6bSBaptiste Daroussin.Ic above 190561d06d6bSBaptiste Daroussindelimiter occurs outside any pile. 190661d06d6bSBaptiste DaroussinIt is discarded including its arguments. 190761d06d6bSBaptiste Daroussin.It Sy "skipping column outside column list" 190861d06d6bSBaptiste Daroussin.Pq mdoc 190961d06d6bSBaptiste DaroussinA 191061d06d6bSBaptiste Daroussin.Ic \&Ta 191161d06d6bSBaptiste Daroussinmacro occurs outside any 191261d06d6bSBaptiste Daroussin.Ic \&Bl Fl column 191361d06d6bSBaptiste Daroussinblock. 191461d06d6bSBaptiste DaroussinIt is discarded including its arguments. 191561d06d6bSBaptiste Daroussin.It Sy "skipping end of block that is not open" 191661d06d6bSBaptiste Daroussin.Pq mdoc , man , eqn , tbl , roff 191761d06d6bSBaptiste DaroussinVarious syntax elements can only be used to explicitly close blocks 191861d06d6bSBaptiste Daroussinthat have previously been opened. 191961d06d6bSBaptiste DaroussinAn 192061d06d6bSBaptiste Daroussin.Xr mdoc 7 192161d06d6bSBaptiste Daroussinblock closing macro, a 192261d06d6bSBaptiste Daroussin.Xr man 7 192361d06d6bSBaptiste Daroussin.Ic \&ME , \&RE 192461d06d6bSBaptiste Daroussinor 192561d06d6bSBaptiste Daroussin.Ic \&UE 192661d06d6bSBaptiste Daroussinmacro, an 192761d06d6bSBaptiste Daroussin.Xr eqn 7 192861d06d6bSBaptiste Daroussinright delimiter or closing brace, or the end of an equation, table, or 192961d06d6bSBaptiste Daroussin.Xr roff 7 193061d06d6bSBaptiste Daroussinconditional request is encountered but no matching block is open. 193161d06d6bSBaptiste DaroussinThe offending request or macro is discarded. 193261d06d6bSBaptiste Daroussin.It Sy "fewer RS blocks open, skipping" 193361d06d6bSBaptiste Daroussin.Pq man 193461d06d6bSBaptiste DaroussinThe 193561d06d6bSBaptiste Daroussin.Ic \&RE 193661d06d6bSBaptiste Daroussinmacro is invoked with an argument, but less than the specified number of 193761d06d6bSBaptiste Daroussin.Ic \&RS 193861d06d6bSBaptiste Daroussinblocks is open. 193961d06d6bSBaptiste DaroussinThe 194061d06d6bSBaptiste Daroussin.Ic \&RE 194161d06d6bSBaptiste Daroussinmacro is discarded. 194261d06d6bSBaptiste Daroussin.It Sy "inserting missing end of block" 194361d06d6bSBaptiste Daroussin.Pq mdoc , tbl 194461d06d6bSBaptiste DaroussinVarious 194561d06d6bSBaptiste Daroussin.Xr mdoc 7 194661d06d6bSBaptiste Daroussinmacros as well as tables require explicit closing by dedicated macros. 194761d06d6bSBaptiste DaroussinA block that doesn't support bad nesting 194861d06d6bSBaptiste Daroussinends before all of its children are properly closed. 194961d06d6bSBaptiste DaroussinThe open child nodes are closed implicitly. 195061d06d6bSBaptiste Daroussin.It Sy "appending missing end of block" 195161d06d6bSBaptiste Daroussin.Pq mdoc , man , eqn , tbl , roff 195261d06d6bSBaptiste DaroussinAt the end of the document, an explicit 195361d06d6bSBaptiste Daroussin.Xr mdoc 7 195461d06d6bSBaptiste Daroussinblock, a 195561d06d6bSBaptiste Daroussin.Xr man 7 195661d06d6bSBaptiste Daroussinnext-line scope or 195761d06d6bSBaptiste Daroussin.Ic \&MT , \&RS 195861d06d6bSBaptiste Daroussinor 195961d06d6bSBaptiste Daroussin.Ic \&UR 196061d06d6bSBaptiste Daroussinblock, an equation, table, or 196161d06d6bSBaptiste Daroussin.Xr roff 7 196261d06d6bSBaptiste Daroussinconditional or ignore block is still open. 196361d06d6bSBaptiste DaroussinThe open block is closed implicitly. 196461d06d6bSBaptiste Daroussin.It Sy "escaped character not allowed in a name" 196561d06d6bSBaptiste Daroussin.Pq roff 196661d06d6bSBaptiste DaroussinMacro, string and register identifiers consist of printable, 196761d06d6bSBaptiste Daroussinnon-whitespace ASCII characters. 196861d06d6bSBaptiste DaroussinEscape sequences and characters and strings expressed in terms of them 196961d06d6bSBaptiste Daroussincannot form part of a name. 197061d06d6bSBaptiste DaroussinThe first argument of an 197161d06d6bSBaptiste Daroussin.Ic \&am , 197261d06d6bSBaptiste Daroussin.Ic \&as , 197361d06d6bSBaptiste Daroussin.Ic \&de , 197461d06d6bSBaptiste Daroussin.Ic \&ds , 197561d06d6bSBaptiste Daroussin.Ic \&nr , 197661d06d6bSBaptiste Daroussinor 197761d06d6bSBaptiste Daroussin.Ic \&rr 197861d06d6bSBaptiste Daroussinrequest, or any argument of an 197961d06d6bSBaptiste Daroussin.Ic \&rm 198061d06d6bSBaptiste Daroussinrequest, or the name of a request or user defined macro being called, 198161d06d6bSBaptiste Daroussinis terminated by an escape sequence. 198261d06d6bSBaptiste DaroussinIn the cases of 198361d06d6bSBaptiste Daroussin.Ic \&as , 198461d06d6bSBaptiste Daroussin.Ic \&ds , 198561d06d6bSBaptiste Daroussinand 198661d06d6bSBaptiste Daroussin.Ic \&nr , 198761d06d6bSBaptiste Daroussinthe request has no effect at all. 198861d06d6bSBaptiste DaroussinIn the cases of 198961d06d6bSBaptiste Daroussin.Ic \&am , 199061d06d6bSBaptiste Daroussin.Ic \&de , 199161d06d6bSBaptiste Daroussin.Ic \&rr , 199261d06d6bSBaptiste Daroussinand 199361d06d6bSBaptiste Daroussin.Ic \&rm , 199461d06d6bSBaptiste Daroussinwhat was parsed up to this point is used as the arguments to the request, 199561d06d6bSBaptiste Daroussinand the rest of the input line is discarded including the escape sequence. 199661d06d6bSBaptiste DaroussinWhen parsing for a request or a user-defined macro name to be called, 199761d06d6bSBaptiste Daroussinonly the escape sequence is discarded. 199861d06d6bSBaptiste DaroussinThe characters preceding it are used as the request or macro name, 199961d06d6bSBaptiste Daroussinthe characters following it are used as the arguments to the request or macro. 2000*7295610fSBaptiste Daroussin.It Sy "using macro argument outside macro" 2001*7295610fSBaptiste Daroussin.Pq roff 2002*7295610fSBaptiste DaroussinThe escape sequence \e$ occurs outside any macro definition 2003*7295610fSBaptiste Daroussinand expands to the empty string. 2004*7295610fSBaptiste Daroussin.It Sy "argument number is not numeric" 2005*7295610fSBaptiste Daroussin.Pq roff 2006*7295610fSBaptiste DaroussinThe argument of the escape sequence \e$ is not a digit; 2007*7295610fSBaptiste Daroussinthe escape sequence expands to the empty string. 200861d06d6bSBaptiste Daroussin.It Sy "NOT IMPLEMENTED: Bd -file" 200961d06d6bSBaptiste Daroussin.Pq mdoc 201061d06d6bSBaptiste DaroussinFor security reasons, the 201161d06d6bSBaptiste Daroussin.Ic \&Bd 201261d06d6bSBaptiste Daroussinmacro does not support the 201361d06d6bSBaptiste Daroussin.Fl file 201461d06d6bSBaptiste Daroussinargument. 201561d06d6bSBaptiste DaroussinBy requesting the inclusion of a sensitive file, a malicious document 201661d06d6bSBaptiste Daroussinmight otherwise trick a privileged user into inadvertently displaying 201761d06d6bSBaptiste Daroussinthe file on the screen, revealing the file content to bystanders. 201861d06d6bSBaptiste DaroussinThe argument is ignored including the file name following it. 201961d06d6bSBaptiste Daroussin.It Sy "skipping display without arguments" 202061d06d6bSBaptiste Daroussin.Pq mdoc 202161d06d6bSBaptiste DaroussinA 202261d06d6bSBaptiste Daroussin.Ic \&Bd 202361d06d6bSBaptiste Daroussinblock macro does not have any arguments. 202461d06d6bSBaptiste DaroussinThe block is discarded, and the block content is displayed in 202561d06d6bSBaptiste Daroussinwhatever mode was active before the block. 202661d06d6bSBaptiste Daroussin.It Sy "missing list type, using -item" 202761d06d6bSBaptiste Daroussin.Pq mdoc 202861d06d6bSBaptiste DaroussinA 202961d06d6bSBaptiste Daroussin.Ic \&Bl 203061d06d6bSBaptiste Daroussinmacro fails to specify the list type. 203161d06d6bSBaptiste Daroussin.It Sy "argument is not numeric, using 1" 203261d06d6bSBaptiste Daroussin.Pq roff 203361d06d6bSBaptiste DaroussinThe argument of a 203461d06d6bSBaptiste Daroussin.Ic \&ce 203561d06d6bSBaptiste Daroussinrequest is not a number. 2036*7295610fSBaptiste Daroussin.It Sy "argument is not a character" 2037*7295610fSBaptiste Daroussin.Pq roff 2038*7295610fSBaptiste DaroussinThe first argument of a 2039*7295610fSBaptiste Daroussin.Ic char 2040*7295610fSBaptiste Daroussinrequest is neither a single ASCII character 2041*7295610fSBaptiste Daroussinnor a single character escape sequence. 2042*7295610fSBaptiste DaroussinThe request is ignored including all its arguments. 204361d06d6bSBaptiste Daroussin.It Sy "missing manual name, using \(dq\(dq" 204461d06d6bSBaptiste Daroussin.Pq mdoc 204561d06d6bSBaptiste DaroussinThe first call to 204661d06d6bSBaptiste Daroussin.Ic \&Nm , 204761d06d6bSBaptiste Daroussinor any call in the NAME section, lacks the required argument. 204861d06d6bSBaptiste Daroussin.It Sy "uname(3) system call failed, using UNKNOWN" 204961d06d6bSBaptiste Daroussin.Pq mdoc 205061d06d6bSBaptiste DaroussinThe 205161d06d6bSBaptiste Daroussin.Ic \&Os 205261d06d6bSBaptiste Daroussinmacro is called without arguments, and the 205361d06d6bSBaptiste Daroussin.Xr uname 3 205461d06d6bSBaptiste Daroussinsystem call failed. 205561d06d6bSBaptiste DaroussinAs a workaround, 205661d06d6bSBaptiste Daroussin.Nm 205761d06d6bSBaptiste Daroussincan be compiled with 205861d06d6bSBaptiste Daroussin.Sm off 205961d06d6bSBaptiste Daroussin.Fl D Cm OSNAME=\(dq\e\(dq Ar string Cm \e\(dq\(dq . 206061d06d6bSBaptiste Daroussin.Sm on 206161d06d6bSBaptiste Daroussin.It Sy "unknown standard specifier" 206261d06d6bSBaptiste Daroussin.Pq mdoc 206361d06d6bSBaptiste DaroussinAn 206461d06d6bSBaptiste Daroussin.Ic \&St 206561d06d6bSBaptiste Daroussinmacro has an unknown argument and is discarded. 206661d06d6bSBaptiste Daroussin.It Sy "skipping request without numeric argument" 206761d06d6bSBaptiste Daroussin.Pq roff , eqn 206861d06d6bSBaptiste DaroussinAn 206961d06d6bSBaptiste Daroussin.Ic \&it 207061d06d6bSBaptiste Daroussinrequest or an 207161d06d6bSBaptiste Daroussin.Xr eqn 7 207261d06d6bSBaptiste Daroussin.Ic \&size 207361d06d6bSBaptiste Daroussinor 207461d06d6bSBaptiste Daroussin.Ic \&gsize 207561d06d6bSBaptiste Daroussinstatement has a non-numeric or negative argument or no argument at all. 207661d06d6bSBaptiste DaroussinThe invalid request or statement is ignored. 2077*7295610fSBaptiste Daroussin.It Sy "excessive shift" 2078*7295610fSBaptiste Daroussin.Pq roff 2079*7295610fSBaptiste DaroussinThe argument of a 2080*7295610fSBaptiste Daroussin.Ic shift 2081*7295610fSBaptiste Daroussinrequest is larger than the number of arguments of the macro that is 2082*7295610fSBaptiste Daroussincurrently being executed. 2083*7295610fSBaptiste DaroussinAll macro arguments are deleted and \en(.$ is set to zero. 208461d06d6bSBaptiste Daroussin.It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq" 208561d06d6bSBaptiste Daroussin.Pq roff 208661d06d6bSBaptiste DaroussinFor security reasons, 208761d06d6bSBaptiste Daroussin.Nm 208861d06d6bSBaptiste Daroussinallows 208961d06d6bSBaptiste Daroussin.Ic \&so 209061d06d6bSBaptiste Daroussinfile inclusion requests only with relative paths 209161d06d6bSBaptiste Daroussinand only without ascending to any parent directory. 209261d06d6bSBaptiste DaroussinBy requesting the inclusion of a sensitive file, a malicious document 209361d06d6bSBaptiste Daroussinmight otherwise trick a privileged user into inadvertently displaying 209461d06d6bSBaptiste Daroussinthe file on the screen, revealing the file content to bystanders. 209561d06d6bSBaptiste Daroussin.Nm 209661d06d6bSBaptiste Daroussinonly shows the path as it appears behind 209761d06d6bSBaptiste Daroussin.Ic \&so . 209861d06d6bSBaptiste Daroussin.It Sy ".so request failed" 209961d06d6bSBaptiste Daroussin.Pq roff 210061d06d6bSBaptiste DaroussinServicing a 210161d06d6bSBaptiste Daroussin.Ic \&so 210261d06d6bSBaptiste Daroussinrequest requires reading an external file, but the file could not be 210361d06d6bSBaptiste Daroussinopened. 210461d06d6bSBaptiste Daroussin.Nm 210561d06d6bSBaptiste Daroussinonly shows the path as it appears behind 210661d06d6bSBaptiste Daroussin.Ic \&so . 210761d06d6bSBaptiste Daroussin.It Sy "skipping all arguments" 210861d06d6bSBaptiste Daroussin.Pq mdoc , man , eqn , roff 210961d06d6bSBaptiste DaroussinAn 211061d06d6bSBaptiste Daroussin.Xr mdoc 7 211161d06d6bSBaptiste Daroussin.Ic \&Bt , 211261d06d6bSBaptiste Daroussin.Ic \&Ed , 211361d06d6bSBaptiste Daroussin.Ic \&Ef , 211461d06d6bSBaptiste Daroussin.Ic \&Ek , 211561d06d6bSBaptiste Daroussin.Ic \&El , 211661d06d6bSBaptiste Daroussin.Ic \&Lp , 211761d06d6bSBaptiste Daroussin.Ic \&Pp , 211861d06d6bSBaptiste Daroussin.Ic \&Re , 211961d06d6bSBaptiste Daroussin.Ic \&Rs , 212061d06d6bSBaptiste Daroussinor 212161d06d6bSBaptiste Daroussin.Ic \&Ud 212261d06d6bSBaptiste Daroussinmacro, an 212361d06d6bSBaptiste Daroussin.Ic \&It 212461d06d6bSBaptiste Daroussinmacro in a list that don't support item heads, a 212561d06d6bSBaptiste Daroussin.Xr man 7 212661d06d6bSBaptiste Daroussin.Ic \&LP , 212761d06d6bSBaptiste Daroussin.Ic \&P , 212861d06d6bSBaptiste Daroussinor 212961d06d6bSBaptiste Daroussin.Ic \&PP 213061d06d6bSBaptiste Daroussinmacro, an 213161d06d6bSBaptiste Daroussin.Xr eqn 7 213261d06d6bSBaptiste Daroussin.Ic \&EQ 213361d06d6bSBaptiste Daroussinor 213461d06d6bSBaptiste Daroussin.Ic \&EN 213561d06d6bSBaptiste Daroussinmacro, or a 213661d06d6bSBaptiste Daroussin.Xr roff 7 213761d06d6bSBaptiste Daroussin.Ic \&br , 213861d06d6bSBaptiste Daroussin.Ic \&fi , 213961d06d6bSBaptiste Daroussinor 214061d06d6bSBaptiste Daroussin.Ic \&nf 214161d06d6bSBaptiste Daroussinrequest or 214261d06d6bSBaptiste Daroussin.Sq \&.. 214361d06d6bSBaptiste Daroussinblock closing request is invoked with at least one argument. 214461d06d6bSBaptiste DaroussinAll arguments are ignored. 214561d06d6bSBaptiste Daroussin.It Sy "skipping excess arguments" 214661d06d6bSBaptiste Daroussin.Pq mdoc , man , roff 214761d06d6bSBaptiste DaroussinA macro or request is invoked with too many arguments: 214861d06d6bSBaptiste Daroussin.Bl -dash -offset 2n -width 2n -compact 214961d06d6bSBaptiste Daroussin.It 215061d06d6bSBaptiste Daroussin.Ic \&Fo , 215161d06d6bSBaptiste Daroussin.Ic \&MT , 215261d06d6bSBaptiste Daroussin.Ic \&PD , 215361d06d6bSBaptiste Daroussin.Ic \&RS , 215461d06d6bSBaptiste Daroussin.Ic \&UR , 215561d06d6bSBaptiste Daroussin.Ic \&ft , 215661d06d6bSBaptiste Daroussinor 215761d06d6bSBaptiste Daroussin.Ic \&sp 215861d06d6bSBaptiste Daroussinwith more than one argument 215961d06d6bSBaptiste Daroussin.It 216061d06d6bSBaptiste Daroussin.Ic \&An 216161d06d6bSBaptiste Daroussinwith another argument after 216261d06d6bSBaptiste Daroussin.Fl split 216361d06d6bSBaptiste Daroussinor 216461d06d6bSBaptiste Daroussin.Fl nosplit 216561d06d6bSBaptiste Daroussin.It 216661d06d6bSBaptiste Daroussin.Ic \&RE 216761d06d6bSBaptiste Daroussinwith more than one argument or with a non-integer argument 216861d06d6bSBaptiste Daroussin.It 216961d06d6bSBaptiste Daroussin.Ic \&OP 217061d06d6bSBaptiste Daroussinor a request of the 217161d06d6bSBaptiste Daroussin.Ic \&de 217261d06d6bSBaptiste Daroussinfamily with more than two arguments 217361d06d6bSBaptiste Daroussin.It 217461d06d6bSBaptiste Daroussin.Ic \&Dt 217561d06d6bSBaptiste Daroussinwith more than three arguments 217661d06d6bSBaptiste Daroussin.It 217761d06d6bSBaptiste Daroussin.Ic \&TH 217861d06d6bSBaptiste Daroussinwith more than five arguments 217961d06d6bSBaptiste Daroussin.It 218061d06d6bSBaptiste Daroussin.Ic \&Bd , 218161d06d6bSBaptiste Daroussin.Ic \&Bk , 218261d06d6bSBaptiste Daroussinor 218361d06d6bSBaptiste Daroussin.Ic \&Bl 218461d06d6bSBaptiste Daroussinwith invalid arguments 218561d06d6bSBaptiste Daroussin.El 218661d06d6bSBaptiste DaroussinThe excess arguments are ignored. 218761d06d6bSBaptiste Daroussin.El 218861d06d6bSBaptiste Daroussin.Ss Unsupported features 218961d06d6bSBaptiste Daroussin.Bl -ohang 219061d06d6bSBaptiste Daroussin.It Sy "input too large" 219161d06d6bSBaptiste Daroussin.Pq mdoc , man 219261d06d6bSBaptiste DaroussinCurrently, 219361d06d6bSBaptiste Daroussin.Nm 219461d06d6bSBaptiste Daroussincannot handle input files larger than its arbitrary size limit 219561d06d6bSBaptiste Daroussinof 2^31 bytes (2 Gigabytes). 219661d06d6bSBaptiste DaroussinSince useful manuals are always small, this is not a problem in practice. 219761d06d6bSBaptiste DaroussinParsing is aborted as soon as the condition is detected. 219861d06d6bSBaptiste Daroussin.It Sy "unsupported control character" 219961d06d6bSBaptiste Daroussin.Pq roff 220061d06d6bSBaptiste DaroussinAn ASCII control character supported by other 220161d06d6bSBaptiste Daroussin.Xr roff 7 220261d06d6bSBaptiste Daroussinimplementations but not by 220361d06d6bSBaptiste Daroussin.Nm 220461d06d6bSBaptiste Daroussinwas found in an input file. 220561d06d6bSBaptiste DaroussinIt is replaced by a question mark. 2206*7295610fSBaptiste Daroussin.It Sy "unsupported escape sequence" 2207*7295610fSBaptiste Daroussin.Pq roff 2208*7295610fSBaptiste DaroussinAn input file contains an escape sequence supported by GNU troff 2209*7295610fSBaptiste Daroussinor Heirloom troff but not by 2210*7295610fSBaptiste Daroussin.Nm , 2211*7295610fSBaptiste Daroussinand it is likely that this will cause information loss 2212*7295610fSBaptiste Daroussinor considerable misformatting. 221361d06d6bSBaptiste Daroussin.It Sy "unsupported roff request" 221461d06d6bSBaptiste Daroussin.Pq roff 221561d06d6bSBaptiste DaroussinAn input file contains a 221661d06d6bSBaptiste Daroussin.Xr roff 7 221761d06d6bSBaptiste Daroussinrequest supported by GNU troff or Heirloom troff but not by 221861d06d6bSBaptiste Daroussin.Nm , 221961d06d6bSBaptiste Daroussinand it is likely that this will cause information loss 222061d06d6bSBaptiste Daroussinor considerable misformatting. 222161d06d6bSBaptiste Daroussin.It Sy "eqn delim option in tbl" 222261d06d6bSBaptiste Daroussin.Pq eqn , tbl 222361d06d6bSBaptiste DaroussinThe options line of a table defines equation delimiters. 222461d06d6bSBaptiste DaroussinAny equation source code contained in the table will be printed unformatted. 222561d06d6bSBaptiste Daroussin.It Sy "unsupported table layout modifier" 222661d06d6bSBaptiste Daroussin.Pq tbl 222761d06d6bSBaptiste DaroussinA table layout specification contains an 222861d06d6bSBaptiste Daroussin.Sq Cm m 222961d06d6bSBaptiste Daroussinmodifier. 223061d06d6bSBaptiste DaroussinThe modifier is discarded. 223161d06d6bSBaptiste Daroussin.It Sy "ignoring macro in table" 223261d06d6bSBaptiste Daroussin.Pq tbl , mdoc , man 223361d06d6bSBaptiste DaroussinA table contains an invocation of an 223461d06d6bSBaptiste Daroussin.Xr mdoc 7 223561d06d6bSBaptiste Daroussinor 223661d06d6bSBaptiste Daroussin.Xr man 7 223761d06d6bSBaptiste Daroussinmacro or of an undefined macro. 223861d06d6bSBaptiste DaroussinThe macro is ignored, and its arguments are handled 223961d06d6bSBaptiste Daroussinas if they were a text line. 224061d06d6bSBaptiste Daroussin.El 224161d06d6bSBaptiste Daroussin.Sh SEE ALSO 224261d06d6bSBaptiste Daroussin.Xr apropos 1 , 224361d06d6bSBaptiste Daroussin.Xr man 1 , 224461d06d6bSBaptiste Daroussin.Xr eqn 7 , 224561d06d6bSBaptiste Daroussin.Xr man 7 , 224661d06d6bSBaptiste Daroussin.Xr mandoc_char 7 , 224761d06d6bSBaptiste Daroussin.Xr mdoc 7 , 224861d06d6bSBaptiste Daroussin.Xr roff 7 , 224961d06d6bSBaptiste Daroussin.Xr tbl 7 225061d06d6bSBaptiste Daroussin.Sh HISTORY 225161d06d6bSBaptiste DaroussinThe 225261d06d6bSBaptiste Daroussin.Nm 225361d06d6bSBaptiste Daroussinutility first appeared in 225461d06d6bSBaptiste Daroussin.Ox 4.8 . 225561d06d6bSBaptiste DaroussinThe option 225661d06d6bSBaptiste Daroussin.Fl I 225761d06d6bSBaptiste Daroussinappeared in 225861d06d6bSBaptiste Daroussin.Ox 5.2 , 225961d06d6bSBaptiste Daroussinand 226061d06d6bSBaptiste Daroussin.Fl aCcfhKklMSsw 226161d06d6bSBaptiste Daroussinin 226261d06d6bSBaptiste Daroussin.Ox 5.7 . 226361d06d6bSBaptiste Daroussin.Sh AUTHORS 226461d06d6bSBaptiste Daroussin.An -nosplit 226561d06d6bSBaptiste DaroussinThe 226661d06d6bSBaptiste Daroussin.Nm 226761d06d6bSBaptiste Daroussinutility was written by 226861d06d6bSBaptiste Daroussin.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv 226961d06d6bSBaptiste Daroussinand is maintained by 227061d06d6bSBaptiste Daroussin.An Ingo Schwarze Aq Mt schwarze@openbsd.org . 2271