summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* namespace cleanups:Ingo Schwarze2014-07-091-44/+47
| | | | | | | | | | CGI variable: s/CACHE_DIR/MAN_DIR/ because it's static, not a cache default MAN_DIR: /cache/man.cgi/ -> /man/ see above global variable: s/cache/mandir/ see above global variable: s/css/cssdir/ for consistency with mandir global variable: s/host/httphost/ for consistency with HTTP_HOST global variable: s/progname/scriptname/ for consistency with SCRIPT_NAME struct query: member s/manroot/manpath/ for consistency with QUERY_STRING
* remove obsolete __sun includesIngo Schwarze2014-07-091-9/+2
| | | | and improve some whitespace and comments
* set a reasonable default for .OsIngo Schwarze2014-07-091-1/+2
|
* mark defos as const; nobody needs to change it,Ingo Schwarze2014-07-095-6/+8
| | | | and it is occasionally useful to be able to pass literal strings
* delete forgotten, obsolete rew_warn() prototypeIngo Schwarze2014-07-091-2/+0
|
* oops, forgot to trim the newline characterIngo Schwarze2014-07-091-0/+2
|
* Simplify pathgen() even more.Ingo Schwarze2014-07-091-27/+13
| | | | | | Let manpath.conf be a plain text list of the directories to use. As a bonus, this makes the order configurable. Get rid of <dirent.h>, opendir(3), readdir(3), stat(2).
* include manpath= when printing queries, and omit empty parametersIngo Schwarze2014-07-091-12/+32
|
* This one needs "config.h", too.Ingo Schwarze2014-07-091-0/+4
|
* Switch over man.cgi to SQLite. While here:Ingo Schwarze2014-07-092-377/+100
| | | | | | | * Simplify pathgen(), just use the subdirs of the cache dir. * Simplify URI paths, just use show/<manpath>/<filename>. * Drop struct paths, just use plain strings. * Garbage collect unused headers.
* Clean up ERROR messages related to document structure and macros:Ingo Schwarze2014-07-077-40/+59
| | | | Hierarchical naming and mention macro names in messages.
* Simplify man_unscope(), removing 18 lines of code, that is,Ingo Schwarze2014-07-073-50/+25
| | | | | | removing one function argument, one function definition, three function invocations and two pointless assert()s. No functional change.
* no need to delete any content from .Rs blocks,Ingo Schwarze2014-07-073-36/+13
| | | | and downgrade the related message from ERROR to WARNING
* no need to skip content before first section headerIngo Schwarze2014-07-074-24/+4
|
* implement .dei and .amiIngo Schwarze2014-07-074-46/+67
|
* Clean up messages related to plain text and to escape sequences.Ingo Schwarze2014-07-0610-40/+55
| | | | | * Mention invalid escape sequences and string names, and fallbacks. * Hierarchical naming.
* After skipping an escape sequence with incomplete arguments,Ingo Schwarze2014-07-061-2/+2
| | | | do not throw away the rest of the string to be rendered.
* Fix expansion of escape sequences with incomplete arguments.Ingo Schwarze2014-07-061-7/+14
| | | | | | * For \* and \n, discard the incomplete arg, expand to empty string. * For \B, discard the incomplete arg, expand to the digit 0. * For \w, use the incomplete arg (behaviour unchanged).
* Fix handling of escape sequences taking numeric arguments.Ingo Schwarze2014-07-061-1/+3
| | | | | | | * Repair detection of invalid delimiters. * Discard the invalid delimiter together with the invalid sequence. Note to self: In general, strchr("\0...", c) is a thoroughly bad idea.
* Cleanup with respect to bad macro arguments.Ingo Schwarze2014-07-054-73/+76
| | | | | | | | * Fix .Sm with invalid arg: move arg out and toggle mode. * Promote "unknown standard" from WARNING to ERROR, it loses information. * Delete MANDOCERR_BADWIDTH, it would only indicate a mandoc(1) bug. * Do not report MANDOCERR_BL_LATETYPE when there is no type at all. * Mention macro names, arguments and fallbacks.
* Cleanup regarding -offset and -width:Ingo Schwarze2014-07-053-56/+54
| | | | | | | * Bugfix: Last one wins, not first one. * Fix .Bl -width without argument: it means 0n, so do not ignore it. * Report macro names, argument names and fallbacks in related messages. * Simplify: Garbage collect auxiliary variables in pre_bd() and pre_bl().
* Clean up messages regarding excess arguments:Ingo Schwarze2014-07-048-42/+57
| | | | | | * Downgrade ".Bf -emphasis Em" from FATAL to WARNING. * Mention the macros, the arguments, and the fallbacks. * Hierarchical naming.
* Clean up messages related to missing arguments.Ingo Schwarze2014-07-043-31/+26
| | | | | | | | | * Do not warn about empty -column cells, they seem valid to me. * Downgrade empty item and missing -std from ERROR to WARNING. * Hierarchical naming. * Descriptive, not imperative style. * Mention macro names, argument names, and fallbacks. * Garbage collect some unreachable code in post_it().
* Fix formatting of empty .Bl -inset item heads.Ingo Schwarze2014-07-034-27/+25
| | | | | | Downgrade empty item heads from ERROR to WARNING. Show the list type in the error message. Choose better variable names for nodes in post_it().
* MANDOCERR_NOARGS reported three completely unrelated classes of problems.Ingo Schwarze2014-07-033-3/+9
| | | | Split the roff(7) parts out of it and report the request names for these cases.
* Improve and test the messages about empty macros,Ingo Schwarze2014-07-023-5/+9
| | | | in particular reporting the macro names involved.
* When .Sm is called without an argument, groff toggles the spacing mode,Ingo Schwarze2014-07-024-25/+26
| | | | | so let us do the same for compatibility. Using this feature is of course not recommended except in manual page obfuscation contests.
* Disentangle the MANDOCERR_CHILD message, which reported threeIngo Schwarze2014-07-023-5/+13
| | | | | completely different things, into three distinct messages. Also mention the macro names we are talking about.
* Clean up warnings related to macros and nesting.Ingo Schwarze2014-07-025-25/+18
| | | | | | | * Hierarchical naming of enum mandocerr items. * Improve the wording to make it comprehensible. * Mention the offending macro. * Garbage collect one chunk of ancient, long unreachable code.
* Fix the column numbers associated with in_line_argn() macros;Ingo Schwarze2014-07-021-2/+2
| | | | | this bug is more than four years old, introduced by kristaps@ in mdocml.bsd.lv rev. 1.46, March 30, 2010.
* Change column display in -Ttree to be 1-based instead of 0-basedIngo Schwarze2014-07-021-3/+3
| | | | such that column numbers agree between messages and -Ttree.
* Improve "skipping paragraph macro" messages,Ingo Schwarze2014-07-023-18/+40
| | | | showing which macro was skipped and before or after what.
* Implement the obsolete macros .En .Es .Fr .Ot for backward compatibility,Ingo Schwarze2014-07-0212-55/+173
| | | | | since this is hardly more complicated than explicitly ignoring them as we did in the past. Of course, do not use them!
* Clean up the warnings related to document structure.Ingo Schwarze2014-07-016-57/+81
| | | | | | | | | * Hierarchical naming of the related enum mandocerr items. * Mention the offending macro, section title, or string. While here, improve some wordings: * Descriptive instead of imperative style. * Uniform style for "missing" and "skipping". * Where applicable, mention the fallback used.
* The previous commit to this file broke the control flow keywords \{ and \}Ingo Schwarze2014-07-011-1/+3
| | | | | | | | when they immediately follow a request or macro name, without intervening whitespace. Minimal fix. The lesson learnt here is that, despite their appearance, \{ and \} are not escape sequences, so never skip them when parsing for names.
* garbage collect two unused enum mandocerr itemsIngo Schwarze2014-06-302-13/+5
| | | | and fix a couple of comments while here
* Use the freshly improved roff_getname() functionIngo Schwarze2014-06-291-16/+15
| | | | | | | | for the main roff request parsing routine, roff_parse(). In request or macro invocations, escape sequences now terminate the request or macro name; what follows is treated as arguments. Besides, the names of user-defined macros can now contain backslashes (eek!).
* Use the freshly improved roff_getname() functionIngo Schwarze2014-06-291-38/+18
| | | | | | for the .de parsing routine, roff_block(), to correctly handle names terminated by escape sequences. Besides, this saves us 20 lines of code.
* Major roff_getname() cleanup.Ingo Schwarze2014-06-291-35/+51
| | | | | | | | | * Return the name even if it is terminated by an escape sequence, not a blank. * Skip the full escape sequence using mandoc_escape(), not just the first byte. * Make it non-destructive, return the length instead of writing a '\0'. * Let .ds and .as cope with the above changes to the internal interface. * Fix .rm and .rr to accept an escape sequence as the end of a name. * Fix .nr and .rr to not set/delete a register with an empty name.
* Bugfix in roff_setstrn():Ingo Schwarze2014-06-291-1/+2
| | | | Do not call strcmp() on an array of char that might not be NUL-terminated.
* Improve messages related to the roff(7) .so request.Ingo Schwarze2014-06-253-5/+12
| | | | | | | | | | | | | In all these messages, show the filename argument that was passed to the .so request. In case of failure, show an additional message reporting the file and the line number where the failing request was found. The existing message reporting the reason for the failure - for example, "Permission denied" - is left in place, unchanged. Inspired by a question asked by Nick@ after he saw the confusing old messages that used to be emitted in this area.
* Deprecate .Tn and .Ux, and make it clearer that .Bt and .Ud are deprecated.Ingo Schwarze2014-06-241-46/+22
| | | | | | | | | Do not use these macros in new documents, they provide no value. Instead, usually no macro and no markup is needed at all. Of course, they remain supported for compatibility with existing manuals. Jason McIntyre (OpenBSD), Thomas Klausner (NetBSD) and Franco Fichtner (DragonFly) are OK with this documentation change.
* Below DIAGNOSTICS, document the SYSERR message level;Ingo Schwarze2014-06-231-3/+5
| | | | jmc@ wondered what it meant and agrees with this patch.
* Minimal COMPATIBILITY cleanup:Ingo Schwarze2014-06-221-34/+5
| | | | | | | | * Mention that the list is incomplete. * I implemented %C for groff -current, and it was accepted. * Font family is \F, not \f. * Escapes and scaling widths are documented in roff(7), not here. * Quoting quotes by doubling them is now supported.
* Minimal cleanup of the COMPATIBILITY section:Ingo Schwarze2014-06-221-38/+9
| | | | | | | | | | * Mention that the list is incomplete. * Quoting quotes by doubling them is documented in the Ossanna/Kernighan/Ritter Nroff/Troff User's Manual, Section 7.3. * Our roff(7) manual documents handling of escape sequences; besides, we partially support \w and \z now. * Scaling widths are documented in roff(7) as well, and f is not \f. * Negative arguments to .sp are handled now.
* Reduce the verbosity of error messages caused by open(2) failures.Ingo Schwarze2014-06-212-3/+6
| | | | Suggested by and ok jmc@.
* Prefix messages about bad command line options and argumentsIngo Schwarze2014-06-212-10/+17
| | | | | with "mandoc: " or "makewhatis: ", respectively, similar to what we already do for other messages.
* As suggested by jmc@, only include line and column numbers into messagesIngo Schwarze2014-06-208-30/+42
| | | | | | | | | | | | | | when they are meaningful, to avoid confusing stuff like this: $ mandoc /dev/null mandoc: /dev/null:0:1: FATAL: not a manual Instead, just say: mandoc: /dev/null: FATAL: not a manual Another example this applies to is documents having a prologue, but lacking a body. Do not throw a FATAL error for these; instead, issue a WARNING and show the empty document, in the man(7) case with the same amount of blank lines as groff does. Also downgrade mdoc(7) documents having content before the first .Sh from FATAL to WARNING.
* Start systematic improvements of error reporting.Ingo Schwarze2014-06-206-27/+34
| | | | | | | | | | | So far, this covers all WARNINGs related to the prologue. 1) hierarchical naming of MANDOCERR_* constants 2) mention the macro name in messages where that adds clarity 3) add one missing MANDOCERR_DATE_MISSING msg 4) fix the wording of one message related to the man(7) prologue Started on the plane back from Ottawa.
* Prefix error messages from mandoc(1) with "mandoc: "Ingo Schwarze2014-06-201-1/+2
| | | | | | | just like almost all other utility programs do. Suggested by nick@ who wondered where messages came from when calling mandoc(1) from inside a Perl script. ok jmc@ nick@