version 1.271, 2021/06/27 17:57:54 |
version 1.281, 2022/08/16 17:30:11 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2012-2020 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2012-2022 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
|
|
*/ |
*/ |
|
|
#define ASCII_NBRSP 31 /* non-breaking space */ |
#define ASCII_NBRSP 31 /* non-breaking space */ |
#define ASCII_HYPH 30 /* breakable hyphen */ |
#define ASCII_NBRZW 30 /* non-breaking zero-width space */ |
#define ASCII_BREAK 29 /* breakable zero-width space */ |
#define ASCII_BREAK 29 /* breakable zero-width space */ |
|
#define ASCII_HYPH 28 /* breakable hyphen */ |
|
#define ASCII_ESC 27 /* escape sequence from copy-in processing */ |
|
#define ASCII_TABREF 26 /* reset tab reference position */ |
|
|
/* |
/* |
* Status level. This refers to both internal status (i.e., whilst |
* Status level. This refers to both internal status (i.e., whilst |
Line 165 enum mandocerr { |
|
Line 168 enum mandocerr { |
|
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_CHAR_FONT, /* argument contains two font escapes */ |
MANDOCERR_CHAR_FONT, /* argument contains two font escapes */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
|
MANDOCERR_MC_DIST, /* ignoring distance argument: mc ... arg */ |
MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */ |
MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */ |
|
|
/* related to plain text */ |
/* related to plain text */ |
MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */ |
MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */ |
MANDOCERR_FI_TAB, /* tab in filled text */ |
MANDOCERR_FI_TAB, /* tab in filled text */ |
MANDOCERR_EOS, /* new sentence, new line */ |
MANDOCERR_EOS, /* new sentence, new line */ |
MANDOCERR_ESC_BAD, /* invalid escape sequence: esc */ |
MANDOCERR_ESC_ARG, /* invalid escape sequence argument: esc */ |
MANDOCERR_ESC_UNDEF, /* undefined escape, printing literally: char */ |
MANDOCERR_ESC_UNDEF, /* undefined escape, printing literally: char */ |
MANDOCERR_STR_UNDEF, /* undefined string, using "": name */ |
MANDOCERR_STR_UNDEF, /* undefined string, using "": name */ |
|
|
Line 215 enum mandocerr { |
|
Line 219 enum mandocerr { |
|
MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */ |
MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */ |
MANDOCERR_ARG_UNDEF, /* using macro argument outside macro */ |
MANDOCERR_ARG_UNDEF, /* using macro argument outside macro */ |
MANDOCERR_ARG_NONUM, /* argument number is not numeric */ |
MANDOCERR_ARG_NONUM, /* argument number is not numeric */ |
|
MANDOCERR_ARG_NEG, /* negative argument, using 0: request arg */ |
MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */ |
MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */ |
MANDOCERR_BD_NOARG, /* skipping display without arguments: Bd */ |
MANDOCERR_BD_NOARG, /* skipping display without arguments: Bd */ |
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */ |
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */ |
MANDOCERR_CE_NONUM, /* argument is not numeric, using 1: ce ... */ |
MANDOCERR_CE_NONUM, /* argument is not numeric, using 1: ce ... */ |
MANDOCERR_CHAR_ARG, /* argument is not a character: char ... */ |
MANDOCERR_CHAR_ARG, /* argument is not a character: char ... */ |
|
MANDOCERR_MC_ESC, /* skipping unusable escape sequence: mc arg */ |
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */ |
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */ |
MANDOCERR_OS_UNAME, /* uname(3) system call failed, using UNKNOWN */ |
MANDOCERR_OS_UNAME, /* uname(3) system call failed, using UNKNOWN */ |
MANDOCERR_ST_BAD, /* unknown standard specifier: St standard */ |
MANDOCERR_ST_BAD, /* unknown standard specifier: St standard */ |
Line 232 enum mandocerr { |
|
Line 238 enum mandocerr { |
|
MANDOCERR_ARG_EXCESS, /* skipping excess arguments: macro ... args */ |
MANDOCERR_ARG_EXCESS, /* skipping excess arguments: macro ... args */ |
MANDOCERR_DIVZERO, /* divide by zero */ |
MANDOCERR_DIVZERO, /* divide by zero */ |
|
|
|
/* related to escape sequences */ |
|
MANDOCERR_ESC_INCOMPLETE, /* incomplete escape sequence: esc */ |
|
MANDOCERR_ESC_BADCHAR, /* invalid special character: esc */ |
|
MANDOCERR_ESC_UNKCHAR, /* unknown special character: esc */ |
|
MANDOCERR_ESC_DELIM, /* invalid escape argument delimiter: esc */ |
|
|
MANDOCERR_UNSUPP, /* ===== start of unsupported features ===== */ |
MANDOCERR_UNSUPP, /* ===== start of unsupported features ===== */ |
|
|
MANDOCERR_TOOLARGE, /* input too large */ |
MANDOCERR_TOOLARGE, /* input too large */ |
Line 245 enum mandocerr { |
|
Line 257 enum mandocerr { |
|
MANDOCERR_TBLOPT_EQN, /* eqn delim option in tbl: arg */ |
MANDOCERR_TBLOPT_EQN, /* eqn delim option in tbl: arg */ |
MANDOCERR_TBLLAYOUT_MOD, /* unsupported tbl layout modifier: m */ |
MANDOCERR_TBLLAYOUT_MOD, /* unsupported tbl layout modifier: m */ |
MANDOCERR_TBLMACRO, /* ignoring macro in table: macro */ |
MANDOCERR_TBLMACRO, /* ignoring macro in table: macro */ |
|
MANDOCERR_TBL_TMAN, /* skipping tbl in -Tman mode */ |
|
MANDOCERR_EQN_TMAN, /* skipping eqn in -Tman mode */ |
|
|
MANDOCERR_BADARG, /* ===== start of bad invocations ===== */ |
MANDOCERR_BADARG, /* ===== start of bad invocations ===== */ |
|
|
Line 255 enum mandocerr { |
|
Line 269 enum mandocerr { |
|
MANDOCERR_BADVAL_BAD, /* bad argument value */ |
MANDOCERR_BADVAL_BAD, /* bad argument value */ |
MANDOCERR_BADVAL_DUPE, /* duplicate argument value */ |
MANDOCERR_BADVAL_DUPE, /* duplicate argument value */ |
MANDOCERR_TAG, /* no such tag */ |
MANDOCERR_TAG, /* no such tag */ |
|
MANDOCERR_MAN_TMARKDOWN, /* -Tmarkdown unsupported for man(7) input */ |
|
|
MANDOCERR_SYSERR, /* ===== start of system errors ===== */ |
MANDOCERR_SYSERR, /* ===== start of system errors ===== */ |
|
|
Line 279 enum mandocerr { |
|
Line 294 enum mandocerr { |
|
}; |
}; |
|
|
enum mandoc_esc { |
enum mandoc_esc { |
ESCAPE_ERROR = 0, /* bail! unparsable escape */ |
ESCAPE_EXPAND = 0, /* interpolation and iterative call needed */ |
ESCAPE_UNSUPP, /* unsupported escape; ignore it */ |
ESCAPE_ERROR, /* non-fatal error: unparsable escape */ |
ESCAPE_IGNORE, /* escape to be ignored */ |
ESCAPE_UNSUPP, /* unsupported escape: warn and ignore */ |
ESCAPE_UNDEF, /* undefined escape; print literal character */ |
ESCAPE_IGNORE, /* valid escape to be ignored */ |
ESCAPE_SPECIAL, /* a regular special character */ |
ESCAPE_UNDEF, /* undefined escape: print literal character */ |
|
ESCAPE_SPECIAL, /* special character escape */ |
ESCAPE_FONT, /* a generic font mode */ |
ESCAPE_FONT, /* a generic font mode */ |
ESCAPE_FONTBOLD, /* bold font mode */ |
ESCAPE_FONTBOLD, /* bold font mode */ |
ESCAPE_FONTITALIC, /* italic font mode */ |
ESCAPE_FONTITALIC, /* italic font mode */ |
ESCAPE_FONTBI, /* bold italic font mode */ |
ESCAPE_FONTBI, /* bold italic font mode */ |
ESCAPE_FONTROMAN, /* roman font mode */ |
ESCAPE_FONTROMAN, /* roman font mode */ |
ESCAPE_FONTCW, /* constant width font mode */ |
ESCAPE_FONTCR, /* constant width font mode */ |
|
ESCAPE_FONTCB, /* constant width bold font mode */ |
|
ESCAPE_FONTCI, /* constant width italic font mode */ |
ESCAPE_FONTPREV, /* previous font mode */ |
ESCAPE_FONTPREV, /* previous font mode */ |
ESCAPE_NUMBERED, /* a numbered glyph */ |
ESCAPE_NUMBERED, /* a numbered glyph */ |
ESCAPE_UNICODE, /* a unicode codepoint */ |
ESCAPE_UNICODE, /* a unicode codepoint */ |