Up to [local] / src / usr.bin / mandoc
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.74 / (download) - annotate - [select for diffs], Wed Jul 6 14:27:55 2022 UTC (23 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
HEAD
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored) to selected 1.44 (colored)
While the HTML standard allows multiple <h1> elements in the same document, <h1> is intended for top level headers, and most of the sections in a manual page can hardly be considered top-level. It is more usual to use <h1> only for the main title of the document of for the site name. Consequently, move .Sh/.SH from <h1> to <h2> and .Ss/.SS from <h2> to <h3>, freeing <h1> for use by header.html in man.cgi(8). Discussed with Anna Vyalkova <cyber at sysrq dot in>.
Revision 1.73 / (download) - annotate - [select for diffs], Sun Jul 3 14:28:27 2022 UTC (23 months, 1 week ago) by schwarze
Branch: MAIN
Changes since 1.72: +2 -1 lines
Diff to previous 1.72 (colored) to selected 1.44 (colored)
Instead of the custom <div class="manual-text">, use the standard HTML <main> element. The benefit is that it has the ARIA landmark role "main" by default. To ease the transition for people using their own CSS file instead of mandoc.css, retain the custom class for now. I had this idea in a discussion with Anna Vyalkova <cyber at sysrq dot in>. Patch from Anna, slightly tweaked by me.
Revision 1.72 / (download) - annotate - [select for diffs], Fri Jun 24 11:15:19 2022 UTC (23 months, 2 weeks ago) by schwarze
Branch: MAIN
Changes since 1.71: +2 -1 lines
Diff to previous 1.71 (colored) to selected 1.44 (colored)
Improve accessibility of -T html -O toc output by using the <nav> element in the DPUB-ARIA doc-toc role. Patch from Anna Vyalkova <cyber at sysrq dot in> slightly tweaked by me. This is hopefully the start of a collaboration to improve accessibility of Unix manual pages using the WAI-ARIA, HTML-ARIA, and DPUB-ARIA standards. Progress appears to be possible without changing *anything* with respect to the way manual pages are written. Instead, it seems sufficient to properly translate semantic cues already implied by existing mdoc(7) markup into the appropriate HTML elements and ARIA attributes. Overall, the total length of HTML output is likely to increase slightly, but not much.
Revision 1.71 / (download) - annotate - [select for diffs], Thu Sep 9 14:45:18 2021 UTC (2 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE,
OPENBSD_7_1,
OPENBSD_7_0_BASE,
OPENBSD_7_0
Changes since 1.70: +2 -1 lines
Diff to previous 1.70 (colored) to selected 1.44 (colored)
If the layout or data of an individual cell in a tbl(7) contains only "_", "-", or "=", requesting a horizontal line to be drawn across the middle of the cell, print <hr/> in that cell in HTML output. That is arguably slightly ugly because HTML 5 regards <hr/> as semantic markup, meaning "thematic break". If somebody knowns a better way to render a horizontal line across the middle of a table cell with pure HTML and CSS, and without implying a specific meaning, please tell me. Missing feature reported by <Oliver dot Corff at email dot de>.
Revision 1.70 / (download) - annotate - [select for diffs], Sat Apr 18 20:28:46 2020 UTC (4 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7
Changes since 1.69: +3 -1 lines
Diff to previous 1.69 (colored) to selected 1.44 (colored)
When a .Tg is attached to a paragraph, attach the permalink to the first word, or the first few words if they are short.
Revision 1.69 / (download) - annotate - [select for diffs], Fri Mar 13 00:31:04 2020 UTC (4 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.68: +7 -2 lines
Diff to previous 1.68 (colored) to selected 1.44 (colored)
Split tagging into a validation part including prioritization in tag.{h,c} and {mdoc,man}_validate.c and into a formatting part including command line argument checking in term_tag.{h,c}, html.c, and {mdoc|man}_{term|html}.c. Immediate functional benefits include: * Improved prioritization of automatic tags for .Em and .Sy. * Avoiding bogus automatic tags when .Em, .Fn, or .Sy are explicitly tagged. * Explicit tagging of .Er and .Fl now works in HTML output. * Automatic tagging of .IP and .TP now works in HTML output. But mainly, this patch provides clean earth to build further improvements on. Technical changes: * Main program: Write a tag file for ASCII and UTF-8 output only. * All formatters: There is no more need to delay writing the tags. * mdoc(7)+man(7) formatters: No more need for elaborate syntax tree inspection. * HTML formatter: If available, use the "string" attribute as the tag. * HTML formatter: New function to write permalinks, to reduce code duplication. Style cleanup in the vicinity while here: * mdoc(7) terminal formatter: To set up bold font for children, defer to termp_bold_pre() rather than calling term_fontpush() manually. * mdoc(7) terminal formatter: Garbage collect some duplicate functions. * mdoc(7) HTML formatter: Unify <code> handling, delete redundant functions. * Where possible, use switch statements rather than if cascades. * Get rid of some more Yoda notation. The necessity for such changes was first discussed with kn@, but i didn't bother him with a request to review the resulting -673/+782 line patch.
Revision 1.68 / (download) - annotate - [select for diffs], Sun Jan 19 17:59:01 2020 UTC (4 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.67: +2 -1 lines
Diff to previous 1.67 (colored) to selected 1.44 (colored)
Introduce a new mdoc(7) macro .Tg ("tag") to explicitly mark a place as defining a term. Please only use it when automatic tagging does not work. Manual page authors will not be required to add the new macro; using it remains optional. HTML output is still rudimentary in this version and will be polished later. Thanks to kn@ for reminding me that i have been considering since BSDCan 2014 whether something like this might be useful. Given that possibilities of making automatic tagging better are running out and there are still several situations where automatic tagging cannot do the job, i think the time is now ripe. Feedback and no objection from millert@; OK espie@ inoguchi@ kn@.
Revision 1.67 / (download) - annotate - [select for diffs], Sun Sep 1 15:12:03 2019 UTC (4 years, 9 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.66: +1 -2 lines
Diff to previous 1.66 (colored) to selected 1.44 (colored)
delete the TAG_IDIV crutch, which is no longer used
Revision 1.66 / (download) - annotate - [select for diffs], Thu Aug 29 17:57:25 2019 UTC (4 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.65: +12 -12 lines
Diff to previous 1.65 (colored) to selected 1.44 (colored)
In the HTML formatter, assert(3) that no HTML nesting violation occurs. Tested on the complete manual page trees of Version 7 AT&T UNIX, 4.4BSD-Lite2, POSIX-2013, OpenBSD 2.2 to 6.5 and -current, FreeBSD 10.0 to 12.0, NetBSD 6.1.5 to 8.1, DragonFly 3.8.2 to 5.6.1, and Linux 4.05 to 5.02.
Revision 1.65 / (download) - annotate - [select for diffs], Tue Apr 30 15:52:42 2019 UTC (5 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.64: +4 -13 lines
Diff to previous 1.64 (colored) to selected 1.44 (colored)
In HTML output, allow switching the desired font for subsequent text without printing an opening tag right away, and use that in the .ft request handler. While here, garbage collect redundant enum htmlfont and reduce code duplication in print_text(). Fixing an assertion failure reported by Michael <Stapelberg at Debian> in pmRegisterDerived(3) from libpcp3-dev.
Revision 1.64 / (download) - annotate - [select for diffs], Fri Mar 1 10:48:58 2019 UTC (5 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.63: +2 -1 lines
Diff to previous 1.63 (colored) to selected 1.44 (colored)
Wrap .Sh/.SH sections and .Ss/.SS subsections in HTML <section> elements as recommended for accessibility by the HTML 5 standard. Triggered by a similar, but slightly different suggestion from Laura Morales <lauretas at mail dot com>.
Revision 1.63 / (download) - annotate - [select for diffs], Fri Jan 18 14:36:16 2019 UTC (5 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.62: +3 -1 lines
Diff to previous 1.62 (colored) to selected 1.44 (colored)
The .UR and .MT blocks in man(7) are represented by <a> elements which establish phrasing context, but they can contain paragraph breaks (which is relevant for terminal formatting, so we can't just change the structure of the syntax tree), which are respresented by <p> elements and cannot occur inside <a>. Fix this by prematurely closing the <a> element in the HTML formatter. This menas that the clickable text in HTML output is shorter than what is represented as the link text in terminal output, but in HTML, it is frankly impossible to have the clickable area of a hyperlink extend across a paragraph break. The difference in presentation is not a major problem, and besides, paragraph breaks inside .UR are rather poor style in the first place. The implementation is quite tricky. Naively closing out the <a> prematurely would result in accessing a stale pointer when later reaching the physical end of the .UR block. So this commit separates visual and structural closing of "struct tag" stack items. Visual closing means that the HTML element is closed but the "struct tag" remains on the stack, to avoid later access to a stale pointer and to avoid closing the same HTML element a second time later. This also needs reference counting of pointers to "struct tag" stack items because often more than one child holds a pointer to the same parent item, and only the outermost child can safely do the physical closing. In the whole corpus of nearly half a million manual pages on man.openbsd.org, this problem occurs in exactly one page: the groff(1) version 1.20.1 manual contained in DragonFly-3.8.2, which contains a formatting error triggering the bug.
Revision 1.62 / (download) - annotate - [select for diffs], Mon Jan 7 06:51:37 2019 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.61: +1 -2 lines
Diff to previous 1.61 (colored) to selected 1.44 (colored)
Represent mdoc(7) .Pp (and .sp, and some SYNOPSIS and .Rs features) by the <p> HTML element and use the html_fillmode() mechanism for .Bd -unfilled, just like it was done for man(7) earlier, finally getting rid both of the horrible <div class="Pp"></div> hack and of the worst HTML syntax violations caused by nested displays. Care is needed because in some situations, paragraphs have to remain open across several subsequent macros, whereas in other situations, they must get closed together with a block containing them. Some implementation details include: * Always close paragraphs before emitting HTML flow content. * Let html_close_paragraph() also close <pre> for extra safety. * Drop the old, now unused function print_paragraph(). * Minor adjustments in the top-level man(7) node formatter for symmetry. * Bugfix: .Ss heads suspend no-fill mode, even though .Ss doesn't end it. * Bugfix: give up on .Op semantic markup for now, see the comment.
Revision 1.61 / (download) - annotate - [select for diffs], Sun Jan 6 04:41:15 2019 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.60: +4 -2 lines
Diff to previous 1.60 (colored) to selected 1.44 (colored)
Finally, represent the man(7) .PP and .HP macros by the natural choice, which is <p> HTML element. On top of the previous fill-mode improvements, the key to making this possible is to automatically close the <p> when required: before headers, subsequent paragraphs, lists, indented blocks, synopsis blocks, tbl(7) blocks, and before blocks using no-fill mode. In man(7) documents, represent the .sp request by a blank line in no-fill mode and in the same way as .PP in fill mode.
Revision 1.60 / (download) - annotate - [select for diffs], Sat Jan 5 09:14:11 2019 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored) to selected 1.44 (colored)
Now that the NODE_NOFILL flag in the syntax tree is accurate, use it in the man(7) HTML formatter rather than keeping fill mode state locally, resulting in massive simplification (minus 40 LOC). Move the html_fillmode() state handler function to the html.c module such that both the man(7) and the roff(7) formatter (and in the future, also the mdoc(7) formatter) can use it. Give it a query mode, to be invoked with TOKEN_NONE.
Revision 1.59 / (download) - annotate - [select for diffs], Mon Dec 31 11:09:20 2018 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.58: +1 -2 lines
Diff to previous 1.58 (colored) to selected 1.44 (colored)
drop flag HTML_LITERAL which is no longer used
Revision 1.58 / (download) - annotate - [select for diffs], Sat Dec 15 23:33:20 2018 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.57: +2 -1 lines
Diff to previous 1.57 (colored) to selected 1.44 (colored)
Yet another round of improvements to manual font selection. Unify handling of \f and .ft. Support \f4 (bold+italic). Support ".ft BI" and ".ft CW" for terminal output. Support the .ft request in HTML output. Reject the bogus fonts \f(C1, \f(C2, \f(C3, and \f(CP.
Revision 1.57 / (download) - annotate - [select for diffs], Thu Oct 25 01:21:30 2018 UTC (5 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.56: +2 -1 lines
Diff to previous 1.56 (colored) to selected 1.44 (colored)
Implement the \f(CW and \f(CR (constant width font) escape sequences for HTML output. Somewhat relevant because pod2man(1) relies on this. Missing feature reported by Pali dot Rohar at gmail dot com. Note that constant width font was already correctly selected before this when required by semantic markup. Only attempting physical markup with the low-level escape sequence was ineffective.
Revision 1.56 / (download) - annotate - [select for diffs], Tue Oct 2 14:56:36 2018 UTC (5 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.55: +3 -1 lines
Diff to previous 1.55 (colored) to selected 1.44 (colored)
Add an option -T html -O toc to add a brief table of contents near the top of HTML pages containing at least two non-standard sections. Suggested by Adam Kalisz and discussed with kristaps@ during EuroBSDCon 2018.
Revision 1.55 / (download) - annotate - [select for diffs], Tue Oct 2 12:32:55 2018 UTC (5 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.54: +3 -2 lines
Diff to previous 1.54 (colored) to selected 1.44 (colored)
Support a second argument to -O man, selecting the format according to local existence of the file. Suggested by kristaps@ during EuroBSDCon 2018. Written on the train Frankfurt-Karlsruhe returning from EuroBSDCon.
Revision 1.54 / (download) - annotate - [select for diffs], Mon Jun 25 16:54:55 2018 UTC (5 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.53: +1 -2 lines
Diff to previous 1.53 (colored) to selected 1.44 (colored)
Delete substantial amounts of code now that we no longer use variable style= attributes.
Revision 1.53 / (download) - annotate - [select for diffs], Mon Jun 25 13:46:01 2018 UTC (5 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.52: +1 -3 lines
Diff to previous 1.52 (colored) to selected 1.44 (colored)
Do not write <colgroup> elements. Their only purpose is to enforce author-specified column widths, which can harm responsive design and provide no real benefit: HTML rendering engines usually do just fine automatically selecting appropriate column widths.
Revision 1.52 / (download) - annotate - [select for diffs], Fri May 25 20:23:39 2018 UTC (6 years ago) by schwarze
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored) to selected 1.44 (colored)
Do not write duplicate id= attributes, they violate HTML syntax. Append suffixes for disambiguation. Issue first reported by Jakub Klinkovsky <j dot l dot k at gmx dot com> (Arch Linux).
Revision 1.51 / (download) - annotate - [select for diffs], Wed May 9 00:45:33 2018 UTC (6 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (colored) to selected 1.44 (colored)
Fix a long-standing issue: Some macros (Nd, Oo) can contain blocks but rendered as elements that can only contain phrasing content, resulting in invalid HTML nesting. Switch them to <div>. Also move the related "display: inline" style from the HTML to the CSS. Reminded during a conversation with John Gardner.
Revision 1.50 / (download) - annotate - [select for diffs], Fri Apr 13 16:27:14 2018 UTC (6 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.49: +3 -2 lines
Diff to previous 1.49 (colored) to selected 1.44 (colored)
preserve comments before .Dd and .TH (typically Copyright and license) in full HTML output, but not with -Ofragment, e.g. in man.cgi(8); suggested by Thomas Klausner <wiz at NetBSD>
Revision 1.49 / (download) - annotate - [select for diffs], Sat Jul 8 14:51:01 2017 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3,
OPENBSD_6_2_BASE,
OPENBSD_6_2
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored) to selected 1.44 (colored)
1. Eliminate struct eqn, instead use the existing members of struct roff_node which is allocated for each equation anyway. 2. Do not keep a list of equation parsers, one parser is enough. Minus fifty lines of code, no functional change.
Revision 1.48 / (download) - annotate - [select for diffs], Fri Jun 23 02:31:39 2017 UTC (6 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) to selected 1.44 (colored)
Write text boxes as <mi>, <mn>, or <mo> as appropriate, and write fontstyle or fontweight attributes where required. Missing features reported by bentley@.
Revision 1.47 / (download) - annotate - [select for diffs], Thu May 4 22:07:44 2017 UTC (7 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.46: +3 -1 lines
Diff to previous 1.46 (colored) to selected 1.44 (colored)
Start roff formatter modules for HTML and termininal output, used by both the mdoc and man formatters, with the ultimate goal of reducing code duplication between the two macro formatters. Made possible by the parser unification. Add the first formatting function (for the .br request).
Revision 1.46 / (download) - annotate - [select for diffs], Wed Mar 15 11:29:50 2017 UTC (7 years, 2 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored) to selected 1.44 (colored)
Minimal support for deep linking into man(7) pages. As the man(7) language does not provide semantic markup, only .SH, .SS, and .UR become anchors for now.
Revision 1.45 / (download) - annotate - [select for diffs], Sun Feb 5 20:21:17 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)
mark up .Ar, .Fa, .Va, .Ft, and .Vt with <var> rather than <i>; suggested by bentley@ long ago, but needed lots of cleanup first
Revision 1.44 / (download) - annotate - [selected], Sun Feb 5 19:29:03 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)
for .Rs, use <cite>
Revision 1.43 / (download) - annotate - [select for diffs], Sun Feb 5 18:13:28 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored) to selected 1.44 (colored)
Improve <table> syntax: The <col> element can only appear inside <colgroup>, so use <colgroup>. The <tbody> element is optional and useless, so don't use it. Even if we would ever need <thead> or <tfoot>, <tbody> would still be optional and useless; besides, we will likely never need <thead> or <tfoot>, simply because our languages don't support such functionality.
Revision 1.42 / (download) - annotate - [select for diffs], Sun Jan 29 14:02:19 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.41: +2 -6 lines
Diff to previous 1.41 (colored) to selected 1.44 (colored)
eliminate one useless struct and one level of indirection; no functional change
Revision 1.41 / (download) - annotate - [select for diffs], Thu Jan 26 18:28:04 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.40: +2 -1 lines
Diff to previous 1.40 (colored) to selected 1.44 (colored)
Fix -man -Thtml formatting after .nf (which has nothing to do with "literal", by the way, it means "no fill"): * Use <pre> such that whitespace is preserved. * Preserve lines breaks. * For font alternating macros, avoid node recursion which required scary juggling with the fill state. Instead, simply print the text children directly. Missing feature first noticed by kristaps@ in 2011, the again reported by afresh1@ in 2016, and finally reported here: https://github.com/Debian/debiman/issues/21 , which i only found because of Shane Kerr's comment here: https://plus.google.com/110314300533310775053/posts/H1eaw9Yskoc
Revision 1.40 / (download) - annotate - [select for diffs], Thu Jan 19 16:56:53 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.39: +1 -2 lines
Diff to previous 1.39 (colored) to selected 1.44 (colored)
clean up markup of .Bd, .D1, .Dl, .Li, and .Ql; in particular, stop abuse of <blockquote>
Revision 1.39 / (download) - annotate - [select for diffs], Thu Jan 19 01:00:11 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.38: +6 -3 lines
Diff to previous 1.38 (colored) to selected 1.44 (colored)
Implement line breaking of the generated HTML code at space characters in filled text. This does not affect HTML semantics, but makes the HTML code even more humanly readable. While here, - collapse multiple consecutive space characters in filled text - and insert a blank between style entries.
Revision 1.38 / (download) - annotate - [select for diffs], Wed Jan 18 19:22:18 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.37: +4 -1 lines
Diff to previous 1.37 (colored) to selected 1.44 (colored)
Make HTML output more human readable by overhauling line break logic around tags and by introducing some simple indentation. No change of HTML semantics intended.
Revision 1.37 / (download) - annotate - [select for diffs], Tue Jan 17 15:32:39 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.36: +1 -16 lines
Diff to previous 1.36 (colored) to selected 1.44 (colored)
Completely delete the buf field of struct html and all the buf*() interfaces. Such a static buffer was a bad idea in the first place, causing unfixable truncation that was only prevented by triggering an assertion failure. Instead, let the small number of remaining users allocate and free their own, temporary dynamic buffers, or for the case of .Xr and .In, pass the original data to be assembled in print_otag().
Revision 1.36 / (download) - annotate - [select for diffs], Tue Jan 17 01:47:46 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.35: +3 -36 lines
Diff to previous 1.35 (colored) to selected 1.44 (colored)
Simplify the usage of print_otag() by making it accept a variable number of arguments. Delete struct htmlpair and all the PAIR_*() macros. Delete enum htmlattr, handle that in print_otag() instead. Minus 190 lines of code; no functional change except better ordering of attributes (class before style) in three cases.
Revision 1.35 / (download) - annotate - [select for diffs], Tue Jul 19 13:30:16 2016 UTC (7 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0
Changes since 1.34: +3 -2 lines
Diff to previous 1.34 (colored) to selected 1.44 (colored)
Use __attribute__((__format__ throughout. Triggered by a smaller patch from Christos Zoulas.
Revision 1.34 / (download) - annotate - [select for diffs], Sat Nov 7 13:57:55 2015 UTC (8 years, 7 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE,
OPENBSD_5_9
Changes since 1.33: +1 -4 lines
Diff to previous 1.33 (colored) to selected 1.44 (colored)
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.33 / (download) - annotate - [select for diffs], Tue Oct 13 22:57:49 2015 UTC (8 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.32: +1 -2 lines
Diff to previous 1.32 (colored) to selected 1.44 (colored)
Major character table cleanup: * Use ohash(3) rather than a hand-rolled hash table. * Make the character table static in the chars.c module: There is no need to pass a pointer around, we most certainly never want to use two different character tables concurrently. * No need to keep the characters in a separate file chars.in; that merely encourages downstream porters to mess with them. * Sort the characters to agree with the mandoc_chars(7) manual page. * Specify Unicode codepoints in hex, not decimal (that's the detail that originally triggered this patch). No functional change, minus 100 LOC, and i don't see a performance change.
Revision 1.32 / (download) - annotate - [select for diffs], Tue Dec 2 10:07:17 2014 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE,
OPENBSD_5_8,
OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored) to selected 1.44 (colored)
Fix the implementation and documentation of \c (continue text input line). In particular, make it work in no-fill mode, too. Reminded by Carsten dot Kunze at arcor dot de (Heirloom roff).
Revision 1.31 / (download) - annotate - [select for diffs], Mon Dec 1 08:05:02 2014 UTC (9 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.30: +6 -3 lines
Diff to previous 1.30 (colored) to selected 1.44 (colored)
header cleanup: * add missing forward declarations * remove needless header inclusions * some style unification
Revision 1.30 / (download) - annotate - [select for diffs], Thu Nov 27 14:31:29 2014 UTC (9 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.29: +1 -5 lines
Diff to previous 1.29 (colored) to selected 1.44 (colored)
remove unneccessary inclusion protection; ok schwarze
Revision 1.29 / (download) - annotate - [select for diffs], Tue Oct 28 17:35:42 2014 UTC (9 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored) to selected 1.44 (colored)
Make the character table available to libroff so it can check the validity of character escape names and warn about unknown ones. This requires mchars_spec2cp() to report unknown names again. Fortunately, that doesn't require changing the calling code because according to groff, invalid character escapes should not produce output anyway, and now that we warn about them, that's fine.
Revision 1.28 / (download) - annotate - [select for diffs], Fri Oct 10 15:25:06 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (colored) to selected 1.44 (colored)
Partial eqn(7) rewrite by kristaps@ in order to get operator precedence right.
Revision 1.27 / (download) - annotate - [select for diffs], Thu Oct 9 15:59:08 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.26: +4 -1 lines
Diff to previous 1.26 (colored) to selected 1.44 (colored)
parse and render "from" and "to" clauses in eqn, and render matrices; written by kristaps@ during EuroBSDCon
Revision 1.26 / (download) - annotate - [select for diffs], Thu Oct 9 15:49:09 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.25: +16 -1 lines
Diff to previous 1.25 (colored) to selected 1.44 (colored)
initial bits of MathML rendering for eqn(7) -Thtml; written by kristaps@ during EuroBSDCon
Revision 1.25 / (download) - annotate - [select for diffs], Tue Oct 7 18:17:05 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.24: +5 -15 lines
Diff to previous 1.24 (colored) to selected 1.44 (colored)
Switch HTML output to polyglot HTML5; have only one single -Thml mode. Replace hard-coded widths and alignments with a minimal embedded stylesheet. Do not use <p> because it cannot appear inside block macros. Remove the "summary" attribute because it is not HTML5. Written by kristaps@ some months ago, finished during EuroBSDCon.
Revision 1.24 / (download) - annotate - [select for diffs], Wed Sep 17 19:53:35 2014 UTC (9 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.23: +3 -1 lines
Diff to previous 1.23 (colored) to selected 1.44 (colored)
implement .An -[no]split for -Thtml
Revision 1.23 / (download) - annotate - [select for diffs], Thu Aug 14 00:29:12 2014 UTC (9 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored) to selected 1.44 (colored)
Revert previous, as requested by kristaps@. The .Bf block can contain subblocks, so it has to render as an element that can contain flow content. But <em> cannot contain flow content, only phrasing content. Rendering .Em and .Bf differently would by unfortunate, and closing out .Bf before subblocks and re-opening it afterwards would merely complicate both the C code of the program and the generated HTML code. Besides, converting .Em to semantic HTML markup would require some content to be put into <em> and some into <i>, but we cannot automatically distinguish which is which, so strictly speaking, we can't use semantic HTML here but have to fall back to physical markup. Wonders of HTML...
Revision 1.22 / (download) - annotate - [select for diffs], Wed Aug 13 15:19:24 2014 UTC (9 years, 9 months ago) by schwarze
Branch: MAIN
Changes since 1.21: +2 -1 lines
Diff to previous 1.21 (colored) to selected 1.44 (colored)
Use <em> for .Em and .Bf -emphasis. The vast majority of .Em in real-world manuals is stress emphasis, for which <em> is the correct markup. Admittedly, there are some instances of .Em usage for alternate quality, for which <i> would be a better match. Most of these are technical terms that neither allow semantic markup nor are keywords - for the latter, .Sy would be preferable. A typical example is that the shell breaks input into .Em words . Alternate voice or mood, which would also require <i>, is almost absent from manuals. We cannot satisfy both stress emphasis and alternate quality, so pick the one that fits more often and looks less wrong when off. Patch from Guy Harris <guy at alum dot mit dot edu>. ok bentley@ joerg@NetBSD
Revision 1.21 / (download) - annotate - [select for diffs], Sun Apr 20 16:44:44 2014 UTC (10 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.20: +7 -7 lines
Diff to previous 1.20 (colored) to selected 1.44 (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.20 / (download) - annotate - [select for diffs], Thu Aug 8 20:07:24 2013 UTC (10 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored) to selected 1.44 (colored)
Implement the roff(7) font-escape sequence \f(BI "bold+italic". This improves the formatting of about 40 base manuals and reduces groff-mandoc formatting differences in base by about 5%.
Revision 1.19 / (download) - annotate - [select for diffs], Mon May 28 13:00:51 2012 UTC (12 years ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4,
OPENBSD_5_3_BASE,
OPENBSD_5_3,
OPENBSD_5_2_BASE,
OPENBSD_5_2
Changes since 1.18: +2 -1 lines
Diff to previous 1.18 (colored) to selected 1.44 (colored)
Implement the roff \z escape sequence, intended to output the next character without advancing the cursor position; implement it to simply skip the next character, as it will usually be overwritten. With this change, the pod2man(1) preamble user-defined string \*:, intended to render as a diaeresis or umlaut diacritic above the preceding character, is rendered in a slightly less ugly way, though still not correctly. It was rendered as "z.." and is now rendered as ".". Given that the definition of \*: uses elaborate manual \h positioning, there is little chance for mandoc(1) to ever render it correctly, but at least we can refrain from printing out a spurious "z", and we can make the \z do something semi-reasonable for easier cases.
Revision 1.18 / (download) - annotate - [select for diffs], Sun Oct 9 17:59:56 2011 UTC (12 years, 8 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1
Changes since 1.17: +6 -4 lines
Diff to previous 1.17 (colored) to selected 1.44 (colored)
Sync to version 1.12.0; all code by kristaps@: Implement .Rv in -Tman. Let -man -Tman work a bit like cat(1). Add the -Ofragment option to -T[x]html. Minor fixes in -T[x]html. Lots of apropos(1) and -Tman code cleanup.
Revision 1.17 / (download) - annotate - [select for diffs], Sun Sep 18 10:25:28 2011 UTC (12 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.16: +2 -1 lines
Diff to previous 1.16 (colored) to selected 1.44 (colored)
sync to version 1.11.5: adding an implementation of the eqn(7) language by kristaps@ So far, only .EQ/.EN blocks are handled, in-line equations are not, and rendering is not yet very pretty, but the parser is fairly complete.
Revision 1.16 / (download) - annotate - [select for diffs], Sun May 29 21:22:18 2011 UTC (13 years ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE,
OPENBSD_5_0
Changes since 1.15: +9 -9 lines
Diff to previous 1.15 (colored) to selected 1.44 (colored)
Merge release 1.11.3, almost all code by kristaps@: * Unicode output support (no Unicode input yet, though). * Refactoring: completely handle predefined strings in roff.c. - New function mandoc_escape() replaces a2roffdeco() and mandoc_special(). - Start using mandoc_getarg() in mdoc_argv.c. - Clean up parsing of delimiters in mdoc(7). * And many minor fixes and lots of cleanup.
Revision 1.15 / (download) - annotate - [select for diffs], Mon Jan 31 03:04:26 2011 UTC (13 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE,
OPENBSD_4_9
Changes since 1.14: +4 -3 lines
Diff to previous 1.14 (colored) to selected 1.44 (colored)
When in a <PRE>, don't print out the <BR> before lines that have leading whitespace; from kristaps@.
Revision 1.14 / (download) - annotate - [select for diffs], Sun Jan 16 19:41:16 2011 UTC (13 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.13: +4 -1 lines
Diff to previous 1.13 (colored) to selected 1.44 (colored)
Merge from bsd.lv, original commit message by kristaps@: Change how -Thtml behaves with tables: use multiple rows, with widths set by COL, until an external macro is encountered. At this point in time, close out the table and process the macro. When the first table row is again re-encountered, re-start the table. This requires a bit of tracking added to "struct html", but the change is very small and follows the logic of meta-fonts. This all follows a bug-report by joerg@.
Revision 1.13 / (download) - annotate - [select for diffs], Sun Jan 9 14:30:48 2011 UTC (13 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.12: +9 -11 lines
Diff to previous 1.12 (colored) to selected 1.44 (colored)
Sync tbl handling to bsd.lv release 1.10.9: * .T} can be followed by a delimiter, then more data. * Do not limit table column widths (improves terminfo(5)). * Let numerical cells respect explicitly specified minimum cell widths. * Let terminal output survive missing data cells. * Parse and ignore arguments in parentheses on layout cell specifications. * Move tbl_calc() into out.c such that it can be used by all frontends. * Give tables an HTML class. * Some cleanup in tbl -Thtml code. All code by kristaps@.
Revision 1.12 / (download) - annotate - [select for diffs], Tue Jan 4 22:28:17 2011 UTC (13 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (colored) to selected 1.44 (colored)
Merge kristaps@' cleaner tbl integration, removing mine; there are still a few bugs, but fixing these will be easier in tree.
Revision 1.11 / (download) - annotate - [select for diffs], Sat Dec 25 13:23:03 2010 UTC (13 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored) to selected 1.44 (colored)
Yet another batch of -Thtml polishing from kristaps@: In particular, use <SMALL> for .SM and <CODE> for .Dl. Use <B> for bold and <I> for italic in general. Also call this mandoc 1.10.8 now, as it is functionally equivalent, even though one one set of refactoring patches has not been merged yet because it conflicts with our tbl(1) handling.
Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 22 00:33:25 2010 UTC (13 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.9: +5 -3 lines
Diff to previous 1.9 (colored) to selected 1.44 (colored)
More small -Thtml improvements by kristaps@, in particular, use <B>, <I> and <U> where appropriate. Provide relative widths for header and footer lines. Manuals: More concise short descriptions of output modes. Correct a few places still talking about CSS2 to say CSS1. Code examples should use .Dl, not .D1.
Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 19 09:22:35 2010 UTC (13 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.8: +8 -11 lines
Diff to previous 1.8 (colored) to selected 1.44 (colored)
Significant improvements to -Thtml by kristaps@: Use less <DIV>, use more <H1>, <H2>, <P>, <BR>, <PRE>, <UL>, <OL>, <DL> etc. Triggered by input from Will Backman. Remove CSS2 note in mandoc.1, which is no longer true.
Revision 1.8 / (download) - annotate - [select for diffs], Sun Jul 25 18:05:54 2010 UTC (13 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored) to selected 1.44 (colored)
Sync to bsd.lv; in particular, pull in lots of bug fixes. new features: * support the .in macro in man(7) * support minimal PDF output * support .Sm in mdoc(7) HTML output * support .Vb and .nf in man(7) HTML output * complete the mdoc(7) manual bug fixes: * do not let mdoc(7) .Pp produce a newline before/after .Sh; reported by jmc@ * avoid double blank lines related to man(7) .sp and .br * let man(7) .nf and .fi flush the line; reported by jsg@ and naddy@ * let "\ " produce a non-breaking space; reported by deraadt@ * discard \m colour escape sequences; reported by J.C. Roberts * map undefined 1-character-escapes to the literal character itself maintenance: * express mdoc(7) arguments in terms of an enum for additional type-safety * simplify mandoc_special() and a2roffdeco() * use strcspn in term_word() in place of a manual loop * minor optimisations in the -Tps and -Thtml formatting frontends
Revision 1.7 / (download) - annotate - [select for diffs], Tue Jul 13 01:09:12 2010 UTC (13 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.6: +5 -3 lines
Diff to previous 1.6 (colored) to selected 1.44 (colored)
Merge release 1.10.4 (all code by kristaps@), providing four new features: 1) Proper .Bk support: allow output line breaks at input line breaks, but keep input lines together in the output, finally fixing synopses like aucat(1), mail(1) and tmux(1). 2) Mostly finished -Tps (PostScript) output. 3) Implement -Thtml output for .Nm blocks and .Bk -words. 4) Allow iterative interpolation of user-defined roff(7) strings. Also contains some minor bugfixes and some performance improvements.
Revision 1.6 / (download) - annotate - [select for diffs], Wed Apr 7 23:15:05 2010 UTC (14 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.5: +12 -13 lines
Diff to previous 1.5 (colored) to selected 1.44 (colored)
Merge the good parts of 1.9.23, avoid the bad parts of 1.9.23, and keep local patches. Input in general: * Basic handling of roff-style font escapes \f, \F. * Quoted punctuation does not count as punctuation. mdoc(7) parser: * Make .Pf callable; noted by Claus Assmann. * Let .Bd and .Bl ignore unknown arguments; noted by deraadt@. * Do not warn when .Er is used outside certain sections. * Replace mdoc_node_free[list] by mdoc_node_delete. * Replace #define by enum for rew*() return values. man(7) parser: * When .TH is missing, use default section and date. Output in general: * Curly braces do not count as punctuation. * No space after .Fl w/o args when a macro follows on the same line. HTML output: * Unify PAIR_*_INIT macros, introduce new PAIR_ID_INIT(). * Print whitespace after, not before .Vt .Fn .Ft .Fo. Checked that all manuals in base still build.
Revision 1.5 / (download) - annotate - [select for diffs], Thu Feb 18 02:11:26 2010 UTC (14 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.4: +8 -4 lines
Diff to previous 1.4 (colored) to selected 1.44 (colored)
sync to release 1.9.15: * corrected .Vt handling (spotted by Joerg Sonnenberger) * corrected .Xr argument handling (based on my patch) * removed \\ escape sequence (because it is for low-level roff only) * warn about trailing whitespace (suggested by jmc@) * -Txhtml support * and some general cleanup and doc improvements
Revision 1.4 / (download) - annotate - [select for diffs], Thu Dec 24 02:08:14 2009 UTC (14 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.3: +12 -2 lines
Diff to previous 1.3 (colored) to selected 1.44 (colored)
sync to 1.9.14: rewrite escape sequence handling: - new function a2roffdeco - font modes (\f) only affect the current stack point - implement scaling (\s) - implement space suppression (\c) - implement non-breaking space (\~) in -Tascii - many manual improvements
Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 22 23:58:00 2009 UTC (14 years, 5 months ago) by schwarze
Branch: MAIN
Changes since 1.2: +7 -1 lines
Diff to previous 1.2 (colored) to selected 1.44 (colored)
sync to 1.9.12, mostly portability and refactoring: correctness/functionality: - bugfix: do not die when overstep hits the right margin - new option: -fign-escape - and various HTML features portability: - replace bzero(3) by memset(3), which is ANSI C - replace err(3)/warn(3) by perror(3)/exit(3), which is ANSI C - iuse argv[0] instead of __progname - add time.h to various files for FreeBSD compilation simplicity: - do not allocate header/footer data dynamically in *_term.c - provide and use malloc frontends that error out on failure for full changelogs, see http://bsd.lv/cgi-bin/cvsweb.cgi/
Revision 1.2 / (download) - annotate - [select for diffs], Tue Oct 27 21:40:07 2009 UTC (14 years, 7 months ago) by schwarze
Branch: MAIN
Changes since 1.1: +10 -6 lines
Diff to previous 1.1 (colored) to selected 1.44 (colored)
sync to 1.9.11: adapt printing of dates to groff conventions, NetBSD portability fixes and some minor bugfixes and feature enhancements; also checked that my hyphenation code still works on top of this
Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 21 19:13:50 2009 UTC (14 years, 7 months ago) by schwarze
Branch: MAIN
Diff to selected 1.44 (colored)
sync to 1.9.9, featuring: * -Thtml output mode * roff scaling units * and some minor fixes for full changelogs, see http://bsd.lv/cgi-bin/cvsweb.cgi/