CVS log for mandoc/mdoc.c

[BACK] Up to [cvsweb.bsd.lv] / mandoc

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.275 / (download) - annotate - [select for diffs], Mon Apr 6 10:16:17 2020 UTC (17 months, 2 weeks ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.274: +8 -5 lines
Diff to previous 1.274 (colored)

Support manual tagging of .Pp, .Bd, .D1, .Dl, .Bl, and .It.
In HTML output, improve the logic for writing inside permalinks:
skip them when there is no child content or when there is a risk
that the children might contain flow content.

Revision 1.274 / (download) - annotate - [select for diffs], Mon Dec 31 07:46:07 2018 UTC (2 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_5
Changes since 1.273: +4 -4 lines
Diff to previous 1.273 (colored)

Cleanup, no functional change:
Use the new parser flag ROFF_NOFILL in the mdoc(7) parser, too,
instead of the old MDOC_LITERAL, which was an alias for the
former MAN_LITERAL.

Revision 1.273 / (download) - annotate - [select for diffs], Mon Dec 31 04:55:46 2018 UTC (2 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.272: +1 -10 lines
Diff to previous 1.272 (colored)

Cleanup, minus 15 LOC, no functional change:
Simplify the way the man(7) and mdoc(7) validators are called.
Reset the parser state with a common function before calling them.
There is no need to again reset the parser state afterwards,
the parsers are no longer used after validation.
This allows getting rid of man_node_validate() and mdoc_node_validate()
as separate functions.

Revision 1.272 / (download) - annotate - [select for diffs], Sun Dec 30 00:49:55 2018 UTC (2 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.271: +2 -2 lines
Diff to previous 1.271 (colored)

Cleanup, no functional change:

The struct roff_man used to be a bad mixture of internal parser
state and public parsing results.  Move the public results to the
parsing result struct roff_meta, which is already public.  Move the
rest of struct roff_man to the parser-internal header roff_int.h.

Since the validators need access to the parser state, call them
from the top level parser during mparse_result() rather than from
the main programs, also reducing code duplication.

This keeps parser internal state out of thee main programs (five
in mandoc portable) and out of eight formatters.

Revision 1.271 / (download) - annotate - [select for diffs], Fri Dec 14 05:18:02 2018 UTC (2 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.270: +6 -11 lines
Diff to previous 1.270 (colored)

Almost mechanical diff to remove the "struct mparse *" argument
from mandoc_msg(), where it is no longer used.
While here, rename mandoc_vmsg() to mandoc_msg() and retire the
old version:  There is really no point in having another function
merely to save "%s" in a few places.
Minus 140 lines of code.

Revision 1.270 / (download) - annotate - [select for diffs], Tue Dec 4 02:53:51 2018 UTC (2 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.269: +1 -10 lines
Diff to previous 1.269 (colored)

Clean up the validation of .Pp, .PP, .sp, and .br.  Make sure all
combinations are handled, and are handled in a systematic manner.
This resolves some erratic duplicate handling, handles a number of
missing cases, and improves diagnostics in various respects.

Move validation of .br and .sp to the roff validation module
rather than doing that twice in the mdoc and man validation modules.
Move the node relinking function to the roff library where it belongs.

In validation functions, only look at the node itself, at previous
nodes, and at descendants, not at following nodes or ancestors,
such that only nodes are inspected which are already validated.

Revision 1.269 / (download) - annotate - [select for diffs], Fri Aug 17 20:33:37 2018 UTC (3 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.268: +7 -13 lines
Diff to previous 1.268 (colored)

Remove more pointer arithmetic passing via regions outside the array
that is undefined according to the C standard.  Robert Elz <kre at
munnari dot oz dot au> pointed out i wasn't quite done yet.

Revision 1.268 / (download) - annotate - [select for diffs], Fri Aug 11 16:56:21 2017 UTC (4 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_4
Changes since 1.267: +3 -3 lines
Diff to previous 1.267 (colored)

Make the "new sentence, new line" check stricter, allowing digits
in the last two letters of the last word of the sentence.
No false positives in base or Xenocara.
Suggested by and OK jmc@.

Revision 1.267 / (download) - annotate - [select for diffs], Sat Jun 17 13:06:16 2017 UTC (4 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_3, VERSION_1_14_2
Changes since 1.266: +23 -7 lines
Diff to previous 1.266 (colored)

correct handling of blank lines after \c

Revision 1.266 / (download) - annotate - [select for diffs], Wed Jun 7 20:58:49 2017 UTC (4 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.265: +13 -7 lines
Diff to previous 1.265 (colored)

Also catch "new sentence, new line" if there are three blanks
between the sentences.  Thomas Klausner says he has seen some
of these, and i don't see any false positives.

Revision 1.265 / (download) - annotate - [select for diffs], Wed Jun 7 20:30:40 2017 UTC (4 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.264: +2 -2 lines
Diff to previous 1.264 (colored)

Make "new sentence, new line" detection stricter:
Also catch cases where the new sentence starts with a one-letter word
and the input line is broken right after that word.
Suggested by Thomas Klausner <wiz @ NetBSD>.

It's merely a three-bit diff, changing one byte from 0x34 to 0x33,
so what can possibly go wrong...

Revision 1.264 / (download) - annotate - [select for diffs], Fri May 5 15:17:32 2017 UTC (4 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.263: +2 -2 lines
Diff to previous 1.263 (colored)

Move .sp to the roff modules.  Enough infrastructure is in place
now that this actually saves code: -70 LOC.

Revision 1.263 / (download) - annotate - [select for diffs], Sat Apr 29 12:45:41 2017 UTC (4 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.262: +10 -17 lines
Diff to previous 1.262 (colored)

Parser unification: use nice ohashes for all three request and macro tables;
no functional change, minus two source files, minus 200 lines of code.

Revision 1.262 / (download) - annotate - [select for diffs], Mon Apr 24 23:06:18 2017 UTC (4 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.261: +9 -47 lines
Diff to previous 1.261 (colored)

Continue parser unification:
* Make enum rofft an internal interface as enum roff_tok in "roff.h".
* Represent mdoc and man macros in enum roff_tok.
* Make TOKEN_NONE a proper enum value and use it throughout.
* Put the prologue macros first in the macro tables.
* Unify mdoc_macroname[] and man_macroname[] into roff_name[].

Revision 1.261 / (download) - annotate - [select for diffs], Fri Mar 3 13:55:31 2017 UTC (4 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.260: +2 -2 lines
Diff to previous 1.260 (colored)

remove a few redundant conditions that jsg@ found with cppcheck

Revision 1.260 / (download) - annotate - [select for diffs], Thu Feb 16 03:00:23 2017 UTC (4 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_1, VERSION_1_13
Changes since 1.259: +3 -3 lines
Diff to previous 1.259 (colored)

Remove the ENDBODY_NOSPACE flag, simplifying the code.

Comparing to groff output, it appears that all cases where it was used
and made a difference actually require the opposite, ENDBODY_SPACE.

I have no idea why i added it back in 2010; maybe to compensate for
some other bug that has long been fixed.

Revision 1.259 / (download) - annotate - [select for diffs], Sat Jan 28 23:30:08 2017 UTC (4 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.258: +18 -2 lines
Diff to previous 1.258 (colored)

Add a warning "new sentence, new line".
This does not attempt to pinpoint each and every offender, but
instead tries very hard to avoid false positives: Currently, there
are only two false positives in the whole OpenBSD base system.
Only do this in mdoc(7), not in man(7), because manuals written
in man(7) typically have much worse problems than this.
OK jmc@ on a previous version of the patch

Revision 1.258 / (download) - annotate - [select for diffs], Tue Jan 10 13:47:00 2017 UTC (4 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.257: +5 -5 lines
Diff to previous 1.257 (colored)

unify names of AST node flags; no change of cpp output

Revision 1.257 / (download) - annotate - [select for diffs], Sat Aug 20 14:43:50 2016 UTC (5 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.256: +20 -43 lines
Diff to previous 1.256 (colored)

If a column list starts with implicit rows (that is, rows without .It)
and roff-level nodes (e.g. tbl or eqn) follow, don't run into an
assertion.  Instead, wrap the roff-level nodes in their own row.
Issue found by tb@ with afl(1).

Revision 1.256 / (download) - annotate - [select for diffs], Fri Oct 30 19:04:16 2015 UTC (5 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_4
Changes since 1.255: +2 -1 lines
Diff to previous 1.255 (colored)

If a .Bd block has no arguments at all, drop the block and only keep
its contents.  Removing a gratuitious difference to groff output
found after a related bug report from krw@.

Revision 1.255 / (download) - annotate - [select for diffs], Tue Oct 20 02:01:31 2015 UTC (5 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.254: +11 -20 lines
Diff to previous 1.254 (colored)

In order to become able to generate syntax tree nodes on the roff(7)
level, validation must be separated from parsing and rewinding.
This first big step moves calling of the mdoc(7) post_*() functions
out of the parser loop into their own mdoc_validate() pass, while
using a new mdoc_state() module to make syntax tree state handling
available to both the parser loop and the validation pass.

Revision 1.254 / (download) - annotate - [select for diffs], Mon Oct 12 00:08:15 2015 UTC (5 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.253: +1 -13 lines
Diff to previous 1.253 (colored)

To make the code more readable, delete 283 /* FALLTHROUGH */ comments
that were right between two adjacent case statement.  Keep only
those 24 where the first case actually executes some code before
falling through to the next case.

Revision 1.253 / (download) - annotate - [select for diffs], Tue Oct 6 18:32:19 2015 UTC (5 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.252: +25 -25 lines
Diff to previous 1.252 (colored)

modernize style: "return" is not a function

Revision 1.252 / (download) - annotate - [select for diffs], Thu Apr 23 16:17:44 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.251: +1 -40 lines
Diff to previous 1.251 (colored)

Unify mdoc_deroff() and man_deroff() into a common function deroff().
No functional change except that for mdoc(7), it now skips leading
escape sequences just like it already did for man(7).
Escape sequences rarely occur in mdoc(7) code and if they do,
skipping them is an improvement in this context.
Minus 30 lines of code.

Revision 1.251 / (download) - annotate - [select for diffs], Thu Apr 23 15:35:59 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.250: +1 -8 lines
Diff to previous 1.250 (colored)

Get rid of two empty wrapper functions.  No functional change.

Revision 1.250 / (download) - annotate - [select for diffs], Sun Apr 19 14:57:38 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.249: +2 -2 lines
Diff to previous 1.249 (colored)

Unify trickier node handling functions.
* man_elem_alloc() -> roff_elem_alloc()
* man_block_alloc() -> roff_block_alloc()
The functions mdoc_elem_alloc() and mdoc_block_alloc() remain for
now because they need to do mdoc(7)-specific argument processing.

Revision 1.249 / (download) - annotate - [select for diffs], Sun Apr 19 14:25:41 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.248: +2 -54 lines
Diff to previous 1.248 (colored)

Unify some node handling functions that use TOKEN_NONE.
* mdoc_word_alloc(), man_word_alloc() -> roff_word_alloc()
* mdoc_word_append(), man_word_append() -> roff_word_append()
* mdoc_addspan(), man_addspan() -> roff_addtbl()
* mdoc_addeqn(), man_addeqn() -> roff_addeqn()
Minus 50 lines of code, no functional change.

Revision 1.248 / (download) - annotate - [select for diffs], Sun Apr 19 14:00:19 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.247: +11 -10 lines
Diff to previous 1.247 (colored)

Decouple the token code for "no request or macro" from the individual
high-level parsers to allow further unification of functions that
only need to recognize this code, but that don't care about different
high-level macrosets beyond that.

Revision 1.247 / (download) - annotate - [select for diffs], Sun Apr 19 13:50:26 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.246: +20 -216 lines
Diff to previous 1.246 (colored)

Unify node handling functions:
* node_alloc() for mdoc and man_node_alloc() -> roff_node_alloc()
* node_append() for mdoc and man_node_append() -> roff_node_append()
* mdoc_head_alloc() and man_head_alloc() -> roff_head_alloc()
* mdoc_body_alloc() and man_body_alloc() -> roff_body_alloc()
* mdoc_node_unlink() and man_node_unlink() -> roff_node_unlink()
* mdoc_node_free() and man_node_free() -> roff_node_free()
* mdoc_node_delete() and man_node_delete() -> roff_node_delete()
Minus 130 lines of code, no functional change.

Revision 1.246 / (download) - annotate - [select for diffs], Sat Apr 18 17:53:21 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.245: +1 -15 lines
Diff to previous 1.245 (colored)

Delete the wrapper functions mdoc_meta(), man_meta(), mdoc_node(),
man_node() from the mandoc(3) semi-public interface and the internal
wrapper functions print_mdoc() and print_man() from the HTML formatters.
Minus 60 lines of code, no functional change.

Revision 1.245 / (download) - annotate - [select for diffs], Sat Apr 18 17:28:36 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.244: +1 -85 lines
Diff to previous 1.244 (colored)

Unify {mdoc,man}_{alloc,reset,free}() into roff_man_{alloc,reset,free}().
Minus 80 lines of code, no functional change.
Written on the train from Koeln to Wolfsburg returning from p2k15.

Revision 1.244 / (download) - annotate - [select for diffs], Sat Apr 18 17:01:58 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.243: +1 -2 lines
Diff to previous 1.243 (colored)

Move mdoc_hash_init() and man_hash_init() to libmandoc.h
and call them from mparse_alloc() and choose_parser(),
preparing unified allocation of struct roff_man.

Revision 1.243 / (download) - annotate - [select for diffs], Sat Apr 18 16:34:25 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.242: +2 -1 lines
Diff to previous 1.242 (colored)

Profit from the unified struct roff_man and reduce the number of
arguments of mparse_result() by one.  No functional change.
Written on the ICE Bruxelles-Koeln on the way back from p2k15.

Revision 1.242 / (download) - annotate - [select for diffs], Sat Apr 18 16:06:40 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.241: +52 -52 lines
Diff to previous 1.241 (colored)

Replace the structs mdoc and man by a unified struct roff_man.
Almost completely mechanical, no functional change.
Written on the train from Exeter to London returning from p2k15.

Revision 1.241 / (download) - annotate - [select for diffs], Thu Apr 2 23:48:19 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.240: +5 -5 lines
Diff to previous 1.240 (colored)

Third step towards parser unification:
Replace struct mdoc_meta and struct man_meta by a unified struct roff_meta.
Written of the train from London to Exeter on the way to p2k15.

Revision 1.240 / (download) - annotate - [select for diffs], Thu Apr 2 22:48:17 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.239: +42 -42 lines
Diff to previous 1.239 (colored)

Second step towards parser unification:
Replace struct mdoc_node and struct man_node by a unified struct roff_node.
To be able to use the tok member for both mdoc(7) and man(7) without
defining all the macros in roff.h, sacrifice a tiny bit of type safety
and make tok an int rather than an enum.
Almost mechanical, no functional change.
Written on the Eurostar from Bruxelles to London on the way to p2k15.

Revision 1.239 / (download) - annotate - [select for diffs], Thu Apr 2 21:36:50 2015 UTC (6 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.238: +38 -37 lines
Diff to previous 1.238 (colored)

First step towards parser unification:
Replace enum mdoc_type and enum man_type by a unified enum roff_type.
Almost mechanical, no functional change.
Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.

Revision 1.238 / (download) - annotate - [select for diffs], Thu Feb 12 13:00:52 2015 UTC (6 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_3
Changes since 1.237: +5 -5 lines
Diff to previous 1.237 (colored)

Do not confuse .Bl -column lists that just broken another block
with newly opened .Bl -column lists;
fixing an assertion failure jsg@ found with afl:
test case #481, Bl It Bl -column It Bd El text text El

Revision 1.237 / (download) - annotate - [select for diffs], Thu Feb 12 12:24:33 2015 UTC (6 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.236: +5 -3 lines
Diff to previous 1.236 (colored)

Delete the mdoc_node.pending pointer and the function calculating
it, make_pending(), which was the most difficult function of the
whole mdoc(7) parser.  After almost five years of maintaining this
hellhole, i just noticed the pointer isn't needed after all.

Blocks are always rewound in the reverse order they were opened;
that even holds for broken blocks.  Consequently, it is sufficient
to just mark broken blogs with the flag MDOC_BROKEN and breaking
blocks with the flag MDOC_ENDED.  When rewinding, instead of iterating
the pending pointers, just iterate from each broken block to its
parents, rewinding all that are MDOC_ENDED and stopping after
processing the first ancestor that it not MDOC_BROKEN.  For ENDBODY
markers, use the mdoc_node.body pointer in place of the former
mdoc_node.pending.

This also fixes an assertion failure found by jsg@ with afl,
test case #467 (Bo Bl It Bd Bc It), where (surprise surprise)
the pending pointer got corrupted.

Improved functionality, minus one function, minus one struct field,
minus 50 lines of code.

Revision 1.236 / (download) - annotate - [select for diffs], Thu Feb 5 00:14:13 2015 UTC (6 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.235: +1 -2 lines
Diff to previous 1.235 (colored)

Simplify by deleting the "lastline" member of struct mdoc_node.
Minus one struct member, minus 17 lines of code, no functional change.

Revision 1.235 / (download) - annotate - [select for diffs], Mon Feb 2 04:26:44 2015 UTC (6 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.234: +3 -2 lines
Diff to previous 1.234 (colored)

Get rid of all calls to rew_sub() in blk_exp_close(); only ten calls
remain in other functions.  As a bonus, this fixes an assertion failure
jsg@ found some time ago with afl (test case 982) and improves minor
details in error reporting.

Revision 1.234 / (download) - annotate - [select for diffs], Thu Jan 15 04:26:40 2015 UTC (6 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.233: +2 -3 lines
Diff to previous 1.233 (colored)

Fatal errors no longer exist.
If a file can be opened, mandoc will produce some output;
at worst, the output may be almost empty.
Simplifies error handling and frees a message type for future use.

Revision 1.233 / (download) - annotate - [select for diffs], Fri Nov 28 06:27:05 2014 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_2
Changes since 1.232: +3 -5 lines
Diff to previous 1.232 (colored)

Simplify by making the eqn and tbl steering functions void;
no functional change, minus 15 lines of code.

Revision 1.232 / (download) - annotate - [select for diffs], Fri Nov 28 04:47:03 2014 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.231: +19 -15 lines
Diff to previous 1.231 (colored)

Simplify by making the mdoc parser callbacks void, and some cleanup;
no functional change, minus 50 lines of code.

Revision 1.231 / (download) - annotate - [select for diffs], Fri Nov 28 03:14:18 2014 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.230: +16 -26 lines
Diff to previous 1.230 (colored)

Simplify the code by making various mdoc parser helper functions void.
No functional change, minus 130 lines of code.

Revision 1.230 / (download) - annotate - [select for diffs], Fri Nov 28 01:05:43 2014 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.229: +18 -38 lines
Diff to previous 1.229 (colored)

Simplify code by making mdoc validation handlers void.
No functional change, minus 90 lines of code.

Revision 1.229 / (download) - annotate - [select for diffs], Wed Nov 19 03:08:17 2014 UTC (6 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.228: +18 -8 lines
Diff to previous 1.228 (colored)

Escape sequences terminate high-level macro names, and when doing so,
they are ignored, just in the same way as for request names
and for low-level macro names.
This also cures a warning in the pod2man(1) preamble.

Revision 1.228 / (download) - annotate - [select for diffs], Mon Oct 20 15:50:24 2014 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.227: +3 -2 lines
Diff to previous 1.227 (colored)

correct the spacing after in-line equations
that start at the beginning of an input line
but end before the end of an input line

Revision 1.227 / (download) - annotate - [select for diffs], Mon Oct 20 02:33:06 2014 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.226: +3 -1 lines
Diff to previous 1.226 (colored)

correct spacing before inline equations

Revision 1.226 / (download) - annotate - [select for diffs], Thu Oct 16 01:11:20 2014 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.225: +1 -58 lines
Diff to previous 1.225 (colored)

Implement in-line equations, much needed by Xenocara manuals.
Put the steering into the roff parser rather than into the mdoc
parser such that it works for all macro languages and on both text
and macro lines.
Line breaks and blank characters generated before and after in-line
equations are not perfect yet, but let's do one thing at a time.

Revision 1.225 / (download) - annotate - [select for diffs], Sat Sep 6 23:24:32 2014 UTC (7 years ago) by schwarze
Branch: MAIN
Changes since 1.224: +1 -10 lines
Diff to previous 1.224 (colored)

Simplify by handling empty request lines at the one logical place
in the roff parser instead of in three other places in other parsers.
No functional change.

Revision 1.224 / (download) - annotate - [select for diffs], Sun Aug 10 23:54:41 2014 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_4, VERSION_1_12
Changes since 1.223: +1 -3 lines
Diff to previous 1.223 (colored)

Get rid of HAVE_CONFIG_H, it is always defined; idea from libnbcompat.
Include <sys/types.h> where needed, it does not belong in config.h.
Remove <stdio.h> from config.h; if it is missing somewhere, it should
be added, but i cannot find a *.c file where it is missing.

Revision 1.223 / (download) - annotate - [select for diffs], Wed Aug 6 15:09:05 2014 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_1
Changes since 1.222: +22 -39 lines
Diff to previous 1.222 (colored)

Bring the handling of defective prologues even closer to groff,
in particular relaxing the distinction between prologue and body
and further improving messages.
* The last .Dd wins and the last .Os wins, even in the body.
* The last .Dt before the first body macro wins.
* Missing title in .Dt defaults to UNTITLED.  Warn about it.
* Missing section in .Dt does not default to 1.  But warn about it.
* Do not warn multiple times about the same mdoc(7) prologue macro.
* Warn about missing .Os.
* Incomplete .TH defaults to empty strings.  Warn about it.

Revision 1.222 / (download) - annotate - [select for diffs], Fri Aug 1 17:27:44 2014 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.221: +3 -3 lines
Diff to previous 1.221 (colored)

mention requests and macros in more messages

Revision 1.221 / (download) - annotate - [select for diffs], Wed Jul 30 21:18:24 2014 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.220: +7 -35 lines
Diff to previous 1.220 (colored)

garbage collect three unused global flags; no functional change

Revision 1.220 / (download) - annotate - [select for diffs], Wed Jul 9 11:31:43 2014 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.219: +2 -2 lines
Diff to previous 1.219 (colored)

mark defos as const; nobody needs to change it,
and it is occasionally useful to be able to pass literal strings

Revision 1.219 / (download) - annotate - [select for diffs], Mon Jul 7 15:03:43 2014 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.218: +1 -22 lines
Diff to previous 1.218 (colored)

no need to skip content before first section header

Revision 1.218 / (download) - annotate - [select for diffs], Sun Jul 6 19:09:00 2014 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.217: +9 -5 lines
Diff to previous 1.217 (colored)

Clean up messages related to plain text and to escape sequences.
* Mention invalid escape sequences and string names, and fallbacks.
* Hierarchical naming.

Revision 1.217 / (download) - annotate - [select for diffs], Wed Jul 2 03:48:07 2014 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.216: +3 -1 lines
Diff to previous 1.216 (colored)

Implement the obsolete macros .En .Es .Fr .Ot for backward compatibility,
since this is hardly more complicated than explicitly ignoring them
as we did in the past.  Of course, do not use them!

Revision 1.216 / (download) - annotate - [select for diffs], Tue Jul 1 22:37:15 2014 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.215: +3 -3 lines
Diff to previous 1.215 (colored)

Clean up the warnings related to document structure.
* 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.

Revision 1.215 / (download) - annotate - [select for diffs], Fri Jun 20 17:24:00 2014 UTC (7 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.214: +5 -3 lines
Diff to previous 1.214 (colored)

Start systematic improvements of error reporting.
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.

Revision 1.214 / (download) - annotate - [select for diffs], Fri Apr 25 14:11:30 2014 UTC (7 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.213: +2 -2 lines
Diff to previous 1.213 (colored)

Fix a minor optimization i broke in rev. 1.163 on August 20, 2010:
Do not bother looking into the hash table when the length of the macro
already tells us it's invalid.  No functional change.
Noticed by jsg@, thanks!

Revision 1.213 / (download) - annotate - [select for diffs], Sun Apr 20 16:46:05 2014 UTC (7 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.212: +67 -90 lines
Diff to previous 1.212 (colored)

KNF: case (FOO):  ->  case FOO:, remove /* LINTED */ and /* ARGSUSED */,
remove trailing whitespace and blanks before tabs, improve some indenting;
no functional change

Revision 1.212 / (download) - annotate - [select for diffs], Sun Mar 30 19:47:48 2014 UTC (7 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.211: +2 -2 lines
Diff to previous 1.211 (colored)

Implement the roff(7) .ll (line length) request.
Found by naddy@ in the textproc/enchant(1) port.
Of course, do not use this in new manuals.

Revision 1.211 / (download) - annotate - [select for diffs], Sun Mar 23 12:44:56 2014 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.210: +41 -1 lines
Diff to previous 1.210 (colored)

If an .Nd block contains macros, avoid fragmented entries in mandocdb(8),
instead use the .Nd content recursively.

Revision 1.210 / (download) - annotate - [select for diffs], Sun Mar 23 12:11:18 2014 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.209: +2 -5 lines
Diff to previous 1.209 (colored)

avoid repetitive code for asprintf error handling

Revision 1.209 / (download) - annotate - [select for diffs], Sun Mar 23 11:25:26 2014 UTC (7 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.208: +2 -1 lines
Diff to previous 1.208 (colored)

The files mandoc.c and mandoc.h contained both specialised low-level
functions used for multiple languages (mdoc, man, roff), for example
mandoc_escape(), mandoc_getarg(), mandoc_eos(), and generic auxiliary
functions.  Split the auxiliaries out into their own file and header.
While here, do some #include cleanup.

Revision 1.208 / (download) - annotate - [select for diffs], Sun Jan 5 20:26:36 2014 UTC (7 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.207: +11 -3 lines
Diff to previous 1.207 (colored)

Add an option -Q (quick) to mandocdb(8)
for accelerated generation of reduced-size databases.

Implement this by allowing the parsers to optionally
abort the parse sequence after the NAME section.

While here, garbage collect the unused void *arg attribute of
struct mparse and mparse_alloc() and fix some errors in mandoc(3).

This reduces the processing time of mandocdb(8) on /usr/share/man
by a factor of 2 and the database size by a factor of 4.
However, it still takes 5 times the time and 6 times the space
of makewhatis(8), so more work is clearly needed.

Revision 1.207 / (download) - annotate - [select for diffs], Tue Dec 31 23:23:11 2013 UTC (7 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.206: +2 -2 lines
Diff to previous 1.206 (colored)

Simplify: Remove an unused argument from the mandoc_eos() function.
No functional change.

Revision 1.206 / (download) - annotate - [select for diffs], Tue Dec 24 19:11:46 2013 UTC (7 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_3
Changes since 1.205: +2 -1 lines
Diff to previous 1.205 (colored)

When deciding whether two consecutive macros are on the same input line,
we have to compare the line where the first one *ends* (not where it begins)
to the line where the second one starts.
This fixes the bug that .Bk allowed output line breaks right after block
macros spanning more than one input line, even when the next macro follows
on the same line.

Revision 1.205 / (download) - annotate - [select for diffs], Mon Oct 21 23:47:58 2013 UTC (7 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.204: +19 -2 lines
Diff to previous 1.204 (colored)

There are three kinds of input lines: text lines, macros taking
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.

Revision 1.204 / (download) - annotate - [select for diffs], Sat Oct 5 22:08:12 2013 UTC (7 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.203: +5 -7 lines
Diff to previous 1.203 (colored)

Support setting arbitrary roff(7) number registers,
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.

Revision 1.203 / (download) - annotate - [select for diffs], Sat Nov 17 00:26:33 2012 UTC (8 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_2
Changes since 1.202: +141 -141 lines
Diff to previous 1.202 (colored)

Cleanup naming of local variables to make the code easier on the eye:
Settle for "struct man *man", "struct mdoc *mdoc", "struct meta *meta"
and avoid the confusing "*m" which was sometimes this, sometimes that.
No functional change.

ok kristaps@ some time ago

Revision 1.202 / (download) - annotate - [select for diffs], Fri Nov 16 13:40:36 2012 UTC (8 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.201: +4 -1 lines
Diff to previous 1.201 (colored)

Fix a crash triggered by .Bl -tag .It Xo .El .Sh found by florian@.

* When allocating a body end marker, copy the pointer to the normalized
block information from the body block, avoiding the risk of subsequent
null pointer derefence.
* When inserting the body end marker into the syntax tree, do not try to
copy that pointer from the parent block, because not being a direkt child
of the block it belongs to is the whole point of a body end marker.
* Even non-callable blocks (like Bd and Bl) can break other blocks;
when this happens, postpone closing them out in the usual way.

Completed and tested at the OpenBSD impromptu Coimbra hackathon (c2k12).
Thanks to Pedro Almeida and the Laborat'orio de Computa,c~ao Avan,cada
da Universidade de Coimbra (http://www.uc.pt/lca) for their hospitality!

Revision 1.201 / (download) - annotate - [select for diffs], Wed Jul 18 11:11:12 2012 UTC (9 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.200: +10 -2 lines
Diff to previous 1.200 (colored)

Fix handling of paragraph macros inside lists:
* When they are trailing the last item, move them outside the list.
* When they are trailing any other none-compact item, drop them.

OpenBSD rev. mdoc_validate.c 1.107, mdoc.c 1.91

Revision 1.200 / (download) - annotate - [select for diffs], Wed Jul 18 10:39:19 2012 UTC (9 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.199: +2 -2 lines
Diff to previous 1.199 (colored)

The mdoc(7) \*(Ba predefined string actually forces roman font;
that's stupid because it may break enclosing font changes,
but let's do the same for groff bug compatibility.

--> Never use \*(Ba, use just plain "|"! <--

Also, predefined strings are already expanded by the roff(7) parser,
so the mdoc(7) parser has to look for the expanded string.

OpenBSD rev. mdoc.c 1.90 and predefs.in 1.3

Revision 1.199 / (download) - annotate - [select for diffs], Mon Jul 16 09:51:54 2012 UTC (9 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.198: +3 -2 lines
Diff to previous 1.198 (colored)

Several -mdoc parser improvements related to vertical spacing:
* So far, .Pp and .Lp were removed before paragraph type blocks.
* Now also remove .br before paragraph type blocks.
* Treat .Lp as a paragraph like .Pp, so remove .Pp, .Lp, .br before it.
* Do not treat .sp as a paragraph, don't remove anything before it.
* After .Sh, .Ss, .Pp, and .Lp, remove .Pp, .Lp, .sp, .br, and blank lines.
* After .sp and .br, remove .br.
OpenBSD rev. mdoc.c 1.89 and mdoc_validate.c 1.106

Revision 1.198 / (download) - annotate - [select for diffs], Tue Jun 12 20:21:04 2012 UTC (9 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.197: +2 -2 lines
Diff to previous 1.197 (colored)

Add `cc' support.
This was reported by espie@ and in the TODO.
Caveat: `cc' has buggy behaviour when invoked in groff(1) and followed
by a line-breaking control character macro, e.g., in a -man doc,

  .cc |
  .B foo
  'B foo
  |cc
  'B foo

will cause groff(1) to behave properly for `.B' but inline the macro
definition for `B' when invoked with the line-breaking macro.

Revision 1.197 / (download) - annotate - [select for diffs], Sun May 27 17:48:57 2012 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.196: +3 -2 lines
Diff to previous 1.196 (colored)

Support -Ios='OpenBSD 5.1' to override uname(3) as the source of the
default value for the mdoc(7) .Os macro.
Needed for man.cgi on the OpenBSD website.

Problem with man.cgi first noticed by deraadt@;
beck@ and deraadt@ agree with the way to solve the issue.

"Please check them in and I'll look into them later!" kristaps@

Revision 1.196 / (download) - annotate - [select for diffs], Fri Sep 30 00:13:28 2011 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_1, VERSION_1_12_0
Changes since 1.195: +2 -1 lines
Diff to previous 1.195 (colored)

implement .Ap .Bd .Bo .Bq .D1 .Ic .Lp .Oo .Pf .Po .Ss .Sx .Sy .br .sp
implement .Bl -bullet
add more information to the .TH line
escape dots at the beginnings of lines
add trailing newline character at the end of the file
do not misinterpret the ROOT block as .Ap

Revision 1.195 / (download) - annotate - [select for diffs], Thu Jul 28 14:17:11 2011 UTC (10 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_7, VERSION_1_11_6
Changes since 1.194: +2 -2 lines
Diff to previous 1.194 (colored)

An implementation of `tr'.  This routes allocations of TEXT nodes
through libroff, which does the appropriate translations of `tr'.  This
is SLOW: it uses the backend of `ds' and `de', which is a simple linear
list.  However, unlike `ds' and `de', it iterates over EACH CHARACTER of
the entire file looking for replacements.

Revision 1.194 / (download) - annotate - [select for diffs], Wed Jul 27 12:43:02 2011 UTC (10 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.193: +2 -9 lines
Diff to previous 1.193 (colored)

Simply word allocation in libmdoc and libman.

Revision 1.193 / (download) - annotate - [select for diffs], Wed Jul 27 12:41:02 2011 UTC (10 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.192: +6 -2 lines
Diff to previous 1.192 (colored)

Disable in-line eqn processing for a bit.

Revision 1.192 / (download) - annotate - [select for diffs], Wed Jul 27 07:09:41 2011 UTC (10 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.191: +1 -6 lines
Diff to previous 1.191 (colored)

First, roff_res() has no need to invoke ROFF_RERUN: since it's executed
before any other roff processing occurs, it's Ok to just let it do its
thing and pass through.  Also, make sure this function is ALWAYS called,
not just when first_string is defined.

Second, add a new function, roff_parsetext(), that post-processes
non-macro lines.  This, for the time being, amounts to detecting soft
hyphens.  This fixes a long-standing bug in that -man now has proper
hyphen breaking!

Revision 1.191 / (download) - annotate - [select for diffs], Mon Jul 25 15:37:00 2011 UTC (10 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.190: +54 -2 lines
Diff to previous 1.190 (colored)

Implement the first steps of equation parsing from within libmdoc.
This consists of a shim around the text parser that calls out to libroff
if equation components exist on the line.  Right now this will do
nothing, as the equation delimiter always returns nil.

Revision 1.190 / (download) - annotate - [select for diffs], Thu Jul 21 10:24:35 2011 UTC (10 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_5
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored)

Finish the eqn syntactic parser.  This correctly parses terms and does
the proper `define' dance, which amounts to pure word-replace (you can,
say, define `foo' as `define' then define `define' as something else).
eqn.c is now ready for some semantic parsing of `box' and `eqn'
productions as defined by the grammar.

Revision 1.189 / (download) - annotate - [select for diffs], Mon Jul 18 07:46:41 2011 UTC (10 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.188: +5 -5 lines
Diff to previous 1.188 (colored)

Make `struct roff' be passed into libmdoc and libman upon creation.
This is required for supporting in-line equations.  While here, push
registers properly into roff and add an set/get/mod interface.

Revision 1.188 / (download) - annotate - [select for diffs], Mon Mar 28 23:52:13 2011 UTC (10 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_4, VERSION_1_11_3, VERSION_1_11_2, VERSION_1_11_1
Changes since 1.187: +25 -42 lines
Diff to previous 1.187 (colored)

Have libman and libmdoc use mandoc_getcontrol() to determine whether a
macro has been invoked.  libroff is next.

Revision 1.187 / (download) - annotate - [select for diffs], Tue Mar 22 14:33:05 2011 UTC (10 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.186: +2 -1 lines
Diff to previous 1.186 (colored)

libmdoc.h and libman.h were including mdoc.h and man.h, respectively.
Don't have them do that (includes in header files = faugh), and have
individual files directly include these files.

Revision 1.186 / (download) - annotate - [select for diffs], Tue Mar 22 14:05:45 2011 UTC (10 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.185: +45 -1 lines
Diff to previous 1.185 (colored)

Move mandoc_isdelim() back into libmdoc.h.  This fixes an unreported
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().

Revision 1.185 / (download) - annotate - [select for diffs], Sun Mar 20 16:02:05 2011 UTC (10 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.184: +7 -23 lines
Diff to previous 1.184 (colored)

Consolidate messages.  Have all parse-time messages (in libmdoc,
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.

Revision 1.184 / (download) - annotate - [select for diffs], Thu Mar 17 11:30:23 2011 UTC (10 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_10
Changes since 1.183: +3 -3 lines
Diff to previous 1.183 (colored)

Clean-up in libmdoc: fix last checks for mdoc_*msg return value, then
make mdoc_vmsg not return an int.  libmdoc is now completely clean of
return-value checks from the message subsystem.

Revision 1.183 / (download) - annotate - [select for diffs], Tue Mar 15 13:23:33 2011 UTC (10 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.182: +3 -1 lines
Diff to previous 1.182 (colored)

Plug memory leak of normalised-date field.

Revision 1.182 / (download) - annotate - [select for diffs], Mon Mar 7 01:35:51 2011 UTC (10 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.181: +5 -4 lines
Diff to previous 1.181 (colored)

Clean up date handling,
as a first step to get rid of the frequent petty warnings in this area:
 - always store dates as strings, not as seconds since the Epoch
 - for input, try the three most common formats everywhere
 - for unrecognized format, just pass the date though verbatim
 - when there is no date at all, still use the current date
Originally triggered by a one-line patch from Tim van der Molen,
<tbvdm at xs4all dot nl>, which is included here.
Feedback and OK on manual parts from jmc@.
"please check this in" kristaps@

Revision 1.181 / (download) - annotate - [select for diffs], Wed Feb 9 09:05:52 2011 UTC (10 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.180: +25 -1 lines
Diff to previous 1.180 (colored)

Allow EQN data to be pushed down into libmdoc via mdoc_addeqn().  Only
the adding itself is implemented; equation data is not yet shown.

Revision 1.180 / (download) - annotate - [select for diffs], Tue Feb 8 07:40:23 2011 UTC (10 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.179: +10 -21 lines
Diff to previous 1.179 (colored)

Put tbl_alloc function right into the addspan() one, as this is the only
place that it's called.

Revision 1.179 / (download) - annotate - [select for diffs], Sun Feb 6 22:05:20 2011 UTC (10 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.178: +2 -3 lines
Diff to previous 1.178 (colored)

Use tbl_span line number for warnings/errors.

Revision 1.178 / (download) - annotate - [select for diffs], Sun Feb 6 22:02:58 2011 UTC (10 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.177: +2 -3 lines
Diff to previous 1.177 (colored)

Let the line-number of a tbl_span be remembered.

Revision 1.177 / (download) - annotate - [select for diffs], Mon Jan 3 11:27:33 2011 UTC (10 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_9
Changes since 1.176: +9 -10 lines
Diff to previous 1.176 (colored)

Clarified the role of MDOC_HALT in libmdoc functions by having accessor
functions assert() if they're called after MDOC_HALT is set.

This makes more sense than returning 0 because this return value is used
for parse errors, not programme-flow errors, and it's inconsistent to
use the same value for both.  Plus, prior to this, I'd return 0 without
printing an error message, which would cause failure to go unreported to
the operator.

Revision 1.176 / (download) - annotate - [select for diffs], Sat Jan 1 12:59:17 2011 UTC (10 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.175: +3 -1 lines
Diff to previous 1.175 (colored)

Add -man support for tables.  Like -mdoc, this consists of an
external-facing function man_addspan() (this required shuffling around
the descope routine) and hooks elsewhere.

Also fixed mdoc.c's post-validation of tables.

Revision 1.175 / (download) - annotate - [select for diffs], Sat Jan 1 12:18:37 2011 UTC (10 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.174: +37 -1 lines
Diff to previous 1.174 (colored)

Add table processing structures to -mdoc.  This consists of an
external-facing function mdoc_addspan(), then various bits to prohibit
printing and scanning (this requires some if's to be converted into
switch's).

Revision 1.174 / (download) - annotate - [select for diffs], Sat Jan 1 10:51:30 2011 UTC (10 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.173: +17 -15 lines
Diff to previous 1.173 (colored)

Clean up {mdoc,man}_pmsg and vmsg invocations (ignore return values).

Revision 1.173 / (download) - annotate - [select for diffs], Sat Dec 25 13:50:37 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.172: +3 -1 lines
Diff to previous 1.172 (colored)

Specifying both %T and %J in an `Rs' block causes the title to be quoted
instead of underlined.  This only happens in -Tascii, as -T[x]html both
underlines and italicises.

Revision 1.172 / (download) - annotate - [select for diffs], Fri Dec 24 14:00:40 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_8
Changes since 1.171: +45 -7 lines
Diff to previous 1.171 (colored)

As per schwarze@'s suggestions, roll back the refcount structure in
favour of a simpler shim for normalised data in the node allocation and
free routines.  This removes the need to bump and copy references within
validator handlers, removes a pointer redirect, and also kills the
refcount structure itself.  Data is assumed to "live" either in a
MDOC_BLOCK or MDOC_ELEM and is copied accordingly.

Revision 1.171 / (download) - annotate - [select for diffs], Wed Dec 22 11:15:16 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.170: +7 -23 lines
Diff to previous 1.170 (colored)

Implement reference-counted version of original union mdoc_data.  This
simplifies clean-up and allows for more types without extra hassle.

Also made in-line literal types in -T[x]html use CODE instead of SPAN to
match how literal blocks use PRE.

Revision 1.170 / (download) - annotate - [select for diffs], Thu Dec 16 17:14:48 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.169: +4 -1 lines
Diff to previous 1.169 (colored)

Migrate `An' to use a pointer in its data, like everybody else.  This is
the first step to having a simpler ref-counted system for "data"
associated with a node.

Revision 1.169 / (download) - annotate - [select for diffs], Wed Dec 15 23:39:40 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.168: +3 -1 lines
Diff to previous 1.168 (colored)

Add a "last child" member of struct mdoc_node.

Remove `Pp' or `Lp' if it is the FIRST or LAST child of an `Sh' or `Sh' body.

Make "skipping paragraph" be an error, not a warning, as information (an
invoked macro) is ignored.

Revision 1.168 / (download) - annotate - [select for diffs], Mon Dec 6 11:01:19 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_7
Changes since 1.167: +2 -4 lines
Diff to previous 1.167 (colored)

Merge schwarze@'s relaxation of scope-breaking rules: allow implicit
ending of scopes and drop stray scope-endings.

Revision 1.167 / (download) - annotate - [select for diffs], Wed Dec 1 16:38:57 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.166: +3 -1 lines
Diff to previous 1.166 (colored)

Make sure that the manual section defaults to `1' if it's unset.  This
behaviour only happens if `Dt' isn't specified, which can be exhibited
by running mandoc -mdoc on a man manual.

Revision 1.166 / (download) - annotate - [select for diffs], Tue Nov 30 13:04:14 2010 UTC (10 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.165: +1 -5 lines
Diff to previous 1.165 (colored)

mdoc_action.c is no more.  Attic it and remove it from the Makefile.
Remove references to MDOC_ACTED (it was only assertions) and the pre-
and post-action functions.

Revision 1.165 / (download) - annotate - [select for diffs], Mon Sep 27 23:03:44 2010 UTC (10 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.164: +5 -8 lines
Diff to previous 1.164 (colored)

Merge from OpenBSD right after 1.10.6; now back to full sync.
* mdoc.c: blank lines outside literal mode are more similar to .sp than .Pp
* backslashes do not terminate macros; partial revert of mdoc.c 1.164;
  the intention of that commit is fully achieved in roff.c
* mdoc_term.c: no need to list the same prototype twice
* mdoc_validate.c: drop .Pp before .sp just like .Pp before .Pp
* fix off-by-one found by jsg@ with parfait, OpenBSD term_ps.c 1.12
ok kristaps@

Revision 1.164 / (download) - annotate - [select for diffs], Sun Aug 29 11:29:51 2010 UTC (11 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_6
Changes since 1.163: +6 -3 lines
Diff to previous 1.163 (colored)

Allow `.xx\}' where xx is a macro (e.g., `.br\}') to close scope.  This is
experimental and hasn't been rigorously tested.  It's only implemented in
-mdoc for the time being.  This is absolutely required for pod2man.  It
does, however, make the pod2man preamble be processed in full.

Revision 1.163 / (download) - annotate - [select for diffs], Fri Aug 20 01:02:07 2010 UTC (11 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.162: +7 -30 lines
Diff to previous 1.162 (colored)

Implement a simple, consistent user interface for error handling.
We now have sufficient practical experience to know what we want,
so this is intended to be final:
- provide -Wlevel (warning, error or fatal) to select what you care about
- provide -Wstop to stop after parsing a file with warnings you care about
- provide consistent exit status codes for those warnings you care about
- fully document what warnings, errors and fatal errors mean
- remove all other cruft from the user interface, less is more:
- remove all -f knobs along with the whole -f option
- remove the old -Werror because calling warnings "fatal" is silly
- always finish parsing each file, unless fatal errors prevent that
This commit also includes a couple of related simplifications behind
the scenes regarding error handling.
Feedback and OK  kristaps@;  Joerg Sonnenberger (NetBSD) and
Sascha Wildner (DragonFly BSD) agree with the general direction.

Revision 1.162 / (download) - annotate - [select for diffs], Sun Aug 8 14:51:32 2010 UTC (11 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.161: +6 -9 lines
Diff to previous 1.161 (colored)

simplify the code copying the macro name, and sync the
accompagnying comment between man_pmacro() and mdoc_pmacro();
ok'd by kristaps@ together with main.c rev. 1.102

Revision 1.161 / (download) - annotate - [select for diffs], Sat Aug 7 20:57:33 2010 UTC (11 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.160: +2 -13 lines
Diff to previous 1.160 (colored)

Clean out the isgraph() checks in mdoc.c and man.c.  These code paths
were never taken since main.c begin skipping over unrecognisable
characters, so they were noops.

Revision 1.160 / (download) - annotate - [select for diffs], Sat Aug 7 20:33:55 2010 UTC (11 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.159: +16 -7 lines
Diff to previous 1.159 (colored)

"Groff allows the initial macro on a line to be delimited by a space of
by a tab; so allow the tab in mandoc, too."  Original problem noted by
schwarze@.  Sync with OpenBSD.

Revision 1.159 / (download) - annotate - [select for diffs], Sun Jul 18 17:00:26 2010 UTC (11 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_10_5_PREPDF, VERSION_1_10_5
Changes since 1.158: +2 -2 lines
Diff to previous 1.158 (colored)

Text ending in a full stop, exclamation mark or question mark
should not flag the end of a sentence if:

1) The punctuation is followed by closing delimiters
and not preceded by alphanumeric characters, like in
"There is no full stop (.) in this sentence"

or

2) The punctuation is a child of a macro
and not preceded by alphanumeric characters, like in
"There is no full stop
.Pq \&.
in this sentence"

"looks fine" to kristaps@; tested by jmc@ and sobrado@

Revision 1.158 / (download) - annotate - [select for diffs], Wed Jul 7 15:04:54 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_4
Changes since 1.157: +1 -2 lines
Diff to previous 1.157 (colored)

Re-constitution of `ds' symbol processing.  First, push the
roff_getstr() family of functions into roff.c with the "first_string"
directly in struct roff.  Second, pre-process each line for reserved
words in libroff, splicing and re-running a line if it has one (this
allows defined symbols to be macros).  Remove term.c's invocation of the
roff_getstrn() function.  Removed function documentation in roff.3 and
added roff.7 `ds' documentation.

Revision 1.157 / (download) - annotate - [select for diffs], Sun Jul 4 22:04:04 2010 UTC (11 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.156: +3 -2 lines
Diff to previous 1.156 (colored)

Assert my copyright, making it explicit that i'm granting the same license
on those parts of the code and text that i have written as Kristaps is.
"fine with me" kristaps@

Revision 1.156 / (download) - annotate - [select for diffs], Fri Jul 2 12:54:33 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.155: +10 -1 lines
Diff to previous 1.155 (colored)

Stash `Bf' parameters into struct mdoc_bf.

Revision 1.155 / (download) - annotate - [select for diffs], Thu Jul 1 23:01:47 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.154: +3 -4 lines
Diff to previous 1.154 (colored)

Remove my own dumb FIXME and mark a static function defn as static.

Revision 1.154 / (download) - annotate - [select for diffs], Thu Jul 1 22:56:17 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.153: +13 -5 lines
Diff to previous 1.153 (colored)

Make struct_bl and struct_bd into pointers.  This removes the need to do
copying on internals after modification.  Even more importantly, if an
ENDBODY token is provided, it would have been impossible for post-change
copying of the data to take place in the BLOCK.  This allows it to
happen by dint of pointers.

Also did some bikeshedding in mdoc_term.c: checking against enum type
and explicitly casting to the "post" function to void.  This is for my
own readability.

Revision 1.153 / (download) - annotate - [select for diffs], Thu Jul 1 22:35:54 2010 UTC (11 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.152: +19 -15 lines
Diff to previous 1.152 (colored)

In the mdoc(7) parser, inspect roff registers early such that all parts
of the parser can use the resulting cues.  In particular, this allows
to use .nr nS to force SYNOPSIS-style .Nm indentation outside the
SYNOPSIS as needed by ifconfig(8).

To actually make this useable, .Pp must rewind .Nm, or the rest of the
section would end up indented.  Implement a quick hack for now,
a generic solution can be designed later.

ok kristaps@ and tested by sobrado@

Revision 1.152 / (download) - annotate - [select for diffs], Tue Jun 29 19:20:38 2010 UTC (11 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.151: +19 -1 lines
Diff to previous 1.151 (colored)

Support for badly nested blocks, written around the time of
the Rostock mandoc hackathon and tested and polished since,
supporting constructs like:

.Ao Bo    Ac    Bc        (exp breaking exp)
.Aq Bo    eol   Bc        (imp breaking exp)
.Ao Bq    Ac    eol       (exp breaking imp)
.Ao Bo So Bc    Ac  Sc    (double break, inner before outer)
.Ao Bo So Ac    Bc  Sc    (double break, outer before inner)
.Ao Bo    Ac So Bc  Sc    (broken breaker)
.Ao Bo So Bc Do Ac  Sc Dc (broken double breaker)

There are still two known issues which are tricky:

1) Breaking two identical explicit blocks (Ao Bo Bo Ac or Aq Bo Bo eol)
fails outright, triggering a bogus syntax error.
2) Breaking a block by two identical explicit blocks (Ao Ao Bo Ac Ac Bc
or Ao Ao Bq Ac Ac eol) still has a minor rendering error left:
"<ao1 <ao2 [bo ac2> ac1> bc]>" should not have the final ">".

We can fix these later in the tree, let's not grow this diff too large.

"get it in" kristaps@

Revision 1.151 / (download) - annotate - [select for diffs], Sun Jun 27 16:36:22 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_3
Changes since 1.150: +10 -1 lines
Diff to previous 1.150 (colored)

Allow registers to be unset.  Implement and document the `.nr nS val'.

Revision 1.150 / (download) - annotate - [select for diffs], Sun Jun 27 16:18:13 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.149: +12 -3 lines
Diff to previous 1.149 (colored)

Following clue-stick applied by schwarze@, back out const-ness of regset
passed in to libmdoc and libman.

Fix mdoc.3 and man.3 EXAMPLE sections to include regset.

Add MDOC_SYNPRETTY flag cueing front-end to nicely format certain values
as if SEC_SYNOPSIS were the current section.

Revision 1.149 / (download) - annotate - [select for diffs], Sun Jun 27 15:52:41 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.148: +18 -26 lines
Diff to previous 1.148 (colored)

Downstream maintainers: this removes UGLY!  I don't want diverging
functionality and UGLY works quite well thanks to schwarze@'s careful
attention.

This also backs out function-prototype changes for struct regset,
instead stuffing a pointer to the regset directly into struct
mdoc/man/roff.

Revision 1.148 / (download) - annotate - [select for diffs], Sat Jun 26 16:07:08 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.147: +26 -18 lines
Diff to previous 1.147 (colored)

Mechanical diff allowing the const struct regset to propogate through
libman and libmdoc.

Revision 1.147 / (download) - annotate - [select for diffs], Sat Jun 26 15:36:37 2010 UTC (11 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.146: +4 -2 lines
Diff to previous 1.146 (colored)

Churn-ish check-in getting mdoc_parseln() and man_parseln() to accept a
const struct regset pointer.  No functionality.

Revision 1.146 / (download) - annotate - [select for diffs], Sat Jun 12 11:58:22 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_2
Changes since 1.145: +5 -5 lines
Diff to previous 1.145 (colored)

`Bl' is now using a struct instead of a single enum mdoc_list for its
cached values.  You can probably guess where this is going.

Revision 1.145 / (download) - annotate - [select for diffs], Mon May 31 21:32:57 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_1
Changes since 1.144: +2 -1 lines
Diff to previous 1.144 (colored)

Fixed my breaking of Ingo's eoln-whitespace detection code, where a
hyphen wasn't resetting the fact of being whitespace.  Noted by Jason
McIntyre.

Revision 1.144 / (download) - annotate - [select for diffs], Mon May 31 20:14:10 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.143: +56 -11 lines
Diff to previous 1.143 (colored)

Macro lines now infer an `It' if they immediately follow a `Bl -column'
or a closed-out `It' block within a `Bl -column' (which only happens
when a macro or free-form text is encountered prior to an `It').

Added some regression tests for this behaviour.

Revision 1.143 / (download) - annotate - [select for diffs], Mon May 31 15:50:48 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.142: +3 -2 lines
Diff to previous 1.142 (colored)

Strengthened constraint for passing into `It'.

Added regression test for constrained condition.

Revision 1.142 / (download) - annotate - [select for diffs], Mon May 31 15:42:09 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.141: +26 -2 lines
Diff to previous 1.141 (colored)

Add ability to interpret initial free-form lines as part of a `Bl
-column' up until the first `It'.  This is UGLY and should have all
sorts of warnings, and will.  On the one hand, it fits with groff's
notion of tabs and tab-spaces.  On the other hand, it's not really
"free-form" text any more.  Note that this does not yet accomodate for
macros coming on these lines.

Revision 1.141 / (download) - annotate - [select for diffs], Mon May 31 10:28:04 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.140: +2 -2 lines
Diff to previous 1.140 (colored)

Remove enum mdocargerr from phrase() (unused).

Add `Ta' macro, which is basically a NULL case everywhere but in
mdoc_macro.c, where it closes out an existing `It' body scope and opens
a new one, then continues parsing as in phrase() (TODO: merge these
two?).

Fix where scope-breaking was silently just dying instead of printing an
error.

Fix where trailing `Ta' or tab weren't creating a new MDOC_BODY context.

We now support arbitrarily complex `It' contents for `Bl -column'.

Revision 1.140 / (download) - annotate - [select for diffs], Sun May 30 11:00:53 2010 UTC (11 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored)

Made `Dt' default to LOCAL and UNKNOWN instead of local and unknown (note case).

Have `Dt' default to UNKNOWN if it's an empty string.

Raise a warning if `Dt' title isn't capitalised.

Sync'd `Dt' documentation with reality.

Revision 1.139 / (download) - annotate - [select for diffs], Wed May 26 09:35:35 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.138: +3 -1 lines
Diff to previous 1.138 (colored)

Fixed `Lb' to be in_line (reported by Ulrich Spoerlein).

Added `Lb' documentation to mdoc.7.

Removed harmless but superfluous pre_lb check (was just NULL entries).

Added regressions for `Lb' (NOTE that these will only run on new groff,
as old groff doesn't support `Lb' at all).

Revision 1.138 / (download) - annotate - [select for diffs], Tue May 25 12:37:20 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.137: +5 -1 lines
Diff to previous 1.137 (colored)

Modified version of Ingo Schwarze's patch for hyphen-breaking.
Breakable hyphens are cued in the back-ends (with ASCII_HYPH) and acted
upon in term.c or ignored in html.c.

Also cleaned up XML decl printing (no need for extra vars).

Revision 1.137 / (download) - annotate - [select for diffs], Mon May 24 13:39:47 2010 UTC (11 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.136: +52 -39 lines
Diff to previous 1.136 (colored)

rewrite the main mdoc text parser, mdoc_ptext(),
making it easier to understand and fixing various bugs:
* correctly strip whitespace from the end of text lines
* issue consistent warnings regarding trailing spaces and tabs
* escaped backslashes no longer escape the following character
ok kristaps@

Revision 1.136 / (download) - annotate - [select for diffs], Mon May 17 22:11:42 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.135: +26 -112 lines
Diff to previous 1.135 (colored)

Enable the unified error/warning enumeration in mandoc.h that's
stringified in main.c.

Allow `An' to handle an argument and child (with a warning).

Allow `Rv' and `Ex' to work without a prior `Nm' as groff does (with a
warning).

Allow inconsistent column syntax to only raise a warning.

Revision 1.135 / (download) - annotate - [select for diffs], Sun May 16 10:59:36 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.134: +31 -29 lines
Diff to previous 1.134 (colored)

Allow roff_parseln() to be re-run.
Allow roff_parseln() to manipulate the line buffer offset.  This is used
in situations like `.ie n .TH FOO 1' or `.ie n .ie n', where the line
buffer offset is recalculated then the roff parser re-run.
Fix mdoc_parseln() and man_parseln() to accept the initial line offset.
WARNING: backed-out ALL roff macros whilst accomodating for how roff
handles multi-line conditionals (in short, re-running the parser).

Revision 1.134 / (download) - annotate - [select for diffs], Sun May 16 00:04:46 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.133: +2 -2 lines
Diff to previous 1.133 (colored)

Fix allowing silly '\'' control character.

Revision 1.133 / (download) - annotate - [select for diffs], Sat May 15 16:24:37 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.132: +4 -2 lines
Diff to previous 1.132 (colored)

LIBRARY can also occur in section 9.
All manual sections (unknown, 3p, 3f, etc.) correctly handled by -mdoc.
Useful warning printed if unknown manual section.
Checking for manual sections (e.g., LIBRARY) checks only first character, so 3p, 3f, etc. are free.

Revision 1.132 / (download) - annotate - [select for diffs], Sat May 15 06:48:13 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.131: +3 -1 lines
Diff to previous 1.131 (colored)

More EOS: append_delims() fitted with EOS detection, so ANY macro with appended delimiters will properly EOS.
Fixed mandoc_eos() to accept sentence punctuation followed by close-delim buffers.

Revision 1.131 / (download) - annotate - [select for diffs], Fri May 14 17:31:25 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.130: +1 -2 lines
Diff to previous 1.130 (colored)

Backed out check for `Ex' manual sec (ok schwarze@, joerg@), in turn backing out check_msec() and deps.

Revision 1.130 / (download) - annotate - [select for diffs], Thu May 13 06:22:11 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_25
Changes since 1.129: +11 -5 lines
Diff to previous 1.129 (colored)

Fixed bug in -Thtml -mdoc where `Lb' would line-break in LIBRARY section.
Fixed assumption that parse-point == 1 equates to beginning of line (false if whitespace separates macro and control character).
Fixed line-break for non-first-macro in several SYNOPSIS macros.

Revision 1.129 / (download) - annotate - [select for diffs], Wed May 12 17:08:03 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.128: +2 -14 lines
Diff to previous 1.128 (colored)

Put the eos-checker into libmandoc.h.
Added bits in mdoc.7 and man.7 about EOS spacing.

Revision 1.128 / (download) - annotate - [select for diffs], Wed May 12 16:01:01 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.127: +28 -2 lines
Diff to previous 1.127 (colored)

Tiny EOS patch.  Back-end cues front-end through flag.  Front-end cues output engine with flag.

Revision 1.127 / (download) - annotate - [select for diffs], Sat May 8 10:25:27 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_24
Changes since 1.126: +2 -4 lines
Diff to previous 1.126 (colored)

Fix asserts on stripping end-of-line whitespace.

Revision 1.126 / (download) - annotate - [select for diffs], Sat May 8 08:36:44 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.125: +18 -4 lines
Diff to previous 1.125 (colored)

Strip trailing, unescaped whitespace from free-form, non-literal lines (like groff).

Revision 1.125 / (download) - annotate - [select for diffs], Sat May 8 07:30:19 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.124: +12 -10 lines
Diff to previous 1.124 (colored)

Lint fixes (type-safety for enums via -cefuh).

Revision 1.124 / (download) - annotate - [select for diffs], Fri May 7 15:49:36 2010 UTC (11 years, 4 months ago) by kristaps
Branch: MAIN
Changes since 1.123: +29 -66 lines
Diff to previous 1.123 (colored)

De-chunking of text removed from parsers.  This is a significant change (and I don't really like it), but it's what groff does.
Distinction of ARGS_PHRASE and ARGS_PPHRASE in backend (not yet used).

Revision 1.123 / (download) - annotate - [select for diffs], Thu Apr 8 07:53:01 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.122: +14 -8 lines
Diff to previous 1.122 (colored)

Sync'd mdoc.c's function names with man.c.
Prompted by Ingo and Claus Assman, added warn/ignore for text lines beginning with `\."'.

Revision 1.122 / (download) - annotate - [select for diffs], Thu Apr 8 07:06:15 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.121: +11 -13 lines
Diff to previous 1.121 (colored)

Properly checked in Ingo Schwarze' prologue/body-breaking patch, which I'd munged.

Revision 1.121 / (download) - annotate - [select for diffs], Tue Apr 6 11:33:00 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_23
Changes since 1.120: +48 -10 lines
Diff to previous 1.120 (colored)

Migrating mdoc_node_free() and mdoc_node_freelist() to use mdoc_node_delete(), which has a more intuitive interface and mirrors libman.

Revision 1.120 / (download) - annotate - [select for diffs], Mon Apr 5 08:59:46 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.119: +18 -3 lines
Diff to previous 1.119 (colored)

Commited relaxation of title-less document error-out noted by Christian Weisgerber and patched by Ingo Schwarze.

Revision 1.119 / (download) - annotate - [select for diffs], Sat Apr 3 13:02:35 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.118: +13 -3 lines
Diff to previous 1.118 (colored)

Merging patch by Ingo Schwarze.

Revision 1.118 / (download) - annotate - [select for diffs], Wed Mar 31 07:42:04 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_22
Changes since 1.117: +2 -1 lines
Diff to previous 1.117 (colored)

Re-adjusting UGLY tags.
Fixed removed assignment of type.
Removed superfluous checks of mdoc_argflags (from days when comments were a macro tag).

Revision 1.117 / (download) - annotate - [select for diffs], Wed Mar 31 07:13:53 2010 UTC (11 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.116: +12 -12 lines
Diff to previous 1.116 (colored)

Macro types enum-ated (enum mdoct) (for easier debugging in gdb of "tok" values).
Initial check-in of Ingo Schwarze's patch for Xo/Xc handling (in blocks ifdef'd "UGLY").
Put Oc-close-Op parts into UGLY ifdef blocks.

Revision 1.116 / (download) - annotate - [select for diffs], Thu Jan 7 10:24:43 2010 UTC (11 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_21, VERSION_1_9_20, VERSION_1_9_19, VERSION_1_9_18, VERSION_1_9_17, VERSION_1_9_16, VERSION_1_9_15
Changes since 1.115: +16 -1 lines
Diff to previous 1.115 (colored)

Check for white-space at the end of free-form text.  Lack of check spotted by Jason McIntyre.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Jan 7 10:05:24 2010 UTC (11 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.114: +15 -7 lines
Diff to previous 1.114 (colored)

Check for white-space at end of stand-alone macro line.

Revision 1.114 / (download) - annotate - [select for diffs], Fri Jan 1 17:14:29 2010 UTC (11 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_15-pre2
Changes since 1.113: +11 -12 lines
Diff to previous 1.113 (colored)

Big check-in of compatibility layer.  This should work on most major architectures. Thanks to Joerg Sonnenberger.

Revision 1.113 / (download) - annotate - [select for diffs], Fri Oct 30 05:58:38 2009 UTC (11 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_15-pre1, VERSION_1_9_14, VERSION_1_9_13, VERSION_1_9_12
Changes since 1.112: +15 -45 lines
Diff to previous 1.112 (colored)

libmdoc and libman now using non-recoverable allocations (simpler code).

Revision 1.112 / (download) - annotate - [select for diffs], Tue Oct 27 08:26:12 2009 UTC (11 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.111: +2 -2 lines
Diff to previous 1.111 (colored)

bzero() -> memset() (noted by Joerg Sonnenberger).

Revision 1.111 / (download) - annotate - [select for diffs], Mon Oct 26 07:11:07 2009 UTC (11 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_11, VERSION_1_9_10
Changes since 1.110: +1 -2 lines
Diff to previous 1.110 (colored)

-man also prints unknown macro (noted by Joerg Sonnenberger).

Revision 1.110 / (download) - annotate - [select for diffs], Sat Oct 24 05:52:13 2009 UTC (11 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.109: +4 -2 lines
Diff to previous 1.109 (colored)

Added `%U' to -mdoc (doesn't render in a nice way yet).

Revision 1.109 / (download) - annotate - [select for diffs], Thu Oct 15 02:56:51 2009 UTC (11 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_9
Changes since 1.108: +2 -1 lines
Diff to previous 1.108 (colored)

Added warning about specifying list arguments before type (suggested by Joerg Sonnenberg).

Revision 1.108 / (download) - annotate - [select for diffs], Thu Oct 15 01:33:12 2009 UTC (11 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.107: +2 -2 lines
Diff to previous 1.107 (colored)

Added support for `Bd -centered', which appears in newer groffs (not yet implemented in centre-capable front-ends, i.e., -Thtml).

Revision 1.107 / (download) - annotate - [select for diffs], Thu Sep 24 15:01:06 2009 UTC (12 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_8, VERSION_1_9_7, VERSION_1_9_6
Changes since 1.106: +3 -2 lines
Diff to previous 1.106 (colored)

Added EBADCHILD error (bad child of parent context).
`Rs' post-checks that all children are proper bibliographic elements.
`Rs' correctly re-orders its children as per groff's output (including %C).

Revision 1.106 / (download) - annotate - [select for diffs], Wed Sep 23 11:53:45 2009 UTC (12 years ago) by kristaps
Branch: MAIN
Changes since 1.105: +3 -1 lines
Diff to previous 1.105 (colored)

FreeBSD compile fixes (uqs@spoerlein.net).

Revision 1.105 / (download) - annotate - [select for diffs], Wed Sep 16 14:40:56 2009 UTC (12 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_5
Changes since 1.104: +5 -8 lines
Diff to previous 1.104 (colored)

Lookup hashes are now static tables, ordered first-level by second character, then randomly along a chain.  Improves performance by a small fraction and considerably cleans up hash sources.

Revision 1.104 / (download) - annotate - [select for diffs], Sat Aug 22 08:56:16 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_2
Changes since 1.103: +7 -1 lines
Diff to previous 1.103 (colored)

Added check for graphable characters in initial-line parse for libman and libmdoc (joerg@netbsd.org).

Revision 1.103 / (download) - annotate - [select for diffs], Thu Aug 20 11:44:47 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_1
Changes since 1.102: +3 -5 lines
Diff to previous 1.102 (colored)

Fix to libmdoc passing over delimiters.
`RS' and `RE' documented in man.7.

Revision 1.102 / (download) - annotate - [select for diffs], Wed Aug 19 14:09:33 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.101: +21 -6 lines
Diff to previous 1.101 (colored)

In-line documentation of mdoc_macro file.
Moved _NEXT_ macros into _alloc_ routines (where they belong).

Revision 1.101 / (download) - annotate - [select for diffs], Wed Aug 19 11:58:32 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.100: +7 -9 lines
Diff to previous 1.100 (colored)

Moved MDOC_NEXT_SIBLING into mdoc_word (libmdoc).
De-chunking of word terms in libman.

Revision 1.100 / (download) - annotate - [select for diffs], Tue Aug 18 14:27:16 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_0
Changes since 1.99: +17 -13 lines
Diff to previous 1.99 (colored)

libmdoc accepts whitespace following control character.

Revision 1.99 / (download) - annotate - [select for diffs], Thu Aug 13 11:43:24 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.98: +3 -1 lines
Diff to previous 1.98 (colored)

Noted areas that need work in libmdoc.

Revision 1.98 / (download) - annotate - [select for diffs], Wed Jul 29 08:52:24 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.97: +5 -3 lines
Diff to previous 1.97 (colored)

Columns with `Bl -column' correctly check for CALLABLE status.

Revision 1.97 / (download) - annotate - [select for diffs], Wed Jul 29 08:46:06 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
Changes since 1.96: +5 -7 lines
Diff to previous 1.96 (colored)

Moved CALLABLE check to lookup_raw().
Made PARSABLE check occur prior to lookup().
Non-PARSEABLE macros no longer warn against having macro-like parameters.
Non-CALLABLE macros no longer produce an error, just display their symbols (as in groff) (pointed out by joerg@netbsd.org).

Revision 1.96 / (download) - annotate - [select for diffs], Mon Jul 27 19:43:02 2009 UTC (12 years, 1 month ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_5
Changes since 1.95: +3 -3 lines
Diff to previous 1.95 (colored)

main.c using fprintf instead of warnx for parse errors (like cc).
Error string is now file:line:col: message.
Removed sed from vim -q example in manuals.7.
Fixed column reporting (off by one).

Revision 1.95 / (download) - annotate - [select for diffs], Mon Jul 20 14:09:38 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_4, VERSION_1_8_3, VERSION_1_8_2
Changes since 1.94: +1 -2 lines
Diff to previous 1.94 (colored)

Replaced ugly TABSEP handling with simpler routine.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Jul 17 12:27:49 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_1
Changes since 1.93: +1 -2 lines
Diff to previous 1.93 (colored)

Removed EARGVPARM (superfluous, overly error-generating).
Added `sp' handler.

Revision 1.93 / (download) - annotate - [select for diffs], Fri Jul 17 10:56:57 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

Added `br' and `sp' macros (requested by joerg@netbsd.org, jmc@openbsd.org).

Revision 1.92 / (download) - annotate - [select for diffs], Thu Jul 16 13:42:12 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.91: +5 -1 lines
Diff to previous 1.91 (colored)

Added Linux compat (strlcpy).

Revision 1.91 / (download) - annotate - [select for diffs], Wed Jul 15 15:36:38 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.90: +96 -34 lines
Diff to previous 1.90 (colored)

libmdoc now breaks up free-form lines into tokens prior to be passed to the backend (simplifies LITERAL mode in front-end).

Revision 1.90 / (download) - annotate - [select for diffs], Sun Jul 12 20:50:08 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_0
Changes since 1.89: +2 -1 lines
Diff to previous 1.89 (colored)

Replacement of `Lb' in mdoc_action.c.
Added warning against bogus `Lb' (like groff does).
Added proper quotes around `Lb' in mdoc_term.c.
Moved mdoc_a2lib -> libmdoc (where it belongs).

Revision 1.89 / (download) - annotate - [select for diffs], Tue Jul 7 09:29:15 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_24, VERSION_1_7_23
Changes since 1.88: +61 -175 lines
Diff to previous 1.88 (colored)

Tabularised error-code lookup in mdoc.c.

Revision 1.88 / (download) - annotate - [select for diffs], Mon Jul 6 13:04:52 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.87: +188 -127 lines
Diff to previous 1.87 (colored)

Consolidated all err/warnings into mdoc.c via libmdoc.h.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Jul 6 09:21:24 2009 UTC (12 years, 2 months ago) by kristaps
Branch: MAIN
Changes since 1.86: +9 -14 lines
Diff to previous 1.86 (colored)

Initial removal of enum mdoc_warn from mdoc warnings (unnecessary complication).

Revision 1.86 / (download) - annotate - [select for diffs], Thu Jun 18 20:46:19 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_22, VERSION_1_7_21, VERSION_1_7_20
Changes since 1.85: +6 -1 lines
Diff to previous 1.85 (colored)

Added nchild decrement in libman (not used, but better in than forgotten).
Added nchild to libmdoc, deprecated count() functions in validator.

Revision 1.85 / (download) - annotate - [select for diffs], Wed Jun 17 10:53:32 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_19
Changes since 1.84: +22 -14 lines
Diff to previous 1.84 (colored)

Section orders are more elegantly handled (MDOC_PBODY is a flag).
Cleaned up string->enum conversion for section lookup.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Jun 17 07:59:47 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.83: +15 -13 lines
Diff to previous 1.83 (colored)

Fixed lint invocation in Makefile.
Minor cleanups in mdoc.c.

Revision 1.83 / (download) - annotate - [select for diffs], Tue Jun 16 20:22:23 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.82: +1 -5 lines
Diff to previous 1.82 (colored)

Clean-up: in-source documentation.

Revision 1.82 / (download) - annotate - [select for diffs], Tue Jun 16 19:45:51 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.81: +6 -6 lines
Diff to previous 1.81 (colored)

Removed MDOC___: moved MDOC_Ap to its index (comments not passed into mdoc parser).

Revision 1.81 / (download) - annotate - [select for diffs], Tue Jun 16 19:13:28 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.80: +2 -6 lines
Diff to previous 1.80 (colored)

Modernised comment handling: text following \" is thrown away before
either parser is invoked.  Single-dot lines correctly handled.  This
confirms with both new- and old-groff.  "Comment" subsection added to
mdoc.7 and man.7.

Revision 1.80 / (download) - annotate - [select for diffs], Mon Jun 15 10:36:01 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_17
Changes since 1.79: +1 -50 lines
Diff to previous 1.79 (colored)

Deprecated mdoc_msg (not being used anywhere).

Revision 1.79 / (download) - annotate - [select for diffs], Mon Jun 15 10:02:53 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.78: +1 -18 lines
Diff to previous 1.78 (colored)

Removed mdoc_nwarn (not being used anywhere).

Revision 1.78 / (download) - annotate - [select for diffs], Mon Jun 15 09:55:43 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
Changes since 1.77: +133 -1 lines
Diff to previous 1.77 (colored)

mdoc error/warn macros replaced with real functions for GCC2 support (miod@openbsd.org).

Revision 1.77 / (download) - annotate - [select for diffs], Fri Jun 12 12:52:51 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_16, VERSION_1_7_15
Changes since 1.76: +5 -3 lines
Diff to previous 1.76 (colored)

Lint fixes (no effect).
Versioning up.

Revision 1.76 / (download) - annotate - [select for diffs], Wed Jun 10 20:18:43 2009 UTC (12 years, 3 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_14
Changes since 1.75: +2 -2 lines
Diff to previous 1.75 (colored)

Fixed license email address.

Revision 1.75 / (download) - annotate - [select for diffs], Sun Apr 12 19:45:26 2009 UTC (12 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_13
Changes since 1.74: +10 -12 lines
Diff to previous 1.74 (colored)

Using proper license template (const).

Revision 1.74 / (download) - annotate - [select for diffs], Thu Apr 2 06:51:44 2009 UTC (12 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_12, VERSION_1_7_10, OPENBSD_CHECKIN
Changes since 1.73: +10 -8 lines
Diff to previous 1.73 (colored)

mdoc_tokhash -> hash
Initial man hashtab (BROKEN).

Revision 1.73 / (download) - annotate - [select for diffs], Tue Mar 31 13:50:19 2009 UTC (12 years, 5 months ago) by kristaps
Branch: MAIN
Changes since 1.72: +137 -121 lines
Diff to previous 1.72 (colored)

General clean-ups.

Revision 1.72 / (download) - annotate - [select for diffs], Mon Mar 23 15:41:09 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_5
Changes since 1.71: +6 -11 lines
Diff to previous 1.71 (colored)

-man linked to mandoc in documentation.

Revision 1.71 / (download) - annotate - [select for diffs], Mon Mar 23 15:20:51 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.70: +27 -21 lines
Diff to previous 1.70 (colored)

-man printing linked to -Ttree.

Revision 1.70 / (download) - annotate - [select for diffs], Mon Mar 23 14:22:11 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.69: +19 -31 lines
Diff to previous 1.69 (colored)

First addition of -man macro support.
Abstraction of mdoc.

Revision 1.69 / (download) - annotate - [select for diffs], Sat Mar 21 09:42:07 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_6_5
Changes since 1.68: +3 -2 lines
Diff to previous 1.68 (colored)

Added %Q macro.

Revision 1.68 / (download) - annotate - [select for diffs], Fri Mar 20 15:14:01 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_6_2
Changes since 1.67: +42 -9 lines
Diff to previous 1.67 (colored)

Support for `Bd' of all types (see mdoc.7 for newline/tab rules).
Renamed term.c and terminal.c functions to be term_.
Some bugfixes to lists.

Revision 1.67 / (download) - annotate - [select for diffs], Thu Mar 19 11:49:00 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.66: +31 -4 lines
Diff to previous 1.66 (colored)

Many more ASCII escapes added.
Stripped nroff punt from mdocterm.c.
Fixed multiple-file handling for mdocterm.c.
Cleared up mdoc.h API.

Revision 1.66 / (download) - annotate - [select for diffs], Mon Mar 16 23:37:28 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_5_3
Changes since 1.65: +3 -3 lines
Diff to previous 1.65 (colored)

Changed e-mail address to @openbsd.
Cleaned up manual-page documentation.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Mar 16 22:19:19 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.64: +7 -6 lines
Diff to previous 1.64 (colored)

Fixed mdoc_phrase escape handling.
Added MDOC_IGNDELIM (Pf, soon Li, etc.).
macro_constant_delimited ignargs -> argv.c parsing.
Renamed macro functions to correspond to ontologies.
`Fo' and `St' made callable (compat documented).
strings.sh deprecated (directly using CPP).
Abstracted ASCII translation into ascii.{c,in}.
ASCII table uses a self-reordering chained hashtable.
Removed old regressions.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Mar 12 16:30:50 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_5_1
Changes since 1.63: +6 -4 lines
Diff to previous 1.63 (colored)

Added -nested (doesn't do anything).
Added .%C.
.Cd is now callable.
Added .Rv -std.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Mar 12 15:55:11 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.62: +14 -2 lines
Diff to previous 1.62 (colored)

NetBSD '.[[:whitespace:]]*' properly handled.
mdoc.3 indicates compatibilities and bugs.

Revision 1.62 / (download) - annotate - [select for diffs], Thu Mar 12 02:57:36 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.61: +1 -3 lines
Diff to previous 1.61 (colored)

Brq/Bro/Brc fixed up and pretty.
Cleaned up Aq/Sq use of escapes in term.c.
Added initial -column support.
Fixed argv returning ARGV_WORD and tokenising anyway.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Mar 11 00:39:58 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.60: +3 -2 lines
Diff to previous 1.60 (colored)

Expanded perfect htab to use 27 * 26 * 3 space.
Added Brq, Bro and Brc macros.
Added lbrace and rbrace to special characters.
Fixed spacing in braces.

Revision 1.60 / (download) - annotate - [select for diffs], Mon Mar 9 14:19:59 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored)

Added `Mt' and `Lk' macros (NetBSD).

Revision 1.59 / (download) - annotate - [select for diffs], Mon Mar 9 13:35:09 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_4_6
Changes since 1.58: +3 -3 lines
Diff to previous 1.58 (colored)

Fixed valgrind issues.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Mar 9 13:04:01 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_4_5, VERSION_1_4_4
Changes since 1.57: +21 -6 lines
Diff to previous 1.57 (colored)

Added "Input Encoding" section to mdoc*.1.
Newline-escaped lines are concatenated.
Added -fign-macro option.

Revision 1.57 / (download) - annotate - [select for diffs], Sun Mar 8 20:57:35 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.56: +3 -2 lines
Diff to previous 1.56 (colored)

Added `Lp' macro.

Revision 1.56 / (download) - annotate - [select for diffs], Sun Mar 8 20:50:12 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

Added .Ap.

Revision 1.55 / (download) - annotate - [select for diffs], Sun Mar 8 18:02:36 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_4_2
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored)

Updated manuals.
Added -fign-scope and -fign-escape.

Revision 1.54 / (download) - annotate - [select for diffs], Sun Mar 8 12:40:27 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.53: +3 -1 lines
Diff to previous 1.53 (colored)

Memory fixes in new dynamic schema.

Revision 1.53 / (download) - annotate - [select for diffs], Sun Mar 8 11:41:22 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.52: +106 -200 lines
Diff to previous 1.52 (colored)

BROKEN CHECK-IN.  Wide-ranging updates.
Removed libmdoc internal argv limit (all dynamic).
Removed "data" union in mdoc_node (to be selectively re-added).

Revision 1.52 / (download) - annotate - [select for diffs], Fri Mar 6 14:13:47 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.51: +8 -62 lines
Diff to previous 1.51 (colored)

Strings abstracted into dynamically-created C files.
Added -V option.
Deprecated README files.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Mar 5 13:12:12 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.50: +4 -3 lines
Diff to previous 1.50 (colored)

Cleaned up ctype functions (netbsd).
Fixed .Ex/.Rv -std usage.
Made Ar provide default value.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Mar 2 17:14:46 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.49: +17 -6 lines
Diff to previous 1.49 (colored)

Added new old escape sequence \*[nn].
Initial correct .Bd support (still only text in literal displays).
Symbols put into tables (character-encoding).

Revision 1.49 / (download) - annotate - [select for diffs], Sun Mar 1 23:14:15 2009 UTC (12 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_3_15
Changes since 1.48: +7 -2 lines
Diff to previous 1.48 (colored)

Backed-out warning about Ds.
Backed-out assertion about Bd subtypes.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Feb 23 12:45:19 2009 UTC (12 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_3_9, VERSION_1_3_8, VERSION_1_3_6, VERSION_1_3_5, VERSION_1_3_13, VERSION_1_3_11, VERSION_1_3_10
Changes since 1.47: +14 -129 lines
Diff to previous 1.47 (colored)

More in-file documentation and Linux-isation.
Moved mdoc_macros table definition into macro.c, where it belongs.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Feb 22 22:58:39 2009 UTC (12 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

BROKEN BUILD: migrating to mmain stuff.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Feb 22 14:31:08 2009 UTC (12 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.45: +15 -11 lines
Diff to previous 1.45 (colored)

Cleaned up validation source a bit.
Fixed `Nm' and `Nd' detection.
Added a few more terminal outputs.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Feb 20 07:43:15 2009 UTC (12 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.44: +19 -8 lines
Diff to previous 1.44 (colored)

Removed tree-writing capability (for now, only validates and exits).

Revision 1.44 / (download) - annotate - [select for diffs], Wed Jan 21 11:35:26 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.43: +9 -6 lines
Diff to previous 1.43 (colored)

More validation on prologue/first NAME section.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jan 20 20:56:21 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.42: +19 -19 lines
Diff to previous 1.42 (colored)

In-progress migration to ARGV separation.

Revision 1.42 / (download) - annotate - [select for diffs], Tue Jan 20 13:49:36 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_2_0
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored)

Lint- and NetBSD-compiler checks.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Jan 20 13:44:05 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.40: +9 -2 lines
Diff to previous 1.40 (colored)

Re-merged old port-building routines.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Jan 20 13:05:28 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

Quoted-literals handled correctly.

Revision 1.39 / (download) - annotate - [select for diffs], Tue Jan 20 12:51:28 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.38: +34 -13 lines
Diff to previous 1.38 (colored)

Moved prologue-pruning into action.c.
Added line-arg softmax.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jan 19 17:53:54 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.37: +6 -13 lines
Diff to previous 1.37 (colored)

Plugged memory leak in meta free.

Revision 1.37 / (download) - annotate - [select for diffs], Mon Jan 19 17:51:33 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.36: +14 -7 lines
Diff to previous 1.36 (colored)

More correct validation.
Elision of prologue macros from main tree.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Jan 19 17:02:58 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.35: +3 -1 lines
Diff to previous 1.35 (colored)

Removed unnecessary test cases (most were for visual).
Finally fixed scope-rewinding (MDOC_VALID).

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jan 17 20:10:36 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.34: +23 -1 lines
Diff to previous 1.34 (colored)

Lint checks.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Jan 17 16:15:27 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.33: +15 -4 lines
Diff to previous 1.33 (colored)

Documentation, more validations, cleaned up actions, added Nm action.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jan 16 15:58:50 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.32: +3 -2 lines
Diff to previous 1.32 (colored)

Initial separation of tree/mdocml.1.
Finished mdoc.3.
Broken build: mdocml.c.

Revision 1.32 / (download) - annotate - [select for diffs], Fri Jan 16 14:04:26 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

Added more validation (parents/msecs).
Initial function documentation for mdoc.3.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Jan 15 17:38:57 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.30: +31 -27 lines
Diff to previous 1.30 (colored)

Broken build (changing err/warn/msg function prototypes for clarity).

Revision 1.30 / (download) - annotate - [select for diffs], Thu Jan 15 15:46:45 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_1_0
Changes since 1.29: +13 -30 lines
Diff to previous 1.29 (colored)

*** empty log message ***

Revision 1.29 / (download) - annotate - [select for diffs], Wed Jan 14 11:58:24 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.28: +26 -26 lines
Diff to previous 1.28 (colored)

*** empty log message ***

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jan 12 16:39:57 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

*** empty log message ***

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jan 12 12:52:21 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.26: +32 -13 lines
Diff to previous 1.26 (colored)

*** empty log message ***

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jan 12 10:31:53 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.25: +6 -33 lines
Diff to previous 1.25 (colored)

*** empty log message ***

Revision 1.25 / (download) - annotate - [select for diffs], Fri Jan 9 14:45:44 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.24: +27 -12 lines
Diff to previous 1.24 (colored)

*** empty log message ***

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jan 8 15:05:50 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored)

*** empty log message ***

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jan 8 14:55:59 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.22: +63 -54 lines
Diff to previous 1.22 (colored)

*** empty log message ***

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jan 7 16:11:40 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.21: +27 -12 lines
Diff to previous 1.21 (colored)

All macros have lines/positions.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jan 7 15:57:14 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored)

Added line numbering.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 7 15:53:00 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.19: +36 -6 lines
Diff to previous 1.19 (colored)

*** empty log message ***

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jan 6 15:49:44 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.18: +74 -70 lines
Diff to previous 1.18 (colored)

Memory leak, some mdoc(7) conformities.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Jan 5 17:57:08 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.17: +5 -3 lines
Diff to previous 1.17 (colored)

*** empty log message ***

Revision 1.17 / (download) - annotate - [select for diffs], Mon Jan 5 16:11:14 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.16: +54 -33 lines
Diff to previous 1.16 (colored)

Finished initial parse sequence.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jan 5 14:14:04 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.15: +2 -37 lines
Diff to previous 1.15 (colored)

Actions and validations properly added.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jan 3 22:10:22 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.14: +3 -5 lines
Diff to previous 1.14 (colored)

Huge changes.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jan 2 14:06:16 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.13: +6 -5 lines
Diff to previous 1.13 (colored)

*** empty log message ***

Revision 1.13 / (download) - annotate - [select for diffs], Thu Jan 1 20:40:16 2009 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.12: +61 -93 lines
Diff to previous 1.12 (colored)

Broke apart macro_prologuexxx into prologue.
Fixed validation for line-scoped.
Merged const_arg and const.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Dec 30 19:06:03 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (colored)

*** empty log message ***

Revision 1.11 / (download) - annotate - [select for diffs], Tue Dec 30 13:43:53 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

*** empty log message ***

Revision 1.10 / (download) - annotate - [select for diffs], Mon Dec 29 19:25:29 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored)

*** empty log message ***

Revision 1.9 / (download) - annotate - [select for diffs], Mon Dec 29 18:08:44 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.8: +4 -4 lines
Diff to previous 1.8 (colored)

More macros.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Dec 29 12:19:41 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.7: +7 -7 lines
Diff to previous 1.7 (colored)

*** empty log message ***

Revision 1.7 / (download) - annotate - [select for diffs], Sun Dec 28 23:07:04 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.6: +7 -7 lines
Diff to previous 1.6 (colored)

*** empty log message ***

Revision 1.6 / (download) - annotate - [select for diffs], Sun Dec 28 21:25:09 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.5: +14 -21 lines
Diff to previous 1.5 (colored)

*** empty log message ***

Revision 1.5 / (download) - annotate - [select for diffs], Sun Dec 28 00:34:20 2008 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.4: +10 -8 lines
Diff to previous 1.4 (colored)

*** empty log message ***

Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 23 05:30:49 2008 UTC (12 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.3: +7 -32 lines
Diff to previous 1.3 (colored)

*** empty log message ***

Revision 1.3 / (download) - annotate - [select for diffs], Wed Dec 17 17:18:38 2008 UTC (12 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.2: +7 -14 lines
Diff to previous 1.2 (colored)

Prologue Dd and Dt macros.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Dec 15 02:23:12 2008 UTC (12 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.1: +22 -13 lines
Diff to previous 1.1 (colored)

Linted.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Dec 15 01:54:58 2008 UTC (12 years, 9 months ago) by kristaps
Branch: MAIN

Purged all old files in favour of new design.  Selective reintegration.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb