summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix possible segfaults in `Lk' -T[x]html handler, which made someKristaps Dzonsons2011-04-042-10/+12
| | | | | assumptions about its children. Also remove superfluous reassignment to local variable.
* Clean-up in -T[x]html: remove some unnecessary assignments to localKristaps Dzonsons2011-04-041-22/+20
| | | | variables.
* Clean up handling of `In' for -T[x]html such that it only links to theKristaps Dzonsons2011-04-041-11/+28
| | | | | first argument. groff of course doesn't do links, but it will uglify subsequent arguments in the list (we warn about >1, anyway).
* Add manual page for mandoc-db (mostly to document the file format ofKristaps Dzonsons2011-04-042-16/+149
| | | | | the generated index and keyword databases). Add some documentation within mandoc-db.c.
* Have mandoc-db create an recno-addressed index of files alongside theKristaps Dzonsons2011-04-031-59/+83
| | | | keyword database, which references the index of hard-coding files.
* Have mandoc-db use config.h for strlcat(). Then create the btreeKristaps Dzonsons2011-04-032-32/+40
| | | | | | database from a directory, instead of a path. This is because it'll also output an index of files to that same directory. Add documentation to the local variable names, too.
* If wlevel in mparse_alloc() is greater than MANDOCLEVEL_FATAL, we'llKristaps Dzonsons2011-04-031-0/+2
| | | | | | throw assertions due to per-file-error not being properly set in mmsg(). This is reasonable behaviour (we shouldn't be able to ignore FATAL after all). Thus, make sure wlevel is sanitised.
* Allow mparse_result() pointers to be NULL.Kristaps Dzonsons2011-04-031-2/+4
|
* Make uname have its return value checked for -1 (POSIX style), notKristaps Dzonsons2011-04-031-1/+1
| | | | non-zero. From a PR by Yuri Pankov, ok schwarze@.
* Add an initial keyword-indexer as an alternative front-end to libmandoc.a.Kristaps Dzonsons2011-04-022-0/+650
| | | | | | | | | | | | | | This will be used during BSDCan-2011, paired with a web front-end, as a demonstrandum of semantic annotations (mdoc) versus those of man. This isn't linked to the build in any way but for cleaning created files. This code has been heavily tested under valgrind and is known to work on GNU/Linux (needs -ldb library), all BSDs, and Mac OSX. Please don't repost this, for the time being, as I don't want to spoil the fun for the conference. This utility is still constantly under development (e.g., it will also generate a recno database of filenames and `Nd' output so that paths needn't be hard-coded) but is mature enough to warrant being checked in.
* In reality `In' only accepts one argument. Subsequent ones are notKristaps Dzonsons2011-04-011-1/+1
| | | | | included in the brackets. We really should have a warning about this, but that'll wait for another day.
* Properly quote arguments in `Fn' documentation. Also make standaloneKristaps Dzonsons2011-04-011-3/+3
| | | | '...' have a properly-escaped initial dot.
* Allow a NULL mmsg passed to libmandoc.Kristaps Dzonsons2011-03-311-1/+2
|
* Make -Werr be -Wlevel, keeping it in sync with mandoc.1. Noted byKristaps Dzonsons2011-03-311-1/+1
| | | | Alexander Schrijver---thanks!
* naddy@ reports rsync(1)Ingo Schwarze2011-03-301-0/+48
|
* Add lint target to Makefile.Kristaps Dzonsons2011-03-291-16/+73
|
* Getting ready for next [minor-number] release.Kristaps Dzonsons2011-03-291-0/+21
|
* Carefully let mandoc_getcontrol() handle libroff's detection of a macroKristaps Dzonsons2011-03-292-34/+21
| | | | | | | | | line. Note that we now properly ignore \.", which earlier would have been pushed through macro detection. This required attention to all entries of roff_parse(). This removes a TODO by schwarze@ to the effect that \. can be a control character, which is now handled in mandoc_getcontrol().
* Make libman use mandoc_getcontrol() for real this time.Kristaps Dzonsons2011-03-291-46/+22
|
* Have libman and libmdoc use mandoc_getcontrol() to determine whether aKristaps Dzonsons2011-03-283-41/+50
| | | | macro has been invoked. libroff is next.
* Put mandocerrs and mandoclevels arrays into libmandoc with accessorsKristaps Dzonsons2011-03-285-121/+147
| | | | mparse_strerror() and mparse_strlevel().
* new: \. at the beginning of a lineIngo Schwarze2011-03-231-5/+6
| | | | partially done: date cleanup
* As per joerg@'s suggestion, use const arrays when looking up mdoc argvs.Kristaps Dzonsons2011-03-231-37/+68
|
* Merge man_args() into man_macro.c, the only place where it's called, andKristaps Dzonsons2011-03-234-54/+20
| | | | | | make its return value boolean (we don't care about QWORD). We can move it into mdoc_macro.c because it's basically just a wrapper around mandoc_getarg(). Then blow away man_argv.c, which is left empty.
* First, make -man ARGS_EOLN et al. be an enum. Second, removeKristaps Dzonsons2011-03-233-29/+15
| | | | | ARGS_ERROR, as it is never returned by man_args(). Then clean up invocations of man_args() to only check for ARGS_EOLN.
* Add MAN_TAIL, which will be used by `UE' (forthcoming) and needs to beKristaps Dzonsons2011-03-234-0/+25
| | | | used for `RE'.
* Fix "libman" dependence.Kristaps Dzonsons2011-03-231-1/+1
|
* Make (e.g.) `SM' before `B' be only a warning. In reality, this refersKristaps Dzonsons2011-03-233-8/+2
| | | | | | | to ELINE macros ("next-line", but not unbreakable like the next-line paragraph macros) followed by other macros. This addresses a report by Christian Weisgerber, posted in the TODO by schwarze@, and aired on discuss@ (22/03/2011) for whether a fix is warranted.
* Make empty sections and parts (SH, SS, RS) only produce a warning if itKristaps Dzonsons2011-03-223-7/+5
| | | | has no children. Noted by Brad, added to TODO by schwarze@.
* libmdoc.h and libman.h were including mdoc.h and man.h, respectively.Kristaps Dzonsons2011-03-2218-5/+16
| | | | | Don't have them do that (includes in header files = faugh), and have individual files directly include these files.
* mdoc_argn_free is only used local to mdoc_argv.c, so make it static.Kristaps Dzonsons2011-03-222-4/+4
|
* Move mandoc_isdelim() back into libmdoc.h. This fixes an unreportedKristaps Dzonsons2011-03-2212-130/+172
| | | | | | | | | error where (1) -man pages were punctuating delimiters (e.g., `.B a ;') and where (2) standalone punctuation in -mdoc or -man (e.g., ";" on its own line) would also be punctuated. This introduces a small amount of complexity of mdoc_{html,term}.c must manage their own spacing with running print_word() or print_text(). The check for delimiting now happens in mdoc_macro.c's dword().
* Add some documentation and clean up mdoc.h/man.h.Kristaps Dzonsons2011-03-222-132/+76
|
* Have the default include/lib install path end with "mandoc" to preventKristaps Dzonsons2011-03-221-4/+4
| | | | clobbering other stuff that may have the same name.
* Note the TODO file on the website. Also install index.html (oops).Kristaps Dzonsons2011-03-222-4/+8
|
* Add a FATAL error for when no manual type was assigned (you can repeatKristaps Dzonsons2011-03-223-7/+4
| | | | this for yourself by having a file consisting only of comments).
* Be a bit more specific on where we compile. Are there any ANSI-CKristaps Dzonsons2011-03-221-2/+2
| | | | | compilers where we don't compile? I'm pretty sure that mmap() is non-standard (we'll fail, e.g., on mingw32).
* As mentioned: ChangeLog isn't being built any more.Kristaps Dzonsons2011-03-221-43/+0
|
* Step 5: re-write Makefile and relax. This restructures the Makefile toKristaps Dzonsons2011-03-221-315/+277
| | | | | | | | do actual dependency checking for headers and to build everything nicer (www properly depends on mandoc, etc.). Note that the ChangeLog isn't being built any more: if people are interested, they can visit the source-changes mailing list archive.
* Step 4: merge chars.h into out.h. The functions in this file areKristaps Dzonsons2011-03-228-78/+49
| | | | | necessary to all [real] front-ends, so stop pretending it's special. While here, add some documentation to the variable types.
* Step 3: consolidate manuals. The parse functions in mdoc.h, roff.h, andKristaps Dzonsons2011-03-227-875/+365
| | | | | | | | man.h are now part of libmandoc.h, so remove these from their respective manuals (they're no longer public-facing and we don't need a libmandoc.3 (yet?)). Before that, move the juicy data (parse tree syntax) into new-born mandoc.3. Peck around in Makefile and index.sgml to reflect reality.
* Step 2: blow away roff.h, as all of its functions have been moved intoKristaps Dzonsons2011-03-224-29/+3
| | | | libmandoc.h and there's nothing left.
* Step 1 of restructuring: libmandoc.h. Move all compiler-set-specificKristaps Dzonsons2011-03-227-89/+89
| | | | | | | | | | stuff into libmandoc.h, including old mdoc.h/man.h/roff.h functions now used by read.c. The motivation behind this is to tighten the relationship between the underlying compilers while keeping parse data hidden from general callers (e.g., main.c). While here, also move register values from mandoc.h into libmandoc.h as noted by schwarze@. See above for explanation.
* main.c doesn't need roff.h anymore.Kristaps Dzonsons2011-03-211-1/+0
|
* Let read.c worry about the currently-open file instead of having thisKristaps Dzonsons2011-03-203-37/+3
| | | | | | information duplicated in main.c. For the time being, remove evt_close and evt_open, as the only known mparse interface (main.c) doesn't need them.
* Consolidate messages. Have all parse-time messages (in libmdoc,Kristaps Dzonsons2011-03-2023-225/+225
| | | | | | | | | libroff, etc., etc.) route into mandoc_msg() and mandoc_vmsg(), for the time being in libmandoc.h. This requires struct mparse to be passed into the allocation routines instead of mandocmsg and a void pointer. Then, move some of the functionality of the old mmsg() into read.c's mparse_mmsg() (check against wlevel and setting of file_status) and use main.c's mmsg() as simply a printing tool.
* Change around include ordering for compilation on OpenBSD.Kristaps Dzonsons2011-03-201-1/+1
|
* Split the document parsing sequence out of main.c and into read.c,Kristaps Dzonsons2011-03-204-608/+709
| | | | | | | | putting the interface into mandoc.h. This effectively makes the function of main.c be command-line handling, invoking the parser, and sending its output to the output handler. The sequence of parsing (pfile(), pdesc(), etc.) has changed very little but for clean-up of some state variables (curp->fd, etc.).
* Bumped internal version. There will be no formal release with this: itKristaps Dzonsons2011-03-201-2/+2
| | | | | precedes some major structural changes for easier roll-back in the case of errors or whatnot.
* .RS w/o line args is not seriousVERSION.1.10.10Ingo Schwarze2011-03-191-0/+4
|