CVS log for mandoc/libmdoc.h

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.117 / (download) - annotate - [select for diffs], Mon Dec 31 04:55:46 2018 UTC (5 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6, VERSION_1_14_5, HEAD
Changes since 1.116: +1 -3 lines
Diff to previous 1.116 (unified) to selected 1.87 (unified)

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.116 / (download) - annotate - [select for diffs], Sun Dec 30 00:49:54 2018 UTC (5 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.115: +5 -1 lines
Diff to previous 1.115 (unified) to selected 1.87 (unified)

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.115 / (download) - annotate - [select for diffs], Fri Dec 21 17:15:18 2018 UTC (5 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.114: +2 -1 lines
Diff to previous 1.114 (unified) to selected 1.87 (unified)

Rename mandoc_getarg() to roff_getarg() and pass it the roff parser
struct as an argument such that after copy-in, it can call roff_expand()
once again, which used to be called roff_res() before this.  This
fixes a subtle low-level roff(7) parsing bug reported by Fabio
Scotoni <fabio at esse dot ch> in the 4.4BSD-Lite2 mdoc.samples(7)
manual page, because that page used an escaped escape sequence in
a macro argument.

To expand escaped escape sequences in quoted mdoc(7) arguments, too,
stop bypassing the call to roff_getarg() in mdoc_argv.c, function args()
for this case.  This does not solve the case of escaped escape sequences
in quoted .Bl -column phrases yet.

Because roff_expand() can make the string longer, roff_getarg() can no
longer operate in-place but needs to malloc(3) the returned string.
In the high-level parsers, free(3) that string after processing it.

Revision 1.114 / (download) - annotate - [select for diffs], Tue Dec 4 02:53:51 2018 UTC (5 years, 3 months ago) by schwarze
Branch: MAIN
Changes since 1.113: +1 -2 lines
Diff to previous 1.113 (unified) to selected 1.87 (unified)

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.113 / (download) - annotate - [select for diffs], Fri Aug 17 20:33:37 2018 UTC (5 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.112: +3 -5 lines
Diff to previous 1.112 (unified) to selected 1.87 (unified)

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.112 / (download) - annotate - [select for diffs], Tue May 30 16:22:03 2017 UTC (6 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_4, VERSION_1_14_3, VERSION_1_14_2
Changes since 1.111: +1 -2 lines
Diff to previous 1.111 (unified) to selected 1.87 (unified)

Macro argument quoting does not prevent recognition of punctuation
and of called macros.

This bug affects almost all macros, and fixing it simplifies the
code.  It is amazing that the bogus ARGS_QWORD feature got implemented
in the first place, and then carrier along for more than eight years
without anybody ever noticing that it was pointless.

Reported by Leah Neukirchen <leah at vuxu dot org>, found on Void Linux.

Revision 1.111 / (download) - annotate - [select for diffs], Sat Apr 29 12:45:41 2017 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.110: +1 -2 lines
Diff to previous 1.110 (unified) to selected 1.87 (unified)

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.110 / (download) - annotate - [select for diffs], Mon Apr 24 23:06:17 2017 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.109: +12 -11 lines
Diff to previous 1.109 (unified) to selected 1.87 (unified)

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.109 / (download) - annotate - [select for diffs], Thu Feb 16 03:00:23 2017 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_1, VERSION_1_13
Changes since 1.108: +2 -2 lines
Diff to previous 1.108 (unified) to selected 1.87 (unified)

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.108 / (download) - annotate - [select for diffs], Sat Nov 7 14:01:16 2015 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_4
Changes since 1.107: +1 -4 lines
Diff to previous 1.107 (unified) to selected 1.87 (unified)

In private header files, __BEGIN_DECLS and __END_DECLS are pointless.
Because these work slightly differently on different systems,
they are becoming a maintenance burden in the portable version,
so delete them.

Besides, one of the chief design goals of the mandoc toolbox is to
make sure that nothing related to documentation requires C++.
Consequently, linking mandoc against any kind of C++ program would
defeat the purpose and is not supported.
I don't understand why kristaps@ added them in the first place.

Revision 1.107 / (download) - annotate - [select for diffs], Tue Oct 20 02:01:31 2015 UTC (8 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.106: +6 -2 lines
Diff to previous 1.106 (unified) to selected 1.87 (unified)

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.106 / (download) - annotate - [select for diffs], Sat Oct 17 00:21:07 2015 UTC (8 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.105: +2 -4 lines
Diff to previous 1.105 (unified) to selected 1.87 (unified)

Very tricky diff to fix macro interpretation and spacing around tabs
in .Bl -column; it took me more than a day to get this right.
Triggered by a loosely related bug report from tim@.

The lesson for you is:  Use .Ta macros in .Bl -column, avoid tabs,
or you are in for surprises:  The last word before a tab is not
interpreted as a macro (unless there is a blank in between), the
first word after a tab isn't either (unless there is a blank in
between), and a blank after a tab causes a leading blank in the
respective output cell.  Yes, "blank", "tab", "blank tab" and "tab
blank" all have different semantics; if you write code relying on
that, good luck maintaining it afterwards...

Revision 1.105 / (download) - annotate - [select for diffs], Thu Apr 23 15:35:59 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.104: +1 -2 lines
Diff to previous 1.104 (unified) to selected 1.87 (unified)

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

Revision 1.104 / (download) - annotate - [select for diffs], Sun Apr 19 14:25:41 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.103: +1 -6 lines
Diff to previous 1.103 (unified) to selected 1.87 (unified)

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.103 / (download) - annotate - [select for diffs], Sun Apr 19 13:50:25 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.102: +1 -3 lines
Diff to previous 1.102 (unified) to selected 1.87 (unified)

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.102 / (download) - annotate - [select for diffs], Sat Apr 18 17:28:36 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.101: +1 -2 lines
Diff to previous 1.101 (unified) to selected 1.87 (unified)

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.101 / (download) - annotate - [select for diffs], Sat Apr 18 17:01:58 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.100: +1 -2 lines
Diff to previous 1.100 (unified) to selected 1.87 (unified)

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.100 / (download) - annotate - [select for diffs], Sat Apr 18 16:06:39 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.99: +17 -47 lines
Diff to previous 1.99 (unified) to selected 1.87 (unified)

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.99 / (download) - annotate - [select for diffs], Thu Apr 2 23:48:19 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.98: +2 -2 lines
Diff to previous 1.98 (unified) to selected 1.87 (unified)

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.98 / (download) - annotate - [select for diffs], Thu Apr 2 22:48:17 2015 UTC (8 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.97: +24 -24 lines
Diff to previous 1.97 (unified) to selected 1.87 (unified)

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.97 / (download) - annotate - [select for diffs], Mon Feb 2 04:26:44 2015 UTC (9 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_3
Changes since 1.96: +2 -2 lines
Diff to previous 1.96 (unified) to selected 1.87 (unified)

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.96 / (download) - annotate - [select for diffs], Mon Dec 1 04:05:32 2014 UTC (9 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_2
Changes since 1.95: +1 -5 lines
Diff to previous 1.95 (unified) to selected 1.87 (unified)

remove unneccessary inclusion protection; patch from deraadt@

Revision 1.95 / (download) - annotate - [select for diffs], Sat Nov 29 03:37:44 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.94: +1 -3 lines
Diff to previous 1.94 (unified) to selected 1.87 (unified)

Provide a helper function macro_or_word() and use it to prune the
same chunk of argument parsing code out of five of the eight callback
functions.  The other three have too much special handling to
participate.
As a bonus, let lookup() and mdoc_args() deal with line macros and
retire the lookup_raw() helper and the mdoc_zargs() internal interface
function.
No functional change, minus 40 lines of code.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Nov 28 23:21:32 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.93: +2 -9 lines
Diff to previous 1.93 (unified) to selected 1.87 (unified)

Fold the loop around mdoc_argv() into the function itself,
it was the same in all four cases.  As a bonus, get rid
of one enum type that was used for internal communication.
No functional change, minus 40 lines of code.

Revision 1.93 / (download) - annotate - [select for diffs], Fri Nov 28 18:36:35 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.92: +1 -2 lines
Diff to previous 1.92 (unified) to selected 1.87 (unified)

Retire support for CSRG supplementary document titles.  These are
long obsolete and were never written in mdoc(7) in the first place.
Removes 100 lines from source files.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Nov 28 04:47:03 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.91: +4 -4 lines
Diff to previous 1.91 (unified) to selected 1.87 (unified)

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

Revision 1.91 / (download) - annotate - [select for diffs], Fri Nov 28 03:14:18 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.90: +9 -10 lines
Diff to previous 1.90 (unified) to selected 1.87 (unified)

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

Revision 1.90 / (download) - annotate - [select for diffs], Fri Nov 28 01:05:43 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (unified) to selected 1.87 (unified)

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

Revision 1.89 / (download) - annotate - [select for diffs], Mon Nov 17 06:44:58 2014 UTC (9 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.88: +3 -2 lines
Diff to previous 1.88 (unified) to selected 1.87 (unified)

Multiple fixes with respect to in-line macros:
* .No selects the default font; relevant e.g. in .Bf blocks
* no need to force empty .Li elements
* closing delimiters as leading macro arguments do not suppress space
* opening delimiters at the end of a macro line do not suppress space
* correctly handle delimiter spacing in -Tman
As a side effect, these fixes let mandoc warn about empty .No macros
as requested by bentley@.

Revision 1.88 / (download) - annotate - [select for diffs], Fri Aug 1 17:40:34 2014 UTC (9 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_13_1, VERSION_1_12_4, VERSION_1_12
Changes since 1.87: +1 -5 lines
Diff to previous 1.87 (unified)

demacrify: get rid of man_nmsg(), man_pmsg(), mdoc_nmsg(), mdoc_pmsg()

Revision 1.87 / (download) - annotate - [selected], Wed Jul 30 21:18:24 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.86: +1 -2 lines
Diff to previous 1.86 (unified)

garbage collect three unused global flags; no functional change

Revision 1.86 / (download) - annotate - [select for diffs], Wed Jul 9 11:31:43 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.85: +2 -2 lines
Diff to previous 1.85 (unified) to selected 1.87 (unified)

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

Revision 1.85 / (download) - annotate - [select for diffs], Wed Jul 2 03:48:07 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.84: +2 -1 lines
Diff to previous 1.84 (unified) to selected 1.87 (unified)

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.84 / (download) - annotate - [select for diffs], Sun Apr 20 16:46:04 2014 UTC (9 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.83: +5 -5 lines
Diff to previous 1.83 (unified) to selected 1.87 (unified)

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

Revision 1.83 / (download) - annotate - [select for diffs], Sun Jan 5 20:26:36 2014 UTC (10 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.82: +2 -1 lines
Diff to previous 1.82 (unified) to selected 1.87 (unified)

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.82 / (download) - annotate - [select for diffs], Mon Oct 21 23:47:58 2013 UTC (10 years, 5 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_3
Changes since 1.81: +7 -3 lines
Diff to previous 1.81 (unified) to selected 1.87 (unified)

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.81 / (download) - annotate - [select for diffs], Sat Nov 17 00:26:33 2012 UTC (11 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_2
Changes since 1.80: +8 -9 lines
Diff to previous 1.80 (unified) to selected 1.87 (unified)

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.80 / (download) - annotate - [select for diffs], Wed Jul 18 11:11:12 2012 UTC (11 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.79: +2 -1 lines
Diff to previous 1.79 (unified) to selected 1.87 (unified)

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.79 / (download) - annotate - [select for diffs], Sun May 27 17:48:57 2012 UTC (11 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.78: +2 -1 lines
Diff to previous 1.78 (unified) to selected 1.87 (unified)

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.78 / (download) - annotate - [select for diffs], Fri Dec 2 01:37:14 2011 UTC (12 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_1
Changes since 1.77: +1 -2 lines
Diff to previous 1.77 (unified) to selected 1.87 (unified)

In man(7), when no explicit volume name is given, use the default
volume name for the respective manual section, just like in mdoc(7).
This gives us nicer page headers for cvs(1), lynx(1), tic(1),
mkhybrid(8), and many curses(3) manuals.

ok kristaps@

To not break compatibility, i wrote a corresponding patch for GNU troff
which Werner Lemberg accepted upstream at rev. 1.65 of:
http://cvs.savannah.gnu.org/viewvc/groff/tmac/an-old.tmac?root=groff

Revision 1.77 / (download) - annotate - [select for diffs], Sun Sep 18 14:14:15 2011 UTC (12 years, 6 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_12_0
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (unified) to selected 1.87 (unified)

forgotten Copyright bumps; no code change
found while syncing to OpenBSD

Revision 1.76 / (download) - annotate - [select for diffs], Mon Jul 18 07:48:14 2011 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_7, VERSION_1_11_6, VERSION_1_11_5
Changes since 1.75: +1 -2 lines
Diff to previous 1.75 (unified) to selected 1.87 (unified)

Follow-up: forgot to remove useless regset structs.

Revision 1.75 / (download) - annotate - [select for diffs], Mon Jul 18 07:46:41 2011 UTC (12 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.74: +2 -1 lines
Diff to previous 1.74 (unified) to selected 1.87 (unified)

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.74 / (download) - annotate - [select for diffs], Tue Apr 19 16:38:48 2011 UTC (12 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_4, VERSION_1_11_3, VERSION_1_11_2
Changes since 1.73: +2 -8 lines
Diff to previous 1.73 (unified) to selected 1.87 (unified)

Clean up parsing of delimiters in -mdoc.  First, remove the "dowarn"
variable from mandoc_getarg() so that it prints the warning every time.
Then, remove the warning from args_checkpunct().  This way, warnings
are being posted at the correct time.  This makes the flag argument to
mdoc_zargs() superfluous, so make it be zero when it's invoked.  Finally,
move the args() flags into mdoc_argv.c and make them enums.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Apr 17 09:08:19 2011 UTC (12 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.72: +11 -11 lines
Diff to previous 1.72 (unified) to selected 1.87 (unified)

Get mdoc_argv.c ready to use [some of] mandoc_getarg() by giving said
function a parameter to suppress warnings.

Revision 1.72 / (download) - annotate - [select for diffs], Tue Mar 22 14:33:05 2011 UTC (13 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_11_1
Changes since 1.71: +1 -3 lines
Diff to previous 1.71 (unified) to selected 1.87 (unified)

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.71 / (download) - annotate - [select for diffs], Tue Mar 22 14:28:48 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.70: +1 -2 lines
Diff to previous 1.70 (unified) to selected 1.87 (unified)

mdoc_argn_free is only used local to mdoc_argv.c, so make it static.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Mar 22 14:05:45 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.69: +21 -1 lines
Diff to previous 1.69 (unified) to selected 1.87 (unified)

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.69 / (download) - annotate - [select for diffs], Sun Mar 20 16:02:05 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.68: +5 -8 lines
Diff to previous 1.68 (unified) to selected 1.87 (unified)

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.68 / (download) - annotate - [select for diffs], Thu Mar 17 11:30:23 2011 UTC (13 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_10
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (unified) to selected 1.87 (unified)

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.67 / (download) - annotate - [select for diffs], Thu Mar 17 09:28:00 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.66: +1 -4 lines
Diff to previous 1.66 (unified) to selected 1.87 (unified)

Kill off some unused function prototypes.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Mar 17 09:22:39 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.65: +1 -2 lines
Diff to previous 1.65 (unified) to selected 1.87 (unified)

Move mdoc_str2sec() into mdoc_validate.c as a2sec(), as that's the only
place that it's being used.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Mar 17 09:16:38 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.64: +1 -10 lines
Diff to previous 1.64 (unified) to selected 1.87 (unified)

Move mdoc_isdelim() into mandoc.h as mandoc_isdelim().  This allows the
removal of manual delimiter checks in html.c and term.c.  Finally, add
the escaped period as a closing delimiter, removing a TODO to this
effect.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Mar 17 01:23:28 2011 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (unified) to selected 1.87 (unified)

Make args_checkpunct() use mdoc_isdelim() instead of mdoc_iscdelim(),
which is wrong.  Then remove mdoc_iscdelim() alltogether.

Revision 1.63 / (download) - annotate - [select for diffs], Tue Nov 30 13:04:14 2010 UTC (13 years, 4 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_9, VERSION_1_10_8, VERSION_1_10_7
Changes since 1.62: +1 -4 lines
Diff to previous 1.62 (unified) to selected 1.87 (unified)

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.62 / (download) - annotate - [select for diffs], Fri Aug 20 01:02:07 2010 UTC (13 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_10_6
Changes since 1.61: +1 -2 lines
Diff to previous 1.61 (unified) to selected 1.87 (unified)

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.61 / (download) - annotate - [select for diffs], Tue Jul 13 23:53:20 2010 UTC (13 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_10_5_PREPDF, VERSION_1_10_5
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (unified) to selected 1.87 (unified)

correct lots of copyright notices;
ok kristaps@

Revision 1.60 / (download) - annotate - [select for diffs], Wed Jul 7 15:04:54 2010 UTC (13 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_4
Changes since 1.59: +1 -2 lines
Diff to previous 1.59 (unified) to selected 1.87 (unified)

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.59 / (download) - annotate - [select for diffs], Thu Jul 1 22:35:54 2010 UTC (13 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.58: +2 -1 lines
Diff to previous 1.58 (unified) to selected 1.87 (unified)

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.58 / (download) - annotate - [select for diffs], Tue Jun 29 19:20:38 2010 UTC (13 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.57: +4 -1 lines
Diff to previous 1.57 (unified) to selected 1.87 (unified)

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.57 / (download) - annotate - [select for diffs], Sun Jun 27 16:18:13 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_3
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (unified) to selected 1.87 (unified)

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.56 / (download) - annotate - [select for diffs], Sun Jun 27 15:52:41 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.55: +8 -8 lines
Diff to previous 1.55 (unified) to selected 1.87 (unified)

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.55 / (download) - annotate - [select for diffs], Sat Jun 26 16:07:08 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.54: +8 -3 lines
Diff to previous 1.54 (unified) to selected 1.87 (unified)

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

Revision 1.54 / (download) - annotate - [select for diffs], Sat Jun 26 15:36:37 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.53: +2 -1 lines
Diff to previous 1.53 (unified) to selected 1.87 (unified)

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

Revision 1.53 / (download) - annotate - [select for diffs], Sat Jun 19 20:46:27 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_2
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 (unified) to selected 1.87 (unified)

Churn as I finish email address migration kth.se -> bsd.lv.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Jun 3 13:44:36 2010 UTC (13 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_10_1
Changes since 1.51: +2 -3 lines
Diff to previous 1.51 (unified) to selected 1.87 (unified)

Consolidated list processing to a single loop in mdoc_validate.c.  This
relieves having to repeat running over the argument list in
mdoc_action.c and mdoc_validate.c.

Default to LIST_item for type-less lists (groff technically doesn't do
this: it just ignores the `It' lines altogether).

Make MANDOC_LISTTYPE be a recoverable error.

Revision 1.51 / (download) - annotate - [select for diffs], Mon May 31 15:42:09 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (unified) to selected 1.87 (unified)

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.50 / (download) - annotate - [select for diffs], Mon May 24 12:05:04 2010 UTC (13 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.49: +1 -57 lines
Diff to previous 1.49 (unified) to selected 1.87 (unified)

remove unused enum merr;
ok joerg@

Revision 1.49 / (download) - annotate - [select for diffs], Mon May 17 23:57:06 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (unified) to selected 1.87 (unified)

Increase performance by stashing the list type in struct mdoc_node.
This will eventually be used so that mdoc_macro can known whether to
dump list line arguments into the body (`Bl -column' overflowing).

Remove a2list() and arg_listtype() because of this.

Revision 1.48 / (download) - annotate - [select for diffs], Mon May 17 22:11:42 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.47: +8 -15 lines
Diff to previous 1.47 (unified) to selected 1.87 (unified)

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.47 / (download) - annotate - [select for diffs], Sat May 15 16:24:37 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (unified) to selected 1.87 (unified)

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.46 / (download) - annotate - [select for diffs], Sat May 15 08:54:04 2010 UTC (13 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.45: +10 -3 lines
Diff to previous 1.45 (unified) to selected 1.87 (unified)

Distinguish OPEN, MIDDLE and CLOSE delimiters (using an enum).
Only OPEN are drawn before the beginning of a macro;
this is new, before this, MIDDLE ('|') were drawn in front, too.
Only CLOSE are pushed after the end of a macro (as before).
ok kristaps@

Revision 1.45 / (download) - annotate - [select for diffs], Sat May 15 04:47:38 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (unified) to selected 1.87 (unified)

More `Bl -column' dancing: It children also inherit in-phrase flags (noted by Ingo Schwarze).

Revision 1.44 / (download) - annotate - [select for diffs], Fri May 14 17:31:25 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.43: +1 -2 lines
Diff to previous 1.43 (unified) to selected 1.87 (unified)

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

Revision 1.43 / (download) - annotate - [select for diffs], Fri May 14 12:55:22 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.42: +6 -4 lines
Diff to previous 1.42 (unified) to selected 1.87 (unified)

Proper handling of quoted tab-separated column lists.

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

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.41 / (download) - annotate - [select for diffs], Wed May 12 08:41:17 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (unified) to selected 1.87 (unified)

mdoc_atosec -> mdoc_str2sec (consistent with str2 being different from a2).
Changed ordering of sections (EXIT STATUS moved around), argued for by Ulrich Sporlein.
Fixed mdoc_str2sec not to use weird structure.

Revision 1.40 / (download) - annotate - [select for diffs], Sun May 9 10:17:02 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.39: +3 -2 lines
Diff to previous 1.39 (unified) to selected 1.87 (unified)

Introduce ARGS_PEND for `It -column' end-of-line special casing.
Initial rules for insane `It -column' tabsep handling.

Revision 1.39 / (download) - annotate - [select for diffs], Sat May 8 07:30:19 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_24
Changes since 1.38: +2 -3 lines
Diff to previous 1.38 (unified) to selected 1.87 (unified)

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

Revision 1.38 / (download) - annotate - [select for diffs], Fri May 7 06:05:38 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.37: +3 -2 lines
Diff to previous 1.37 (unified) to selected 1.87 (unified)

Initial ARGS_PPHRASE (partial phrase) framework.
Running tally of changes in index.sgml.

Revision 1.37 / (download) - annotate - [select for diffs], Fri May 7 05:54:09 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.36: +9 -6 lines
Diff to previous 1.36 (unified) to selected 1.87 (unified)

enum-ised mdoc_argv() return (better return-value safety).

Revision 1.36 / (download) - annotate - [select for diffs], Fri May 7 05:48:29 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.35: +4 -4 lines
Diff to previous 1.35 (unified) to selected 1.87 (unified)

margerr -> margserr (getting ready for margverr).

Revision 1.35 / (download) - annotate - [select for diffs], Fri May 7 05:34:56 2010 UTC (13 years, 10 months ago) by kristaps
Branch: MAIN
Changes since 1.34: +13 -9 lines
Diff to previous 1.34 (unified) to selected 1.87 (unified)

Wrangle mdoc_args() and mdoc_zargs() to use enum return type.
Fixed lookup() and lookup_raw() to correctly use enum type.
Quashed in_line_argn() bug (not reported, but there) where mixing return values.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Apr 8 07:53:01 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (unified) to selected 1.87 (unified)

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.33 / (download) - annotate - [select for diffs], Tue Apr 6 11:33:00 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_23
Changes since 1.32: +2 -3 lines
Diff to previous 1.32 (unified) to selected 1.87 (unified)

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

Revision 1.32 / (download) - annotate - [select for diffs], Sat Apr 3 14:02:10 2010 UTC (13 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (unified) to selected 1.87 (unified)

Merged Ingo Schwarze's patch (plus documentation) for removing extraneous list types, which happens fairly often.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Mar 31 07:13:53 2010 UTC (14 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_22
Changes since 1.30: +11 -11 lines
Diff to previous 1.30 (unified) to selected 1.87 (unified)

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.30 / (download) - annotate - [select for diffs], Fri Oct 30 05:58:37 2009 UTC (14 years, 5 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-pre2, VERSION_1_9_15-pre1, VERSION_1_9_15, VERSION_1_9_14, VERSION_1_9_13, VERSION_1_9_12
Changes since 1.29: +1 -2 lines
Diff to previous 1.29 (unified) to selected 1.87 (unified)

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

Revision 1.29 / (download) - annotate - [select for diffs], Thu Oct 15 02:56:51 2009 UTC (14 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_9, VERSION_1_9_11, VERSION_1_9_10
Changes since 1.28: +2 -1 lines
Diff to previous 1.28 (unified) to selected 1.87 (unified)

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

Revision 1.28 / (download) - annotate - [select for diffs], Thu Sep 24 15:01:06 2009 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_8, VERSION_1_9_7, VERSION_1_9_6
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (unified) to selected 1.87 (unified)

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.27 / (download) - annotate - [select for diffs], Wed Sep 16 14:40:56 2009 UTC (14 years, 6 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_5
Changes since 1.26: +3 -5 lines
Diff to previous 1.26 (unified) to selected 1.87 (unified)

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.26 / (download) - annotate - [select for diffs], Thu Aug 20 09:07:24 2009 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_2, VERSION_1_9_1
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (unified) to selected 1.87 (unified)

Documented ARGS_ handling in args().

Revision 1.25 / (download) - annotate - [select for diffs], Thu Aug 20 08:59:12 2009 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.24: +5 -3 lines
Diff to previous 1.24 (unified) to selected 1.87 (unified)

Delimiter whitespace is correctly flagged (required some special handling).

Revision 1.24 / (download) - annotate - [select for diffs], Wed Aug 19 14:09:33 2009 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (unified) to selected 1.87 (unified)

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

Revision 1.23 / (download) - annotate - [select for diffs], Tue Aug 18 14:27:16 2009 UTC (14 years, 7 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_9_0
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (unified) to selected 1.87 (unified)

libmdoc accepts whitespace following control character.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jul 29 08:46:06 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.21: +1 -3 lines
Diff to previous 1.21 (unified) to selected 1.87 (unified)

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.21 / (download) - annotate - [select for diffs], Mon Jul 20 14:09:38 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_5, VERSION_1_8_4, VERSION_1_8_3, VERSION_1_8_2
Changes since 1.20: +1 -2 lines
Diff to previous 1.20 (unified) to selected 1.87 (unified)

Replaced ugly TABSEP handling with simpler routine.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jul 19 21:26:27 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.19: +3 -1 lines
Diff to previous 1.19 (unified) to selected 1.87 (unified)

Fixed and cleaned up "phrase" handling (`Bl -column' columns).
Found strange newline bug in -diag handling (and others?).

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

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

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jul 12 20:50:08 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_8_0
Changes since 1.17: +3 -1 lines
Diff to previous 1.17 (unified) to selected 1.87 (unified)

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.17 / (download) - annotate - [select for diffs], Sun Jul 12 20:30:35 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.16: +2 -1 lines
Diff to previous 1.16 (unified) to selected 1.87 (unified)

Moved mdoc_a2st() out of mdoc.h -> libmdoc.h (replacement in mdoc_action.c).
Made bad standards into an error (were a warning).

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jul 12 20:24:24 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (unified) to selected 1.87 (unified)

Moved mdoc_a2att() into libmdoc (replacement happens in mdoc_action.c).

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 12 09:13:21 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_24
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (unified) to selected 1.87 (unified)

Fixed mdoc_nwarn/mdoc_nerr considering themselves err/warn instead of warn/err (BIG mistake).  From suggestion by <joerg@netbsd.org>.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jul 7 09:29:15 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_23
Changes since 1.13: +9 -9 lines
Diff to previous 1.13 (unified) to selected 1.87 (unified)

Tabularised error-code lookup in mdoc.c.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jul 6 13:04:52 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.12: +71 -12 lines
Diff to previous 1.12 (unified) to selected 1.87 (unified)

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

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jul 6 09:21:24 2009 UTC (14 years, 8 months ago) by kristaps
Branch: MAIN
Changes since 1.11: +5 -8 lines
Diff to previous 1.11 (unified) to selected 1.87 (unified)

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

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jun 17 10:53:32 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_22, VERSION_1_7_21, VERSION_1_7_20, VERSION_1_7_19
Changes since 1.10: +4 -3 lines
Diff to previous 1.10 (unified) to selected 1.87 (unified)

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

Revision 1.10 / (download) - annotate - [select for diffs], Mon Jun 15 10:36:01 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_17
Changes since 1.9: +2 -6 lines
Diff to previous 1.9 (unified) to selected 1.87 (unified)

Deprecated mdoc_msg (not being used anywhere).

Revision 1.9 / (download) - annotate - [select for diffs], Mon Jun 15 10:02:52 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.8: +1 -3 lines
Diff to previous 1.8 (unified) to selected 1.87 (unified)

Removed mdoc_nwarn (not being used anywhere).

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jun 15 09:55:43 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
Changes since 1.7: +16 -33 lines
Diff to previous 1.7 (unified) to selected 1.87 (unified)

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

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jun 10 20:18:43 2009 UTC (14 years, 9 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_16, VERSION_1_7_15, VERSION_1_7_14
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (unified) to selected 1.87 (unified)

Fixed license email address.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 12 19:45:26 2009 UTC (14 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_13
Changes since 1.5: +10 -12 lines
Diff to previous 1.5 (unified) to selected 1.87 (unified)

Using proper license template (const).

Revision 1.5 / (download) - annotate - [select for diffs], Sun Apr 12 19:29:53 2009 UTC (14 years, 11 months ago) by kristaps
Branch: MAIN
Changes since 1.4: +1 -5 lines
Diff to previous 1.4 (unified) to selected 1.87 (unified)

Made \(ss render as "ss", documented under COMPATIBILITY in mandoc_char.7.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Apr 2 06:51:44 2009 UTC (14 years, 11 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_12, VERSION_1_7_10, OPENBSD_CHECKIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (unified) to selected 1.87 (unified)

mdoc_tokhash -> hash
Initial man hashtab (BROKEN).

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 31 13:50:19 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Changes since 1.2: +1 -4 lines
Diff to previous 1.2 (unified) to selected 1.87 (unified)

General clean-ups.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Mar 23 15:41:09 2009 UTC (15 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_7_5
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (unified) to selected 1.87 (unified)

-man linked to mandoc in documentation.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Mar 23 14:22:11 2009 UTC (15 years ago) by kristaps
Branch: MAIN
Diff to selected 1.87 (unified)

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

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