$ cvs2cl --utc --summary -T This ChangeLog contains all CVS commits up to the pod2mdoc-0.2 release. 2015-05-19 20:42 tag VERSION_0_2 2015-05-19 20:42 schwarze Changed: Makefile (1.16), "Exp", lines: +2 -2 index.xml (1.9), "Exp", lines: +26 -1 release 0.2 2015-05-19 20:10 schwarze Changed: pod2mdoc.1 (1.18), "Exp", lines: +17 -2 add some missing smarts 2015-05-19 19:22 schwarze Changed: pod2mdoc.c (1.61), "Exp", lines: +2 -2 strftime(3), time(3), and localtime(3) are in , not noticed while testing on Linux 2015-03-19 09:59 schwarze Changed: index.xml (1.8), "Exp", lines: +2 -2 pod2mdoc.c (1.60), "Exp", lines: +50 -50 zap trailing whitespace; verified with diff -b; patch from Svyatoslav Mishyn 2015-02-23 15:12 schwarze Changed: pod2mdoc.c (1.59), "Exp", lines: +4 -5 Not all perlpod(1) documents mark up function arguments with B<>. Some use I<> instead. 2015-02-23 14:30 schwarze Changed: pod2mdoc.c (1.58), "Exp", lines: +15 -3 Re-wrap text lines. Preserving the original man(7) input line breaks has no syntactic or semantic relevance and merely results in awkwardly wrapped mdoc(7) code. 2015-02-21 21:15 schwarze Changed: pod2mdoc.c (1.57), "Exp", lines: +3 -1 chomp trailing dots off the .Nd line 2015-02-20 13:33 schwarze Changed: pod2mdoc.c (1.56), "Exp", lines: +93 -92 Stop bypassing the text output buffer when printing macro arguments, stop ignoring the wantws flag for macro argument spacing, and stop attempting artificial argument spacing by manually printing blank characters at more than twenty distinct places in the code. This fixes a wide range of formatting issues: * Print named escapes inside format codes at the correct position. * Escape quotes at the beginning of command arguments. * Correct spacing in words like ByB. * Do not escape "Xx" at the end of words, but only if it's the whole word. * Avoid an additional blank when a command line starts with a format code. * Avoid an additional blank after Qc. I tried to do this in smaller, incremental steps, but it did not work out. All these aspects are related to each other; so i'm committing it as one big diff, thoroughly tested for regressions. 2015-02-19 16:34 schwarze Changed: pod2mdoc.c (1.55), "Exp", lines: +27 -1 add function prototypes; no functional change 2015-02-19 15:26 schwarze Changed: pod2mdoc.c (1.54), "Exp", lines: +24 -25 Escape literal double quotes when they start a macro argument. Making this work requires properly keeping track of the output state in the function formatcode() - which actually simplifies the code in that function and removes one local variable. 2015-02-19 13:50 schwarze Changed: pod2mdoc.c (1.53), "Exp", lines: +68 -26 Preserve blank lines inside literal displays, do not render them by closing the display and opening a new one. Besides, ignore leading newlines. 2015-02-19 11:14 schwarze Changed: pod2mdoc.c (1.52), "Exp", lines: +2 -1 Fix a regression that broke Regress/formatcode/escape.pod: Do not skip whitespace after E<> formatcodes. 2015-02-19 11:09 schwarze Changed: pod2mdoc.c (1.51), "Exp", lines: +6 -7 After converting a formatcode to a macro in ordinary mode, handle all middle and closing punctuation characters. 2015-02-19 11:05 schwarze Changed: pod2mdoc.c (1.50), "Exp", lines: +5 -2 do not include an .Fa argument in quotes if it does not contain a blank; written on the train back from Munich 2015-02-19 10:59 schwarze Changed: dict.h (1.4), "Exp", lines: +3 -2 pod2mdoc.c (1.49), "Exp", lines: +41 -6 If the SYNOPSIS section mentions a name as #defined, mark it up with .Dv or .Fn when it later occurs in the text. 2015-02-19 10:53 schwarze Changed: pod2mdoc.c (1.48), "Exp", lines: +2 -2 fix unintended CVS keyword expansion 2015-02-19 10:46 schwarze Changed: pod2mdoc.c (1.47), "Exp", lines: +8 -6 ignore line breaks in the NAME section; written on the train to Munich 2015-02-14 15:34 schwarze Changed: pod2mdoc.1 (1.17), "Exp", lines: +15 -2 pod2mdoc.c (1.46), "Exp", lines: +8 -4 support -d Mdocdate 2015-02-14 13:11 schwarze Changed: pod2mdoc.c (1.45), "Exp", lines: +4 -2 don't get confused by tabs in function declarations in the SYNOPSIS 2015-02-14 12:47 schwarze Changed: pod2mdoc.c (1.44), "Exp", lines: +47 -20 Detect function names not only before blanks, but also at the end of input lines, and let the detection of function names and the detection of the end of sentences cope with trailing punctuation. 2015-02-14 11:12 schwarze Changed: pod2mdoc.c (1.43), "Exp", lines: +20 -10 mark up foreign function names with .Xr 2015-02-14 10:35 schwarze Changed: pod2mdoc.c (1.42), "Exp", lines: +33 -15 New sentence, new line. In ordinary text mode, treat tab characters just like blanks. Treat multiple whitespace characters just like single blanks. Avoid buffer underruns when detecting function names. 2015-02-13 18:44 schwarze Changed: pod2mdoc.1 (1.16), "Exp", lines: +6 -1 pod2mdoc.c (1.41), "Exp", lines: +14 -4 in the SYNOPSIS, render preprocessor lines with .Fd 2015-02-13 18:01 schwarze Changed: pod2mdoc.c (1.40), "Exp", lines: +22 -17 In text mode, do not print whitespace *after* printing a word because that may end up at the end of a line if a macro follows. Instead, delay printing whitespace until before printing the next word. Requires being a bit more careful about the wantws flag in the function formatcode(). 2015-02-13 15:35 schwarze Changed: dict.c (1.3), "Exp", lines: +6 -5 dict.h (1.3), "Exp", lines: +3 -2 pod2mdoc.1 (1.15), "Exp", lines: +11 -2 pod2mdoc.c (1.39), "Exp", lines: +49 -13 use .Vt to mark up types mentioned in the SYNOPSIS 2015-02-13 12:40 schwarze Changed: dict.h (1.2), "Exp", lines: +3 -2 pod2mdoc.c (1.38), "Exp", lines: +20 -4 use .Fa to mark up function arguments mentioned in the SYNOPSIS 2015-02-13 11:02 schwarze Changed: Makefile (1.15), "Exp", lines: +3 -3 oops, committed wrong user settings... 2015-02-13 09:56 schwarze Added: compat_ohash.c (1.1) compat_ohash.h (1.1) Changed: Makefile (1.14), "Exp", lines: +88 -20 dict.c (1.2), "Exp", lines: +6 -1 ohash compat glue 2015-02-13 00:44 schwarze Added: dict.c (1.1) dict.h (1.1) Changed: Makefile (1.13), "Exp", lines: +3 -3 pod2mdoc.1 (1.14), "Exp", lines: +12 -8 pod2mdoc.c (1.37), "Exp", lines: +26 -6 If a function is listed in the SYNOPSIS and its name occurs later in the text, followed by "()", mark it up with `Fn'. This is the first of a number of features assigning markup by looking at earlier content. Portability glue will be added later. 2014-11-17 18:46 tag VERSION_0_1 2014-11-17 18:46 schwarze Changed: Makefile (1.12), "Exp", lines: +5 -3 index.xml (1.7), "Exp", lines: +17 -2 Regress/Makefile.inc (1.4), "Exp", lines: +3 -3 version 0.1 and some Makefile tweaks 2014-10-24 00:28 schwarze Changed: pod2mdoc.c (1.36), "Exp", lines: +50 -14 handle function declarations spanning more than one line and trim leading whitespace from function arguments; kindly asked for by bentley@ 2014-10-22 23:10 schwarze Changed: pod2mdoc.c (1.35), "Exp", lines: +56 -10 Simple Ft/Fo/Fa/Fc parser and formatter for the SYNOPSIS. Dedicated to bentley@. 2014-07-19 01:31 schwarze Changed: Regress/Makefile.inc (1.3), "Exp", lines: +6 -4 make it easier to override the POD2MAN and POD2MDOC variables 2014-07-19 00:47 tag VERSION_0_0_13 2014-07-19 00:47 schwarze Changed: Makefile (1.11), "Exp", lines: +1 -1 index.xml (1.6), "Exp", lines: +16 -3 version 0.0.13 2014-07-19 00:42 schwarze Changed: pod2mdoc.c (1.34), "Exp", lines: +12 -6 Regress/formatcode/invalid.pod (1.3), "Exp", lines: +8 -0 only capital ASCII letters A-Z introduce formatting codes 2014-07-18 23:56 schwarze Added: Regress/Makefile (1.1) Regress/formatcode/escape.pod (1.1) Regress/formatcodeln/Makefile (1.1) Regress/formatcodeln/item.pod (1.1) Changed: pod2mdoc.c (1.33), "Exp", lines: +49 -24 Regress/formatcode/Makefile (1.3), "Exp", lines: +1 -1 Almost a rewrite of formatcodeln(). It never handled spacing properly, and my recent overhaul of formatting code spacing introduced additional regressions. Besides, fix two more regressions, one regarding character escapes in outbuf_addstr(), and do not print Ns during invalid escapes in formatcode(). Finally, correct the name of the E character. 2014-07-18 05:09 schwarze Added: Regress/formatcode/code.pod (1.1) Regress/formatcode/macroline.pod (1.1) Changed: pod2mdoc.c (1.32), "Exp", lines: +193 -104 Regress/Makefile.inc (1.2), "Exp", lines: +1 -0 Regress/formatcode/Makefile (1.2), "Exp", lines: +1 -1 Regress/formatcode/invalid.pod (1.2), "Exp", lines: +4 -0 Regress/formatcode/textline.pod (1.2), "Exp", lines: +4 -2 Proper translation of POD escape sequences into mdoc macros, including correct whitespace handling. This is surprisingly hard to get right. The main idea is to not write Ns at the end of formatcode(), but instead clear the wantws state and let the caller parse ahead (in the manner required by the context) to see what is following, then break the line or print Ns as appropriate. Also use the following logic throughout: * Clear wantws after writing a non-whitespace character. * Switch to text state after flushing text output. * Switch back to OUST_NL/wantws after a line break. 2014-07-15 19:20 schwarze Added: Regress/Makefile.inc (1.1) Regress/p2m_postproc.pl (1.1) Regress/formatcode/Makefile (1.1) Regress/formatcode/invalid.pod (1.1) Regress/formatcode/textline.pod (1.1) start a regression suite 2014-07-15 19:03 schwarze Changed: pod2mdoc.c (1.31), "Exp", lines: +130 -62 When formatting codes follow text without intervening whitespace, a .Pf macro was issued without arguments. While this (accidentally) works in mandoc(1), groff(1) does not support it. Introduce an output buffer such that the previous word of the text can be given as an argument to .Pf. In some situations, for example right after a section header, the newline printed before the .Pf could result in an empty line. Introduce the "hasnl" state variable to avoid this. 2014-07-15 19:00 schwarze Changed: pod2mdoc.c (1.30), "Exp", lines: +17 -21 Invalid format codes were skipped including their contents. Instead, just skip the code, but not the content. Also improve the comments at the place in ordinary() where formatcode() is called. 2014-07-11 20:45 schwarze Changed: pod2mdoc.c (1.29), "Exp", lines: +31 -20 When -s is specified but -n is not, the filename extension is not needed to determine the section number, but it still has to be trimmed from the page title. Keeping the code readable required a rewrite of the first half of dofile(). Bug reported by bentley@, thanks! 2014-07-11 10:31 schwarze Changed: pod2mdoc.c (1.28), "Exp", lines: +1 -3 Remove unused variable. Noticed by Thomas Klausner . 2014-07-11 09:27 schwarze Changed: Makefile (1.10), "Exp", lines: +1 -1 index.xml (1.5), "Exp", lines: +11 -2 Release version 0.0.12. The LibReSSL Valhalla Rampage considers starting to use this for automatic manual conversion (sic! :) right now. 2014-07-11 09:10 schwarze Changed: pod2mdoc.c (1.27), "Exp", lines: +7 -2 cvs commit: render B as .Dv NULL 2014-07-11 09:07 schwarze Changed: pod2mdoc.c (1.26), "Exp", lines: +1 -3 no need to assert() !NULL right before the pointer is accessed 2014-07-11 09:05 schwarze Changed: pod2mdoc.c (1.25), "Exp", lines: +4 -4 polish main: * Correctly check the number of arguments. * Show the usage() message if there are too many arguments. * Mention the optional file argument in the usage() message. 2014-04-07 12:07 tag VERSION_0_0_11 2014-04-07 12:07 kristaps Changed: Makefile (1.9), "Exp", lines: +1 -1 index.xml (1.4), "Exp", lines: +4 -4 Run version. 2014-04-07 11:58 kristaps Changed: pod2mdoc.c (1.24), "Exp", lines: +8 -1 Properly consume whitespace at the end of ignored format codes X<> and N<>. 2014-04-07 11:46 kristaps Changed: pod2mdoc.1 (1.13), "Exp", lines: +1 -4 pod2mdoc.c (1.23), "Exp", lines: +8 -2 Allow (ignored) nested escapes in L<>. 2014-04-03 16:50 kristaps Changed: pod2mdoc.1 (1.12), "Exp", lines: +7 -1 pod2mdoc.c (1.22), "Exp", lines: +39 -2 Translate leading #include statements in verbatim SYNOPSIS text as In. 2014-04-03 11:55 tag VERSION_0_0_10 2014-04-03 11:55 kristaps Changed: Makefile (1.8), "Exp", lines: +1 -1 index.xml (1.3), "Exp", lines: +5 -3 pod2mdoc.1 (1.11), "Exp", lines: +5 -2 pod2mdoc.c (1.21), "Exp", lines: +4 -2 Tweak for version: time to put this to rest for a bit. 2014-04-03 11:34 kristaps Changed: pod2mdoc.1 (1.10), "Exp", lines: +10 -2 pod2mdoc.c (1.20), "Exp", lines: +27 -16 Account for sections as well as links. 2014-04-03 10:17 kristaps Changed: pod2mdoc.1 (1.9), "Exp", lines: +25 -8 pod2mdoc.c (1.19), "Exp", lines: +81 -46 Lots of L<> power: intuit manual links, Perl links, hyperlinks, and so on. All of this is documented in the manpage's "Smarts" section. 2014-04-02 22:36 kristaps Changed: pod2mdoc.c (1.18), "Exp", lines: +24 -11 Clean up the link handler to omit the title. This really cleans up SSL's links (Xr) and also sets the stage for the generalised Xr/Lk/Sx handling. 2014-04-02 20:32 kristaps Changed: pod2mdoc.1 (1.8), "Exp", lines: +6 -4 pod2mdoc.c (1.17), "Exp", lines: +38 -4 Accomodate for multiple names in the NAME section. 2014-04-02 16:41 kristaps Changed: pod2mdoc.c (1.16), "Exp", lines: +12 -1 Swallow trailing comma or period after a macro line instead of printing it on the next line. No functional change in output, but generated mdoc(7) is a bit nicer. 2014-04-02 14:50 kristaps Changed: pod2mdoc.1 (1.7), "Exp", lines: +68 -1 pod2mdoc.c (1.15), "Exp", lines: +17 -12 Pick out the first B<> as an Nm when in SYNOPSIS. Document all of these tricks in the manpage. 2014-04-02 08:17 tag VERSION_0_0_9 2014-04-02 08:17 kristaps Changed: Makefile (1.7), "Exp", lines: +1 -1 Fix typo. 2014-04-02 08:15 kristaps Changed: Makefile (1.6), "Exp", lines: +5 -4 Sneak in Makefile easification. 2014-04-02 08:14 kristaps Changed: Makefile (1.5), "Exp", lines: +1 -1 index.xml (1.2), "Exp", lines: +8 -1 Bumping version: more smarties. 2014-04-01 19:50 kristaps Changed: pod2mdoc.c (1.14), "Exp", lines: +22 -7 Make sure that SYNOPSIS flags are really flags and default to using Ar, not Sy, when in the SYNOPSIS. 2014-04-01 13:05 kristaps Changed: pod2mdoc.c (1.13), "Exp", lines: +124 -40 Smarts: notice, in a SYNOPSIS, that we're an optional block ("[" matched to a subsequent, and possibly nested, "]"). Also, re-write the flag detector to match with real manuals, which use B<-flag arg> very often. Now accomodate for both the "Fl" (possibly multiple) and the (possible multiple) subsequent "Ar". 2014-04-01 11:58 kristaps Changed: pod2mdoc.c (1.12), "Exp", lines: +22 -14 Remove a condition branch already accepted at the start of loop. 2014-04-01 08:31 kristaps Changed: pod2mdoc.c (1.11), "Exp", lines: +52 -19 Make state's "isname" field into a "known section" field. Pass state into formatcode() and friends. Intuit when B<-flag> is a flag in the SYNOPSIS section. 2014-03-24 01:47 tag VERSION_0_0_8 2014-03-24 01:47 kristaps Changed: Makefile (1.4), "Exp", lines: +1 -1 Toggle version. 2014-03-24 01:43 kristaps Added: index.xml (1.1) Changed: Makefile (1.3), "Exp", lines: +15 -1 pod2mdoc.1 (1.6), "Exp", lines: +13 -4 pod2mdoc.c (1.10), "Exp", lines: +8 -3 Add index page. Update manual to note usage. Make "3p" suffix be a preprocessor macro. 2014-03-24 01:07 kristaps Changed: pod2mdoc.1 (1.5), "Exp", lines: +12 -2 pod2mdoc.c (1.9), "Exp", lines: +74 -3 Primitive understanding of L<> format codes. 2014-03-23 23:57 kristaps Changed: pod2mdoc.c (1.8), "Exp", lines: +34 -23 Guard against unexpected character escapes. Remove once-used skipspace() function. 2014-03-23 23:35 kristaps Changed: pod2mdoc.c (1.7), "Exp", lines: +9 -2 Make .Bd -literal not interpret macros. 2014-03-23 23:23 kristaps Changed: pod2mdoc.1 (1.4), "Exp", lines: +35 -12 pod2mdoc.c (1.6), "Exp", lines: +76 -65 Considerably clean up whitespace handling in character escapes. The handlers now accomodate for all permutations of escape whitespace except as specifically noted in the manpage. 2014-03-23 13:00 kristaps Changed: pod2mdoc.1 (1.3), "Exp", lines: +2 -4 pod2mdoc.c (1.5), "Exp", lines: +74 -16 Add support for overriden delimeter codes. 2014-03-20 15:29 schwarze Changed: Makefile (1.2), "Exp", lines: +1 -1 pod2mdoc.1 (1.2), "Exp", lines: +0 -2 pod2mdoc.c (1.4), "Exp", lines: +126 -25 Version 0.0.5 from kristaps@. * elementary list support * less excessive escaping of possible mdoc macros in formatcode() * same escaping of possible mdoc macros in formatcodeln() 2014-03-20 15:18 schwarze Changed: pod2mdoc.c (1.3), "Exp", lines: +8 -4 If an input line break occurs in formatcode(), it translates to whitespace. 2014-03-20 15:15 schwarze Changed: pod2mdoc.c (1.2), "Exp", lines: +5 -2 Enclose code samples in quotation marks. Otherwise, they would look just like normal text. The pod2man(1) utility does the same. Includes an added blank character after Qc added by kristaps@. 2014-03-20 15:07 schwarze Added: Makefile (1.1) pod2mdoc.1 (1.1) pod2mdoc.c (1.1) initial version 0.0.4 from kristaps@