summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Parse and ignore .hw (hyphenation points in words); this is safe becauseIngo Schwarze2013-10-222-0/+5
| | | | | | we don't do hyphenation anyway, so there is no point in throwing an ERROR when encountering .hw. Real-world usage of the request found by naddy@ in sysutils/dwdiff(1).
* There are three kinds of input lines: text lines, macros takingIngo Schwarze2013-10-214-103/+171
| | | | | | | | | | | | | | | positional arguments (like Dt Fn Xr) and macros taking text as arguments (like Nd Sh Em %T An). In the past, even the latter put each word of their arguments into its own MDOC_TEXT node; instead, concatenate arguments unless delimiters, keeps or spacing mode prevent that. Regarding mandoc(1), this is internal refactoring, no output change intended. Regarding mandocdb(8), this fixes yet another regression introduced when switching from DB to SQLite: The ability to search for strings crossing word boundaries was lost and is hereby restored. At the same time, database sizes and build times are both reduced by a bit more than 5% each.
* Fix another regression introduced when switching from DB to SQLite:Ingo Schwarze2013-10-201-28/+71
| | | | The ~ operator has to do regular expression search, not globbing.
* Fix a regression introduced when switching from DB to SQLite:Ingo Schwarze2013-10-191-5/+33
| | | | The = operator has to do substring search, not word search.
* Fix an assertion in dbindex(): Null strings are never entered into theIngo Schwarze2013-10-181-1/+1
| | | | string table. Fortunately, they never need UTF-8 translation either.
* Manuals to be checked with "mandocdb -t" need not be in the currentIngo Schwarze2013-10-181-1/+1
| | | | directory or one of its subdirectories.
* Implement the .UR/.UE block (uniform resource identifier) introduced in theIngo Schwarze2013-10-176-2/+83
| | | | | | | | man-ext macros by Eric S. Raymond, enabled by default in groff_man(7). Usual disclaimer: You don't write new man(7) code, so you are not going to use these, either. Improves e.g. the bzr(1) and etherape(1) manuals. Thanks to naddy@ for bringing these to my attention.
* Parse and ignore the .fam (font family) request.Ingo Schwarze2013-10-142-0/+8
| | | | | Fixes irunner(1) in devel/ipython and uim-xim(1) in inputmethods/uim. Thanks to naddy@ for bringing these to my attention.
* merge from VERSION_1_12: new section about mandoc history, with linksIngo Schwarze2013-10-131-3/+30
|
* mention the three unreleased versions since 1.10.3Ingo Schwarze2013-10-131-13/+24
|
* add libppath; Thomas Klausner, NetBSD rev. 1.4, Aug 29, 2011Ingo Schwarze2013-10-131-0/+1
|
* add libefi and simplify some namesIngo Schwarze2013-10-131-2/+3
| | | | | from FreeBSD ports SVN rev. 293734, Ulrich Spoerlein March 24, 2012 in case of conflicts with NetBSD, i keep the simpler NetBSD names
* sync SUSv2/SUSv3 entries with groffIngo Schwarze2013-10-131-2/+2
| | | | | | reduces groff-mandoc-differences for several pthread_*(3) manuals noticed by Franco Fichtner <franco at lastsummer dot de> dragonfly.git/commitdiff/370c546b87777b40b5fc862491555ef71b4ee130
* more DragonFly libraries; Franco Fichtner <franco at lastsummer dot de>Ingo Schwarze2013-10-131-0/+13
| | | | dragonfly.git/commit/107cb94cae2c24ce3f6851ce0ed24b80d64e3ec8
* Thomas Klausner <wiz at NetBSD dot org> finally succeeded to buildIngo Schwarze2013-10-111-4/+35
| | | | on SmartOS and sent these additional patches, thanks!
* merge from VERSION_1_12:Ingo Schwarze2013-10-101-5/+20
| | | | | link supplementary information on mandoc and Alpine Linux port was upgraded to 1.12.2
* Printf size_t vars with %zu, not %ld;Ingo Schwarze2013-10-071-4/+4
| | | | | from Antonio Huete Jimenez <tuxillo at quantumachine dot net> via Franco Fichtner (both DragonFly).
* Put VERSION into config.h.Ingo Schwarze2013-10-061-1/+2
| | | | | | This makes life easier for downstream maintainers having more than one Makefile, for example DragonFly and FreeBSD. Suggested by Franco Fichtner <franco at lastsummer dot de>.
* We don't do hyphenation, but we allow breaking the line at hyphens that areIngo Schwarze2013-10-061-19/+61
| | | | | | | | | | | | already there in the middle of words. So far, we only allowed this on text lines. Now it turns out some macros allow this for their arguments, too, in particular .Nd and most of the .%? citation macros. Issue found by Franco Fichtner <franco at lastsummer dot de> while doing systematic groff-mandoc comparisons in the DragonFly base system, THANKS! While here, garbage collect two empty prevalidator function pointer lists and sort a couple of function declarations.
* Franco Fichtner moved DragonFly to 1.12.2.Ingo Schwarze2013-10-061-1/+1
|
* The .Lb arguments wants a "lib" prefix;Ingo Schwarze2013-10-062-2/+2
| | | | | from Sascha Wildner via Franco Fichtner (DragonFly); also fixing the same in the mdoc(7) example while i'm about it.
* If there is random stuff inside a .Bl block body before the first .It,Ingo Schwarze2013-10-062-26/+59
| | | | | | | | | | | do not throw a FATAL error and do not die, but just throw a WARNING and move the stuff out of the .Bl block. This bug felt completely 2008-ish; meanwhile, such bugs from the Kristaps-doesnt-like-syntax-errors-so-lets-just-give-up--Era are becoming rare, but this was one of the last survivors. Thanks to bentley@ for reminding me to finally fix this.
* Support simple numerical conditions.Ingo Schwarze2013-10-051-3/+91
| | | | | | | | | | | Original code from Christos Zoulas, NetBSD rev. 1.11-1.13, April 3, 2013. I tweaked the code as follows: * In roff_getnum(), don't skip a minus that isn't followed by a digit. * In roff_getop(), do not handle "!=", groff doesn't support it either. * In roff_evalcond(), treat negative numbers as false, like groff. Besides, make the interfaces of roff_getnum() and roff_getop() more similar to each other and simplify parts of the code a bit.
* ROFFRULE_ALLOW = 0, ROFFRULE_DENY = 1 was confusing,Ingo Schwarze2013-10-051-2/+2
| | | | | so exchange the two entries in enum roffrule; no functional change; from Christos Zoulas, NetBSD rev. 1.11, April 4, 2013.
* Avoid code duplication in roff_parseln() as suggested byIngo Schwarze2013-10-051-10/+5
| | | | | | Christos Zoulas in NetBSD rev. 1.11; i'm even going a step further and making this yet a bit shorter. No functional change.
* Expand references to number registers in exactly the same way asIngo Schwarze2013-10-052-33/+54
| | | | | | | | | | references to user-defined strings. While here, make number registers signed int, like in groff. Inspired by NetBSD roff.c rev. 1.8 and read.c rev. 1.7 written by Christos Zoulas on March 21, 2013, but implemented in a completely different way, without hacking into read.c, where this functionality really doesn't belong.
* Support setting arbitrary roff(7) number registers,Ingo Schwarze2013-10-054-46/+69
| | | | | | | | | | | | | | preserving read support for the ".nr nS" SYNOPSIS state register. Inspired by NetBSD roff.c rev. 1.18 (Christos Zoulas, March 21, 2013), but implemented differently. I don't want to have yet another different implementation of a hash table in mandoc - it would be the second one in roff.c alone and the fifth one in mandoc grand total. Instead, i designed and implemented roff_setreg() and roff_getreg() to be similar to roff_setstrn() and roff_getstrn(). Once we feel the need to optimize, we can introduce one common hash table implementation for everything in mandoc.
* sync with NetBSDIngo Schwarze2013-10-051-3/+9
|
* merge from VERSION_1_12: do not complain about unused variables in test-*.cIngo Schwarze2013-10-051-7/+7
|
* Cleanup suggested by gcc-4.8.1, following hints by Christos Zoulas:Ingo Schwarze2013-10-055-8/+6
| | | | | | | | - avoid bad qualifier casting in roff.c, roff_parsetext() by changing the mandoc_escape arguments to "const char const **" - avoid bad qualifier casting in mandocdb.c, index_merge() - do not complain about unused variables in test-*.c - garbage collect a few unused variables elsewhere
* Merge from VERSION_1_12, in particular release date, pkgsrc port version,Ingo Schwarze2013-10-052-5/+14
| | | | link to NEWS file, link to Alpine Linux, and fix one FreeBSD link.
* Release version 1.12.2. This is no longer beta.Ingo Schwarze2013-10-051-1/+2
| | | | Sneak in a downstream link to Alpine Linux.
* Merge from branch VERSION_1_12:Ingo Schwarze2013-10-021-19/+99
| | | | | | | | - mention that groff is GPL version 3 - link the new tbl.3.html - list FreeBSD base version of mandoc - document downstream versions - copy the version 1.12.2 News
* Merge from branch VERSION_1_12:Ingo Schwarze2013-10-021-9/+17
| | | | | | | | | - add the new SCRS files NEWS and gmdiff - add tbl.3 to SRCS, INDEX_MANS, and install - bring back the SCRS files apropos.{c,1} that somehow got lost - bring back the INDEX_MANS apropos.1.html that also got lost - update VERSION, VDATE, and OSNAME - improve comment regarding STATIC
* Merge the relevant parts from the VERSION_1_12 branch:Ingo Schwarze2013-10-012-6/+38
| | | | | - change mandocdb.db to mandoc.db - add HISTORY to mandocdb(8)
* New file suggested by Thomas Klausner <wiz at netbsd dot org>.Ingo Schwarze2013-10-011-0/+330
|
* Maybe we can easily improve -width parsing.Ingo Schwarze2013-09-271-0/+3
|
* Throwing FATAL MANDOCERR_SYNTCHILD on non-.It children of .BlIngo Schwarze2013-09-221-1/+7
| | | | | feels so 2008-ish, one of the last remnants of the Kristaps-doesnt-like-syntax-errors-so-lets-just-give-up--Era.
* DocBook abuses \h - for no good reason, but maybe we should eventuallyIngo Schwarze2013-09-221-0/+5
| | | | try to deal with it.
* use the .Bx macro; from Jan Stary via jmc@Ingo Schwarze2013-09-161-1/+2
|
* two improvements in the SYNOPSIS;Ingo Schwarze2013-09-161-2/+1
| | | | from Sascha Wildner <swildner at gmail dot com> (DragonFly)
* Drop .Ud remark, it has started to slowly turn into a lie.Ingo Schwarze2013-09-161-7/+0
|
* Beagle has been replaced by armv7; from patrick@.Ingo Schwarze2013-09-161-1/+1
|
* One of the WARNING messages has to use the word "section" twice in twoIngo Schwarze2013-09-163-3/+4
| | | | | | | | | | different meanings, that cannot be helped. But we can make this less confusing by stating that the second instance refers to stuff like (2), (3), and (9), and by adding the sections header the first instance refers to, for example ERRORS or RETURN VALUES. Source for confusion noticed by Jan Stary <hans at stare dot cz>, better wording suggested by jmc@, tweaked by me.
* Use normal line macro recognition, do not attempt to roll your own.Ingo Schwarze2013-09-151-3/+2
| | | | | This fixes horizontal spacing when an Ns macro follows a block-closing macro and the corresponding block-opening macro is not on the same line.
* Block closing macros do not allocate a new node but finish an existingIngo Schwarze2013-09-151-0/+3
| | | | | | | | | | one, so they miss the clearing of MDOC_NEWLINE in mdoc.c, node_alloc(). Consequently, MDOC_NEWLINE must be cleared before processing the next macro on the same line. This fixes horizontal spacing for input lines beginning like .Oc Ns ... Issue found by Franco Fichtner <franco at lastsummer dot de> while working on DragonFly mandoc integration.
* For some mdoc(7) macros, it is (unfortunately) semantically significantIngo Schwarze2013-09-151-2/+5
| | | | | | whether they are the first macro on the line or called by another macro. To help debugging, indicate this property "first macro on a new input line" by prefixing an asterisk to the line number in -Ttree output.
* Move the last column-counting members of struct termp (col and maxcols)Ingo Schwarze2013-08-212-20/+16
| | | | | | | | | from int to size_t, to match some existing ones (offset, *rmargin, viscol). Move some related local variables from int to size_t as well. Needed as a preparation to make a generalized adjbuf() function available beyond the file term.c, i.e. in mandoc.c. Also saves a couple of ugly casts.
* Use text production macros to document themselves.Ingo Schwarze2013-08-141-5/+15
| | | | | | Part of the patch was sent in by Jan Stary <hans at stare dot cz>, another part was added by jmc@, the rest was added by myself; ok jmc@.
* Implement the roff(7) font-escape sequence \f(BI "bold+italic".Ingo Schwarze2013-08-087-47/+82
| | | | | This improves the formatting of about 40 base manuals and reduces groff-mandoc formatting differences in base by about 5%.