= doclifter history = 2.21: 2024-02-15:: Allow aliasing to MTO to URL - happens in some macro boilerplate Discard \F changes in the title field of .TH TAPify test machinery. Drop testing against Python 2 2.20: 2021-09-20:: Handle \[en] in NAME sections. Use modern GCC error-line tags. Handle groff hex escapes like \\*[u92DC]. Ubuntu has abolished /usr/bin/python, change shebang to python3. 2.19: 2019-03-20:: Handle .Bf/.Ef in mdoc. 2.18: 2018-06-12:: .in +4/.EX...EE/.in is now translated structurally. Cope gracefully with some idiosyncracies in OpenSSL library pages. Recognize new-style pod2man header. Ignore .Dd $Mdocdate$. Automatically lift 2-digit dates to 4 digits. Mwww fix to .MTO generation; also, ignore .LINKSTYLE. In mm, interpret .DS/.DE as informal figure and .FG as a caption element. Process mdoc .Lk request. 2.17: 2016-03-08:: Add role mapping for bold highlights. Fix list syntax not being terminated by PP. Fix a bug that caused pages containing PIC diagrams to get clobbered. Fix a bug introduced in 2.16 that caused spurious failures under Python 2. Error messages for command and function syntax parse failures have improved. 2.16: 2016-02-25:: Code now runs under either Python 2 or Python 3. Possible input encodings can be specified with the -i option. Change default output encoding from ISO-8859-1 to UTF-8. Handle .de co and .de au in NAME sections; the groff suite needs this. 2.15: 2014-06-03:: The usual minor improvements for strange edge cases. Work around bugginess of --postvalid in recent xmllint versions. Cleanup for new version of pylint. 2.14: 2014-03-18:: BSD port fix. 2.13: 2013-09-27:: Simplify and improve ntroff expression evaluation. 2.12: 2013-06-17:: New logic prevents spurious warnings from .in +N just before .nf. Many more instances of .ta are now automatically handled. Multi-file compilation was broken, is now repaired. 2.11: 2013-06-01:: W3C moved a math DTD; cope. Improved .Bl/.El handling and updated canned strings in mdoc. Accept \(hy in name sections. Handle  , inadvertently omitted from DocBook v4. Added -V for version option. 2.10: 2013-03-17:: Preserve trailing comments after table rows (example: matherr(3)). Add support for some previously missing groff extension glyphs. Improved handling of .Bd/.Be in mdoc. 2.9: 2012-07-30:: Handle foojzs pages better. Interpret some cases of .rj. Recognize "Feature Test" as a function synopsis ender. Handle m, r and d troff conditionals. Process .ti with positive indent into
around the following line. Support all mdoc special-character strings. Improved recognition of program listings. Fix brown-paper-bag bug in processing of mdoc 2.8: 2012-06-24:: Fix a bug in command-synopsis parsing pointed out by Tom Browder Lifts 97% of 11029 pages in a full Ubuntu Precise Pangolin release. 2.7: 2011-08-23:: Improvement for lynxprep handling by Jon Vyse. 2.6: 2010-11-26:: Clean up glitches revealed by pychecker. Fix buggy interpretation of ms .AI macro. Map TBL "box" attribute to Docbook frame="border". 2.5: 2010-10-19:: Handle groff \m color extension. Deal gracefully with manpages generated by reStructuredText. Cope with groff-style \F font escapes better. Partial interpretation of troff \h. 2.4: 2010-07-22:: eqn markup is now handled if the eqn -TMathml switch produces results. Bell Labs or Berkeley meaning of .P1 is dispatched to depending on whether .P2 is present. Added -w option for strict portability checking. Fedora bug 220736 fixed. All troff glyphs are now mapped (added bracket-pile characters, yogh, hooked-o, and underdot). You are now warned of sequences that look like glyphs but can't be mapped. Table handling for mdoc pages has been much improved. Tests for requests that can't be turned into structure are stricter. Appropriate cases of \o are now translated into Latin-1 and Latin-2:: letters with accents. Inline ad-hoc tables made with .ta and literal tabs are now lifted. Groff extended escapes $* and $@ are now handled. Speed optimizations so it's about 30% faster, and a profiling switch on manlifter. Rudimentary DocBook V5 translation, but inclusions and character entities are iffy and untested. Lifts 94% of 11863 pages in a full Ubuntu Lucid Lynx install. 2.3: 2006-12-25:: Work around a bug in db2man.xsl. Implement Markus Hoenicka's requested behavior for multiple-file conversions. Implement translation of groff extended .cc and .c2 requests. Ignore the .TA macro that occurs duplicatively with .ta in X.org manual pages. Cope with unresolved .Sx refererences in mdoc. Handle .Ex and .Ee. Cope with X consortium macro preamble better. .RS/.RE is now fully handled, no more spurious warnings. 2.2: 2005-01-15:: Have manlifter create subdirectories and the xslfragment only in batch mode. Use current list indent on block start/end. 2.1: 2005-01-14:: Interrupt handlers are refactored so manlifter can be aborted with a single ^C; as a result, exit values 4 and 5 have swapped places. In manlifter, don't remove the result file unless we're in batchmode. Lifts 96% of 11121 pages in a full Fedora Core 3 install. 2.0: 2004-12-24:: Added manlifter to the distribution. doclifter no longer strips off file extensions before appending .xml. Major improvement in parsing of displays; C function prototypes are now recognized in them. 1.15: 2004-11-20:: Fix logic for flushing mdoc namediv. Handle tables within mdoc lists better. Strip out some pod2man-generated cliches. 1.14: 2004-09-02 Added -e option to set encoding in the output XML. Documented required file extensions for mm, me, ms. Now lift some trivial uses of eqn(1) markup. Better handling of mm header markup. Interpret the X source distribution's local macros as a secondary markup. Nuke   it's documented but apparently not actually defined. 1.13: 2004-08-13:: Manual date now goes in refentryinfo, as Steve Cheng suggested. Restored correct parsing of multicommand synopses. 1.12: 2004-07-27:: Implemented handling of mdoc .Brq macro. Code no longer chokes on multiple Synopsis headers. 1.11: 2004-07-26:: Speed optimizations. Improved pod2man detection. Close properly. .UN before .SH or .SS sets the XML ID of the generated section. Boldfaced lines immediately before tables are interpreted as titles. .UR now generates for local links. Improved .RE handling that fixes a couple of edge cases. Multiline table entries are now interpreted as full blocks, so commands work normally there. 1.10: 2004-07-06:: Enhance to handle lynx dump pages. Fix .Fa interpretation. Gets 96% of 10862 Fedora Core 2 pages. 1.9: 2004-06-01:: John Franklin's support for the Vt macro in mdoc. Tuning for Psyco. 1.8: 2004-03-01:: Avoid choking on malformed tables in Qt pages. Fix minor bug in handling of nested .if/.ie requests. Process Fa macro correctly. 1.7: 2004-02-17:: Handle .Pa tags in synopses better. This version lifts 96% of 10316:: man pages in a full Fedora Core 1 installation. 1.6: 2004-01-02:: Simpler, better entity translation logic; the -s and -x options are gone. 1.5: 2003-12-29:: Fixes to RPM packaging. 1.4: 2003-12-26:: Handle .TQ reduction. Translate attempts to fake up double quotes in text with `` and ''. Catch a few more .RS/.RE cases. 1.3: 2003-12-15:: Process .RS/.RE tags to generate list nesting. As a side effect, this change fixes bad interactions between .ig and .TP. Fix a bug in gathering hints from function prologs. Use rather than for variables. Work around a common bug in ISC man pages. Evaluate one-line .el macros properly. 1.2: 2003-12-08:: SGML-generation support removed; the -s and -x options now control whether troff special characters are translated to the ISO entity set or the XHTML entity set. Corrected a bug in processing of synopses with multiple commands. Handle \f[012434] font changes in synopses correctly. -D option supports posting hints at startup time. Better recognition of filenames and commands in running text. Error return values now convey more information. 1.1: 2003-12-04:: Fixed a bug in conditional evaluation that twadmin(8) tickled. Better detection of pure inclusions. Better blank-section elimination. Kleene star recognized as ... synonym in command synopses. Correct some bugs in semantic-hint collection. Limited internationalization -- recognize "NAME" in a couple of different languages. Recognize Qt manual pages and use their conventions. Better lifting of mandoc-generated pages. Translate groff-style \[...] escapes, flag unknown ones. Can now parse K&R style function prototypes as well as ANSI ones. This version lifts 96% of 9829 manual pages in a full Red Hat 9 installation with Fedora updates to *validated* XML-DocBook. 1.0.6: 2003-11-20:: Lots of changes made so the XML output will pass validation. Appropriately wrap sequences generated from SEE ALSO. Clean up generated tags when we don't find a function or command synopsis. Push back folded highlights so paragraph generation doesn't get screwed up. Don't generate invalid class attribute for and . The .RS command no longer ends a .IP or .TP entry. Correct .Ql so it doesn't generate spurious line breaks. Fix a bug in syntax processing. Declare , and in-line tags (avoids fooups in processing mdoc). Fix lexer bug that dropped a character after triple-quote in tokens. Evaluate groff-style \\n[...] register escapes, \\n(.$., \w, and .g. Generate IDs correctly even when section titles are in CJK. Accept options starting with +. The mdoc interpreter can now deal with an out-of-order Synopsis section. This version lifts 94% of 9829 manual pages in a full Red Hat 9 installation with Fedora updates. 1.0.5: 2003-10-21:: Translate Version 8 .L macro and friends. Fix some minor markup problems in doclifter.xml. 1.0.4: 2003-03-18:: Improved synopsis line detection. Added Berkely Bsx. Ox, Nx macros. Implemented extended groff ab, als, nop and return requests. Some effort is now made to identify markup that refers to section headers and lift it to link tags (by Aaron Hawley). Corrected erroneous handling of string quotes around request arguments. Implemented mdoc .Ex and .Rv macros. Better handling of \d, \u, and \v troff requests. 1.0.3: 2003-02-14:: Enable translation of PIC diagrams using pic2plot. Lift highlighted .*_t and errno appropriately. Implemented .fam and \F groff extensions. Improved synopsis line detection. Interpret DS/DE in manual pages (it's illegal but unambiguous). Work around common error of putting an opening ' at the left margin. This version lifts 96% of 6705 manual pages in a Red Hat 8.0 install. 1.0.2: 2003-02-13:: Corrected a bug in processing of the .SM highlight on manual pages. This affects other font changers with two-character names, notably CW. 1.0.1: 2002-09-17:: Prevent some false matches on mwww macros. Don't generate entity inclusion files into the internal set; Tim Waugh says it's not necessary and indeed it seems not to be when I'm using xmlto. 1.0.0: 2002-08-17:: Better firewalling against unbalanced font changes -- unbalanced markup can no longer break the translation. Drastically improved parsing of function prototypes. Support for mwww macros. Added groff-1.18's euro and micro signs. Also now interpreting various historical fossils from Ultrix and elsewhere that show up on Linux manual pages. This version lifts 95% of the 5548 man pages in a full Red Hat 7.3 workstation install. 0.99: 2002-07-30:: C declaration parsing for sections 2 and 3 by Pradeep Padala. Improvements in command-synopsis parsing. Applied Michael Smith's XML-compliance patch. Default changed to XML to go with 7.3 toolchain. Added -s option. This version lifts 97% of 4253 man pages in a full Red Hat 7.3 install. 0.95: 2002-07-15:: Point release for Pradeep Padala. Added Windows port fix. Better command marking from synopsis sections. Oops, allow tildes in URLs. We can handle multiple stacked .TP entries now. Implement groff mso, ignore ftr. Crude, non-semantic lifting of function synopses. 0.9: 2001-11-09:: Add mm support. Resolve Latin 1 and Latin 2 entities correctly. Don't let line numbering be confused by saved sections. Handle non-syntactic [] in optional filename extensions. Improved generation of included entities. 0.8: 2001-11-05:: Catch and foil attempts to rename immutable macros. Better handling of unbalanced highlights. Multiple name lines are now passed through with the first one parsed. 96% success on sections 1 and 8 of a full Red Hat install. 0.7: 2001-10-31:: Multiple vertically-stacked hanging tags are now translated into Synopsis sections. Mdoc bibliography macros are supported. Paragraphed text in Synopsis sections is now handled. Tcl/Tk extension macros are processed. 92% success on section 1 of a full Red Hat install. 0.6: 2001-10-18:: Better handling of weird highlight and paragraphing combinations. 0.5: 2001-10-02:: Support for Berkeley mdoc. 0.4: 2001-09-05:: Don't rely on compilerlike.py being available. 0.3: 2001-09-04:: More steps towards mandoc interpretation. Checkpoint release for Jorge Godoy and Jeffrey Franks. 0.2: 2001-08-31:: Extra arguments of .TH are now passed through. \c is now handled properly rather than just being nuked. Now formats a dozen or so more problem pages. Magic inclusion semantics and -I. Full support for extended groff_char(7) characters. Implemented .tr. 0.1: 2001-08-27:: Initial build. 0.0: 2001-08-16:: First RCS commit. Project launched