Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jan 2017 13:02:53 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r312592 - vendor/mdocml/20170121
Message-ID:  <201701211302.v0LD2r2E032012@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Sat Jan 21 13:02:53 2017
New Revision: 312592
URL: https://svnweb.freebsd.org/changeset/base/312592

Log:
  Tag import of mandoc cvs snapshot 20170121

Added:
  vendor/mdocml/20170121/
     - copied from r312590, vendor/mdocml/dist/
  vendor/mdocml/20170121/dba.c
     - copied unchanged from r312591, vendor/mdocml/dist/dba.c
  vendor/mdocml/20170121/dba.h
     - copied unchanged from r312591, vendor/mdocml/dist/dba.h
  vendor/mdocml/20170121/dba_array.c
     - copied unchanged from r312591, vendor/mdocml/dist/dba_array.c
  vendor/mdocml/20170121/dba_array.h
     - copied unchanged from r312591, vendor/mdocml/dist/dba_array.h
  vendor/mdocml/20170121/dba_read.c
     - copied unchanged from r312591, vendor/mdocml/dist/dba_read.c
  vendor/mdocml/20170121/dba_write.c
     - copied unchanged from r312591, vendor/mdocml/dist/dba_write.c
  vendor/mdocml/20170121/dba_write.h
     - copied unchanged from r312591, vendor/mdocml/dist/dba_write.h
  vendor/mdocml/20170121/dbm.c
     - copied unchanged from r312591, vendor/mdocml/dist/dbm.c
  vendor/mdocml/20170121/dbm.h
     - copied unchanged from r312591, vendor/mdocml/dist/dbm.h
  vendor/mdocml/20170121/dbm_map.c
     - copied unchanged from r312591, vendor/mdocml/dist/dbm_map.c
  vendor/mdocml/20170121/dbm_map.h
     - copied unchanged from r312591, vendor/mdocml/dist/dbm_map.h
  vendor/mdocml/20170121/test-EFTYPE.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-EFTYPE.c
  vendor/mdocml/20170121/test-PATH_MAX.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-PATH_MAX.c
  vendor/mdocml/20170121/test-be32toh.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-be32toh.c
  vendor/mdocml/20170121/test-nanosleep.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-nanosleep.c
  vendor/mdocml/20170121/test-ntohl.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-ntohl.c
  vendor/mdocml/20170121/test-sandbox_init.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-sandbox_init.c
Replaced:
  vendor/mdocml/20170121/INSTALL
     - copied unchanged from r312591, vendor/mdocml/dist/INSTALL
  vendor/mdocml/20170121/LICENSE
     - copied unchanged from r312591, vendor/mdocml/dist/LICENSE
  vendor/mdocml/20170121/Makefile
     - copied unchanged from r312591, vendor/mdocml/dist/Makefile
  vendor/mdocml/20170121/Makefile.depend
     - copied unchanged from r312591, vendor/mdocml/dist/Makefile.depend
  vendor/mdocml/20170121/TODO
     - copied unchanged from r312591, vendor/mdocml/dist/TODO
  vendor/mdocml/20170121/cgi.c
     - copied unchanged from r312591, vendor/mdocml/dist/cgi.c
  vendor/mdocml/20170121/compat_fts.c
     - copied unchanged from r312591, vendor/mdocml/dist/compat_fts.c
  vendor/mdocml/20170121/compat_fts.h
     - copied unchanged from r312591, vendor/mdocml/dist/compat_fts.h
  vendor/mdocml/20170121/configure
     - copied unchanged from r312591, vendor/mdocml/dist/configure
  vendor/mdocml/20170121/configure.local.example
     - copied unchanged from r312591, vendor/mdocml/dist/configure.local.example
  vendor/mdocml/20170121/demandoc.c
     - copied unchanged from r312591, vendor/mdocml/dist/demandoc.c
  vendor/mdocml/20170121/eqn_html.c
     - copied unchanged from r312591, vendor/mdocml/dist/eqn_html.c
  vendor/mdocml/20170121/html.c
     - copied unchanged from r312591, vendor/mdocml/dist/html.c
  vendor/mdocml/20170121/html.h
     - copied unchanged from r312591, vendor/mdocml/dist/html.h
  vendor/mdocml/20170121/lib.in
     - copied unchanged from r312591, vendor/mdocml/dist/lib.in
  vendor/mdocml/20170121/libmandoc.h
     - copied unchanged from r312591, vendor/mdocml/dist/libmandoc.h
  vendor/mdocml/20170121/main.c
     - copied unchanged from r312591, vendor/mdocml/dist/main.c
  vendor/mdocml/20170121/main.h
     - copied unchanged from r312591, vendor/mdocml/dist/main.h
  vendor/mdocml/20170121/makewhatis.8
     - copied unchanged from r312591, vendor/mdocml/dist/makewhatis.8
  vendor/mdocml/20170121/man.1
     - copied unchanged from r312591, vendor/mdocml/dist/man.1
  vendor/mdocml/20170121/man.c
     - copied unchanged from r312591, vendor/mdocml/dist/man.c
  vendor/mdocml/20170121/man.conf.5
     - copied unchanged from r312591, vendor/mdocml/dist/man.conf.5
  vendor/mdocml/20170121/man_hash.c
     - copied unchanged from r312591, vendor/mdocml/dist/man_hash.c
  vendor/mdocml/20170121/man_html.c
     - copied unchanged from r312591, vendor/mdocml/dist/man_html.c
  vendor/mdocml/20170121/man_macro.c
     - copied unchanged from r312591, vendor/mdocml/dist/man_macro.c
  vendor/mdocml/20170121/man_term.c
     - copied unchanged from r312591, vendor/mdocml/dist/man_term.c
  vendor/mdocml/20170121/mandoc.1
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc.1
  vendor/mdocml/20170121/mandoc.3
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc.3
  vendor/mdocml/20170121/mandoc.css
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc.css
  vendor/mdocml/20170121/mandoc.db.5
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc.db.5
  vendor/mdocml/20170121/mandoc.h
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc.h
  vendor/mdocml/20170121/mandoc_aux.h
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc_aux.h
  vendor/mdocml/20170121/mandoc_html.3
     - copied unchanged from r312591, vendor/mdocml/dist/mandoc_html.3
  vendor/mdocml/20170121/mandocdb.c
     - copied unchanged from r312591, vendor/mdocml/dist/mandocdb.c
  vendor/mdocml/20170121/manpath.c
     - copied unchanged from r312591, vendor/mdocml/dist/manpath.c
  vendor/mdocml/20170121/mansearch.c
     - copied unchanged from r312591, vendor/mdocml/dist/mansearch.c
  vendor/mdocml/20170121/mansearch.h
     - copied unchanged from r312591, vendor/mdocml/dist/mansearch.h
  vendor/mdocml/20170121/mdoc.7
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc.7
  vendor/mdocml/20170121/mdoc.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc.c
  vendor/mdocml/20170121/mdoc_argv.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_argv.c
  vendor/mdocml/20170121/mdoc_hash.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_hash.c
  vendor/mdocml/20170121/mdoc_html.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_html.c
  vendor/mdocml/20170121/mdoc_macro.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_macro.c
  vendor/mdocml/20170121/mdoc_man.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_man.c
  vendor/mdocml/20170121/mdoc_state.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_state.c
  vendor/mdocml/20170121/mdoc_term.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_term.c
  vendor/mdocml/20170121/mdoc_validate.c
     - copied unchanged from r312591, vendor/mdocml/dist/mdoc_validate.c
  vendor/mdocml/20170121/read.c
     - copied unchanged from r312591, vendor/mdocml/dist/read.c
  vendor/mdocml/20170121/roff.c
     - copied unchanged from r312591, vendor/mdocml/dist/roff.c
  vendor/mdocml/20170121/roff.h
     - copied unchanged from r312591, vendor/mdocml/dist/roff.h
  vendor/mdocml/20170121/tag.c
     - copied unchanged from r312591, vendor/mdocml/dist/tag.c
  vendor/mdocml/20170121/tbl_html.c
     - copied unchanged from r312591, vendor/mdocml/dist/tbl_html.c
  vendor/mdocml/20170121/term.c
     - copied unchanged from r312591, vendor/mdocml/dist/term.c
  vendor/mdocml/20170121/term_ascii.c
     - copied unchanged from r312591, vendor/mdocml/dist/term_ascii.c
  vendor/mdocml/20170121/term_ps.c
     - copied unchanged from r312591, vendor/mdocml/dist/term_ps.c
  vendor/mdocml/20170121/test-fts.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-fts.c
  vendor/mdocml/20170121/test-ohash.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-ohash.c
  vendor/mdocml/20170121/test-vasprintf.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-vasprintf.c
  vendor/mdocml/20170121/test-wchar.c
     - copied unchanged from r312591, vendor/mdocml/dist/test-wchar.c
  vendor/mdocml/20170121/tree.c
     - copied unchanged from r312591, vendor/mdocml/dist/tree.c
Deleted:
  vendor/mdocml/20170121/compat_sqlite3_errstr.c
  vendor/mdocml/20170121/config.log
  vendor/mdocml/20170121/mansearch_const.c
  vendor/mdocml/20170121/test-mmap.c
  vendor/mdocml/20170121/test-sqlite3.c
  vendor/mdocml/20170121/test-sqlite3_errstr.c

Copied: vendor/mdocml/20170121/INSTALL (from r312591, vendor/mdocml/dist/INSTALL)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/mdocml/20170121/INSTALL	Sat Jan 21 13:02:53 2017	(r312592, copy of r312591, vendor/mdocml/dist/INSTALL)
@@ -0,0 +1,146 @@
+$Id: INSTALL,v 1.17 2016/07/19 22:40:33 schwarze Exp $
+
+About mdocml, the portable mandoc distribution
+----------------------------------------------
+The mandoc manpage compiler toolset is a suite of tools compiling
+mdoc(7), the roff(7) macro language of choice for BSD manual pages,
+and man(7), the predominant historical language for UNIX manuals.
+It includes a man(1) manual viewer and additional tools.
+For general information, see <http://mdocml.bsd.lv/>.
+
+In case you have questions or want to provide feedback, read
+<http://mdocml.bsd.lv/contact.html>.  Consider subscribing to the
+discuss@ mailing list mentioned on that page.  If you intend to
+help with the development of mandoc, consider subscribing to the
+tech@ mailing list, too.
+
+Enjoy using the mandoc toolset!
+
+Ingo Schwarze, Karlsruhe, July 2016
+
+
+Installation
+------------
+Before manually installing mandoc on your system, please check
+whether the newest version of mandoc is already installed by default
+or available via a binary package or a ports system.  A list of the
+latest bundled and ported versions of mandoc for various operating
+systems is maintained at <http://mdocml.bsd.lv/ports.html>.
+
+Regarding how packages and ports are maintained for your operating
+system, please consult your operating system documentation.
+To install mandoc manually, the following steps are needed:
+
+1. If you want to build the CGI program, man.cgi(8), too, run the
+command "echo BUILD_CGI=1 > configure.local".  Then run "cp
+cgi.h.examples cgi.h" and edit cgi.h as desired.
+
+2. Define MANPATH_DEFAULT in configure.local
+if /usr/share/man:/usr/X11R6/man:/usr/local/man is not appropriate
+for your operating system.
+
+3. Run "./configure".
+This script attempts autoconfiguration of mandoc for your system.
+Read both its standard output and the file "Makefile.local" it
+generates.  If anything looks wrong or different from what you
+wish, read the file "configure.local.example", create and edit
+a file "configure.local", and re-run "./configure" until the
+result seems right to you.
+On Solaris 10 and earlier, you may have to run "ksh ./configure"
+because the native /bin/sh lacks some POSIX features.
+
+4. Run "make".
+Any POSIX-compatible make, in particular both BSD make and GNU make,
+should work.  If the build fails, look at "configure.local.example"
+and go back to step 2.
+
+5. Run "make -n install" and check whether everything will be
+installed to the intended places.  Otherwise, put some *DIR or *NM*
+variables into "configure.local" and go back to step 3.
+
+6. Run "sudo make install".  If you intend to build a binary
+package using some kind of fake root mechanism, you may need a
+command like "make DESTDIR=... install".  Read the *-install targets
+in the "Makefile" to understand how DESTDIR is used.
+
+7. Run the command "sudo
+makewhatis" to build mandoc.db(5) databases in all the directory
+trees configured in step 6.  Whenever installing new manual pages,
+re-run makewhatis(8) to update the databases, or apropos(1) will
+not find the new pages.
+
+8. To set up a man.cgi(8) server, read its manual page.
+
+Note that some man(7) pages may contain low-level roff(7) markup
+that mandoc does not yet understand.  On some BSD systems using
+mandoc, third-party software is vetted on whether it may be formatted
+with mandoc.  If not, groff(1) is pulled in as a dependency and
+used to install a pre-formatted "catpage" instead of directly as
+manual page source.
+
+
+Understanding mandoc dependencies
+---------------------------------
+The following libraries are required:
+
+1. zlib for decompressing gzipped manual pages.
+
+2. The fts(3) directory traversion functions.
+If your system does not have them, the bundled compatibility version
+will be used, so you need not worry in that case.  But be careful: the
+glibc version of fts(3) is known to be broken on 32bit platforms,
+see <https://sourceware.org/bugzilla/show_bug.cgi?id=15838>.
+If you run into that problem, set "HAVE_FTS=0" in configure.local.
+
+3. Marc Espie's ohash(3) library.
+If your system does not have it, the bundled compatibility version
+will be used, so you probably need not worry about it.
+
+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.
+
+
+Checking autoconfiguration quality
+----------------------------------
+If you want to check whether automatic configuration works well
+on your platform, consider the following:
+
+The mandoc package intentionally does not use GNU autoconf because
+we consider that toolset a blatant example of overengineering that
+is obsolete nowadays, since all modern operating systems are now
+reasonably close to POSIX and do not need arcane shell magic any
+longer.  If your system does need such magic, consider upgrading
+to reasonably modern POSIX-compliant tools rather than asking for
+autoconf-style workarounds.
+
+As far as mandoc is using any features not mandated by ANSI X3.159-1989
+("ANSI C") or IEEE Std 1003.1-2008 ("POSIX") that some modern systems
+do not have, we intend to provide autoconfiguration tests and
+compat_*.c implementations.  Please report any that turn out to be
+missing.  Note that while we do strive to produce portable code,
+we do not slavishly restrict ourselves to POSIX-only interfaces.
+For improved security and readability, we do use well-designed,
+modern interfaces like reallocarray(3) even if they are still rather
+uncommon, of course bundling compat_*.c implementations as needed.
+
+Where mandoc is using ANSI C or POSIX features that some systems
+still lack and that compat_*.c implementations can be provided for
+without too much hassle, we will consider adding them, too, so
+please report whatever is missing on your platform.
+
+The following steps can be used to manually check the automatic
+configuration on your platform:
+
+1. Run "make distclean".
+
+2. Run "./configure"
+
+3. Read the file "config.log".  It shows the compiler commands used
+to test the libraries installed on your system and the standard
+output and standard error output these commands produce.  Watch out
+for unexpected failures.  Those are most likely to happen if headers
+or libraries are installed in unusual places or interfaces defined
+in unusual headers.  You can also look at the file "config.h" and
+check that no "#define HAVE_*" differ from your expectations.

Copied: vendor/mdocml/20170121/LICENSE (from r312591, vendor/mdocml/dist/LICENSE)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/mdocml/20170121/LICENSE	Sat Jan 21 13:02:53 2017	(r312592, copy of r312591, vendor/mdocml/dist/LICENSE)
@@ -0,0 +1,53 @@
+$Id: LICENSE,v 1.13 2016/10/18 14:15:33 schwarze Exp $
+
+With the exceptions noted below, all code and documentation
+contained in the mdocml toolkit is protected by the Copyright
+of the following developers:
+
+Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
+Copyright (c) 2010-2016 Ingo Schwarze <schwarze@openbsd.org>
+Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger <joerg@netbsd.org>
+Copyright (c) 2013 Franco Fichtner <franco@lastsummer.de>
+Copyright (c) 2014 Baptiste Daroussin <bapt@freebsd.org>
+Copyright (c) 2016 Ed Maste <emaste@freebsd.org>
+Copyright (c) 1999, 2004 Marc Espie <espie@openbsd.org>
+Copyright (c) 1998, 2004, 2010 Todd C. Miller <Todd.Miller@courtesan.com>
+Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>
+Copyright (c) 2004 Ted Unangst <tedu@openbsd.org>
+Copyright (c) 1994 Christos Zoulas <christos@netbsd.org>
+Copyright (c) 2003, 2007, 2008, 2014 Jason McIntyre <jmc@openbsd.org>
+
+See the individual source files for information about who contributed
+to which file during which years.
+
+
+The mdocml distribution as a whole is distributed by its developers
+under the following license:
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+The following files included from outside sources are protected by
+other people's Copyright and are distributed under various 2-clause
+and 3-clause BSD licenses; see these individual files for details.
+
+soelim.c, soelim.1:
+Copyright (c) 2014 Baptiste Daroussin <bapt@freebsd.org>
+
+compat_err.c, compat_fts.c, compat_fts.h,
+compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c,
+man.1:
+Copyright (c) 1989,1990,1993,1994 The Regents of the University of California
+
+compat_stringlist.c, compat_stringlist.h:
+Copyright (c) 1994 Christos Zoulas <christos@netbsd.org>

Copied: vendor/mdocml/20170121/Makefile (from r312591, vendor/mdocml/dist/Makefile)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/mdocml/20170121/Makefile	Sat Jan 21 13:02:53 2017	(r312592, copy of r312591, vendor/mdocml/dist/Makefile)
@@ -0,0 +1,478 @@
+# $Id: Makefile,v 1.493 2016/11/19 15:24:51 schwarze Exp $
+#
+# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
+# Copyright (c) 2011, 2013-2016 Ingo Schwarze <schwarze@openbsd.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+VERSION = 1.14.0
+
+# === LIST OF FILES ====================================================
+
+TESTSRCS	 = test-be32toh.c \
+		   test-dirent-namlen.c \
+		   test-EFTYPE.c \
+		   test-err.c \
+		   test-fts.c \
+		   test-getline.c \
+		   test-getsubopt.c \
+		   test-isblank.c \
+		   test-mkdtemp.c \
+		   test-nanosleep.c \
+		   test-ntohl.c \
+		   test-ohash.c \
+		   test-PATH_MAX.c \
+		   test-pledge.c \
+		   test-progname.c \
+		   test-reallocarray.c \
+		   test-rewb-bsd.c \
+		   test-rewb-sysv.c \
+		   test-sandbox_init.c \
+		   test-strcasestr.c \
+		   test-stringlist.c \
+		   test-strlcat.c \
+		   test-strlcpy.c \
+		   test-strptime.c \
+		   test-strsep.c \
+		   test-strtonum.c \
+		   test-vasprintf.c \
+		   test-wchar.c
+
+SRCS		 = att.c \
+		   cgi.c \
+		   chars.c \
+		   compat_err.c \
+		   compat_fts.c \
+		   compat_getline.c \
+		   compat_getsubopt.c \
+		   compat_isblank.c \
+		   compat_mkdtemp.c \
+		   compat_ohash.c \
+		   compat_progname.c \
+		   compat_reallocarray.c \
+		   compat_strcasestr.c \
+		   compat_stringlist.c \
+		   compat_strlcat.c \
+		   compat_strlcpy.c \
+		   compat_strsep.c \
+		   compat_strtonum.c \
+		   compat_vasprintf.c \
+		   dba.c \
+		   dba_array.c \
+		   dba_read.c \
+		   dba_write.c \
+		   dbm.c \
+		   dbm_map.c \
+		   demandoc.c \
+		   eqn.c \
+		   eqn_html.c \
+		   eqn_term.c \
+		   html.c \
+		   lib.c \
+		   main.c \
+		   man.c \
+		   man_hash.c \
+		   man_html.c \
+		   man_macro.c \
+		   man_term.c \
+		   man_validate.c \
+		   mandoc.c \
+		   mandoc_aux.c \
+		   mandoc_ohash.c \
+		   mandocdb.c \
+		   manpage.c \
+		   manpath.c \
+		   mansearch.c \
+		   mdoc.c \
+		   mdoc_argv.c \
+		   mdoc_hash.c \
+		   mdoc_html.c \
+		   mdoc_macro.c \
+		   mdoc_man.c \
+		   mdoc_state.c \
+		   mdoc_term.c \
+		   mdoc_validate.c \
+		   msec.c \
+		   out.c \
+		   preconv.c \
+		   read.c \
+		   roff.c \
+		   soelim.c \
+		   st.c \
+		   tag.c \
+		   tbl.c \
+		   tbl_data.c \
+		   tbl_html.c \
+		   tbl_layout.c \
+		   tbl_opts.c \
+		   tbl_term.c \
+		   term.c \
+		   term_ascii.c \
+		   term_ps.c \
+		   tree.c
+
+DISTFILES	 = INSTALL \
+		   LICENSE \
+		   Makefile \
+		   Makefile.depend \
+		   NEWS \
+		   TODO \
+		   apropos.1 \
+		   cgi.h.example \
+		   compat_fts.h \
+		   compat_ohash.h \
+		   compat_stringlist.h \
+		   configure \
+		   configure.local.example \
+		   dba.h \
+		   dba_array.h \
+		   dba_write.h \
+		   dbm.h \
+		   dbm_map.h \
+		   demandoc.1 \
+		   eqn.7 \
+		   gmdiff \
+		   html.h \
+		   lib.in \
+		   libman.h \
+		   libmandoc.h \
+		   libmdoc.h \
+		   libroff.h \
+		   main.h \
+		   makewhatis.8 \
+		   man.1 \
+		   man.7 \
+		   man.cgi.3 \
+		   man.cgi.8 \
+		   man.conf.5 \
+		   man.h \
+		   manconf.h \
+		   mandoc.1 \
+		   mandoc.3 \
+		   mandoc.css \
+		   mandoc.db.5 \
+		   mandoc.h \
+		   mandoc_aux.h \
+		   mandoc_char.7 \
+		   mandoc_escape.3 \
+		   mandoc_headers.3 \
+		   mandoc_html.3 \
+		   mandoc_malloc.3 \
+		   mandoc_ohash.h \
+		   mansearch.3 \
+		   mansearch.h \
+		   mchars_alloc.3 \
+		   mdoc.7 \
+		   mdoc.h \
+		   msec.in \
+		   out.h \
+		   predefs.in \
+		   roff.7 \
+		   roff.h \
+		   roff_int.h \
+		   soelim.1 \
+		   st.in \
+		   tag.h \
+		   tbl.3 \
+		   tbl.7 \
+		   term.h \
+		   $(SRCS) \
+		   $(TESTSRCS)
+
+LIBMAN_OBJS	 = man.o \
+		   man_hash.o \
+		   man_macro.o \
+		   man_validate.o
+
+LIBMDOC_OBJS	 = att.o \
+		   lib.o \
+		   mdoc.o \
+		   mdoc_argv.o \
+		   mdoc_hash.o \
+		   mdoc_macro.o \
+		   mdoc_state.o \
+		   mdoc_validate.o \
+		   st.o
+
+LIBROFF_OBJS	 = eqn.o \
+		   roff.o \
+		   tbl.o \
+		   tbl_data.o \
+		   tbl_layout.o \
+		   tbl_opts.o
+
+LIBMANDOC_OBJS	 = $(LIBMAN_OBJS) \
+		   $(LIBMDOC_OBJS) \
+		   $(LIBROFF_OBJS) \
+		   chars.o \
+		   mandoc.o \
+		   mandoc_aux.o \
+		   mandoc_ohash.o \
+		   msec.o \
+		   preconv.o \
+		   read.o
+
+COMPAT_OBJS	 = compat_err.o \
+		   compat_fts.o \
+		   compat_getline.o \
+		   compat_getsubopt.o \
+		   compat_isblank.o \
+		   compat_mkdtemp.o \
+		   compat_ohash.o \
+		   compat_progname.o \
+		   compat_reallocarray.o \
+		   compat_strcasestr.o \
+		   compat_strlcat.o \
+		   compat_strlcpy.o \
+		   compat_strsep.o \
+		   compat_strtonum.o \
+		   compat_vasprintf.o
+
+MANDOC_HTML_OBJS = eqn_html.o \
+		   html.o \
+		   man_html.o \
+		   mdoc_html.o \
+		   tbl_html.o
+
+MANDOC_MAN_OBJS  = mdoc_man.o
+
+MANDOC_TERM_OBJS = eqn_term.o \
+		   man_term.o \
+		   mdoc_term.o \
+		   term.o \
+		   term_ascii.o \
+		   term_ps.o \
+		   tbl_term.o
+
+DBM_OBJS	 = dbm.o \
+		   dbm_map.o \
+		   mansearch.o
+
+DBA_OBJS	 = dba.o \
+		   dba_array.o \
+		   dba_read.o \
+		   dba_write.o \
+		   mandocdb.o
+
+MAIN_OBJS	 = $(MANDOC_HTML_OBJS) \
+		   $(MANDOC_MAN_OBJS) \
+		   $(MANDOC_TERM_OBJS) \
+		   $(DBM_OBJS) \
+		   $(DBA_OBJS) \
+		   main.o \
+		   manpath.o \
+		   out.o \
+		   tag.o \
+		   tree.o
+
+CGI_OBJS	 = $(MANDOC_HTML_OBJS) \
+		   $(DBM_OBJS) \
+		   cgi.o \
+		   out.o
+
+MANPAGE_OBJS	 = $(DBM_OBJS) \
+		   manpage.o \
+		   manpath.o
+
+DEMANDOC_OBJS	 = demandoc.o
+
+SOELIM_OBJS	 = soelim.o \
+		   compat_err.o \
+		   compat_getline.o \
+		   compat_progname.o \
+		   compat_reallocarray.o \
+		   compat_stringlist.o
+
+WWW_MANS	 = apropos.1.html \
+		   demandoc.1.html \
+		   man.1.html \
+		   mandoc.1.html \
+		   soelim.1.html \
+		   mandoc.3.html \
+		   mandoc_escape.3.html \
+		   mandoc_headers.3.html \
+		   mandoc_html.3.html \
+		   mandoc_malloc.3.html \
+		   mansearch.3.html \
+		   mchars_alloc.3.html \
+		   tbl.3.html \
+		   man.conf.5.html \
+		   mandoc.db.5.html \
+		   eqn.7.html \
+		   man.7.html \
+		   mandoc_char.7.html \
+		   mdoc.7.html \
+		   roff.7.html \
+		   tbl.7.html \
+		   makewhatis.8.html \
+		   man.cgi.3.html \
+		   man.cgi.8.html \
+		   man.h.html \
+		   manconf.h.html \
+		   mandoc.h.html \
+		   mandoc_aux.h.html \
+		   mansearch.h.html \
+		   mdoc.h.html \
+		   roff.h.html
+
+WWW_OBJS	 = mdocml.tar.gz \
+		   mdocml.sha256
+
+# === USER CONFIGURATION ===============================================
+
+include Makefile.local
+
+# === DEPENDENCY HANDLING ==============================================
+
+all: base-build $(BUILD_TARGETS) Makefile.local
+
+base-build: mandoc demandoc soelim
+
+cgi-build: man.cgi
+
+install: base-install $(INSTALL_TARGETS)
+
+www: $(WWW_OBJS) $(WWW_MANS)
+
+$(WWW_MANS): mandoc
+
+.PHONY: base-install cgi-install install www-install
+.PHONY: clean distclean depend
+
+include Makefile.depend
+
+# === TARGETS CONTAINING SHELL COMMANDS ================================
+
+distclean: clean
+	rm -f Makefile.local config.h config.h.old config.log config.log.old
+
+clean:
+	rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)
+	rm -f mandoc $(MAIN_OBJS)
+	rm -f man.cgi $(CGI_OBJS)
+	rm -f manpage $(MANPAGE_OBJS)
+	rm -f demandoc $(DEMANDOC_OBJS)
+	rm -f soelim $(SOELIM_OBJS)
+	rm -f $(WWW_MANS) $(WWW_OBJS)
+	rm -rf *.dSYM
+
+base-install: base-build
+	mkdir -p $(DESTDIR)$(BINDIR)
+	mkdir -p $(DESTDIR)$(SBINDIR)
+	mkdir -p $(DESTDIR)$(MANDIR)/man1
+	mkdir -p $(DESTDIR)$(MANDIR)/man5
+	mkdir -p $(DESTDIR)$(MANDIR)/man7
+	mkdir -p $(DESTDIR)$(MANDIR)/man8
+	$(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR)
+	$(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM)
+	ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN)
+	ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS)
+	ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS)
+	ln -f $(DESTDIR)$(BINDIR)/mandoc \
+		$(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS)
+	$(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1
+	$(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1
+	$(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1
+	ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \
+		$(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1
+	$(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/${MANM_MANCONF}.5
+	$(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5
+	$(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MAN}.7
+	$(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MDOC}.7
+	$(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/${MANM_ROFF}.7
+	$(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/${MANM_EQN}.7
+	$(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/${MANM_TBL}.7
+	$(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7
+	$(INSTALL_MAN) makewhatis.8 \
+		$(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8
+
+lib-install: base-build
+	mkdir -p $(DESTDIR)$(LIBDIR)
+	mkdir -p $(DESTDIR)$(INCLUDEDIR)
+	mkdir -p $(DESTDIR)$(MANDIR)/man3
+	$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
+	$(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \
+		$(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
+		mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
+
+cgi-install: cgi-build
+	mkdir -p $(DESTDIR)$(CGIBINDIR)
+	mkdir -p $(DESTDIR)$(HTDOCDIR)
+	$(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR)
+	$(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR)
+
+Makefile.local config.h: configure ${TESTSRCS}
+	@echo "$@ is out of date; please run ./configure"
+	@exit 1
+
+libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
+	ar rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
+
+mandoc: $(MAIN_OBJS) libmandoc.a
+	$(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD)
+
+manpage: $(MANPAGE_OBJS) libmandoc.a
+	$(CC) -o $@ $(LDFLAGS) $(MANPAGE_OBJS) libmandoc.a $(LDADD)
+
+man.cgi: $(CGI_OBJS) libmandoc.a
+	$(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD)
+
+demandoc: $(DEMANDOC_OBJS) libmandoc.a
+	$(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD)
+
+soelim: $(SOELIM_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS)
+
+# --- maintainer targets ---
+
+www-install: www
+	mkdir -p $(HTDOCDIR)/snapshots
+	$(INSTALL_DATA) $(WWW_MANS) mandoc.css $(HTDOCDIR)
+	$(INSTALL_DATA) $(WWW_OBJS) $(HTDOCDIR)/snapshots
+	$(INSTALL_DATA) mdocml.tar.gz \
+		$(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz
+	$(INSTALL_DATA) mdocml.sha256 \
+		$(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256
+
+depend: config.h
+	mkdep -f Makefile.depend $(CFLAGS) $(SRCS)
+	perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \
+		s|\\\n||g; s|  +| |g; s| $$||mg; print;' \
+		Makefile.depend > Makefile.tmp
+	mv Makefile.tmp Makefile.depend
+
+dist: mdocml.sha256
+
+mdocml.sha256: mdocml.tar.gz
+	sha256 mdocml.tar.gz > $@
+
+mdocml.tar.gz: $(DISTFILES)
+	mkdir -p .dist/mdocml-$(VERSION)/
+	$(INSTALL) -m 0644 $(DISTFILES) .dist/mdocml-$(VERSION)
+	chmod 755 .dist/mdocml-$(VERSION)/configure
+	( cd .dist/ && tar zcf ../$@ mdocml-$(VERSION) )
+	rm -rf .dist/
+
+# === SUFFIX RULES =====================================================
+
+.SUFFIXES:	 .1       .3       .5       .7       .8       .h
+.SUFFIXES:	 .1.html  .3.html  .5.html  .7.html  .8.html  .h.html
+
+.h.h.html:
+	highlight -I $< > $@
+
+.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc
+	./mandoc -Thtml -Wall,stop \
+		-Ostyle=mandoc.css,man=%N.%S.html,includes=%I.html $< > $@

Copied: vendor/mdocml/20170121/Makefile.depend (from r312591, vendor/mdocml/dist/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/mdocml/20170121/Makefile.depend	Sat Jan 21 13:02:53 2017	(r312592, copy of r312591, vendor/mdocml/dist/Makefile.depend)
@@ -0,0 +1,72 @@
+att.o: att.c config.h roff.h mdoc.h libmdoc.h
+cgi.o: cgi.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mansearch.h cgi.h
+chars.o: chars.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h libmandoc.h
+compat_err.o: compat_err.c config.h
+compat_fts.o: compat_fts.c config.h compat_fts.h
+compat_getline.o: compat_getline.c config.h
+compat_getsubopt.o: compat_getsubopt.c config.h
+compat_isblank.o: compat_isblank.c config.h
+compat_mkdtemp.o: compat_mkdtemp.c config.h
+compat_ohash.o: compat_ohash.c config.h compat_ohash.h
+compat_progname.o: compat_progname.c config.h
+compat_reallocarray.o: compat_reallocarray.c config.h
+compat_strcasestr.o: compat_strcasestr.c config.h
+compat_stringlist.o: compat_stringlist.c config.h compat_stringlist.h
+compat_strlcat.o: compat_strlcat.c config.h
+compat_strlcpy.o: compat_strlcpy.c config.h
+compat_strsep.o: compat_strsep.c config.h
+compat_strtonum.o: compat_strtonum.c config.h
+compat_vasprintf.o: compat_vasprintf.c config.h
+dba.o: dba.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mansearch.h dba_write.h dba_array.h dba.h
+dba_array.o: dba_array.c mandoc_aux.h dba_write.h dba_array.h
+dba_read.o: dba_read.c mandoc_aux.h mansearch.h dba_array.h dba.h dbm.h
+dba_write.o: dba_write.c config.h dba_write.h
+dbm.o: dbm.c config.h mansearch.h dbm_map.h dbm.h
+dbm_map.o: dbm_map.c config.h mansearch.h dbm_map.h dbm.h
+demandoc.o: demandoc.c config.h roff.h man.h mdoc.h mandoc.h
+eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h
+eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h
+eqn_term.o: eqn_term.c config.h mandoc.h out.h term.h
+html.o: html.c config.h mandoc.h mandoc_aux.h out.h html.h manconf.h main.h
+lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in
+main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h
+man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
+man_hash.o: man_hash.c config.h mandoc.h roff.h man.h libmandoc.h libman.h
+man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h
+man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
+man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h
+man_validate.o: man_validate.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h
+mandoc.o: mandoc.c config.h mandoc.h mandoc_aux.h libmandoc.h
+mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h
+mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h
+mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h
+manpage.o: manpage.c config.h manconf.h mansearch.h
+manpath.o: manpath.c config.h mandoc_aux.h manconf.h
+mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h
+mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h
+mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h
+mdoc_hash.o: mdoc_hash.c config.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h
+mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h
+mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h
+mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h
+mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h
+mdoc_term.o: mdoc_term.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h term.h tag.h main.h
+mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h
+msec.o: msec.c config.h mandoc.h libmandoc.h msec.in
+out.o: out.c config.h mandoc_aux.h mandoc.h out.h
+preconv.o: preconv.c config.h mandoc.h libmandoc.h
+read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h libmandoc.h roff_int.h
+roff.o: roff.c config.h mandoc.h mandoc_aux.h roff.h libmandoc.h roff_int.h libroff.h predefs.in
+soelim.o: soelim.c config.h compat_stringlist.h
+st.o: st.c config.h roff.h mdoc.h libmdoc.h st.in
+tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h
+tbl.o: tbl.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h
+tbl_data.o: tbl_data.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h
+tbl_html.o: tbl_html.c config.h mandoc.h out.h html.h
+tbl_layout.o: tbl_layout.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h
+tbl_opts.o: tbl_opts.c config.h mandoc.h libmandoc.h libroff.h
+tbl_term.o: tbl_term.c config.h mandoc.h out.h term.h
+term.o: term.c config.h mandoc.h mandoc_aux.h out.h term.h main.h
+term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h manconf.h main.h
+term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h manconf.h main.h
+tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h main.h

Copied: vendor/mdocml/20170121/TODO (from r312591, vendor/mdocml/dist/TODO)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/mdocml/20170121/TODO	Sat Jan 21 13:02:53 2017	(r312592, copy of r312591, vendor/mdocml/dist/TODO)
@@ -0,0 +1,662 @@
+************************************************************************
+* Official mandoc TODO.
+* $Id: TODO,v 1.223 2017/01/17 15:32:43 schwarze Exp $
+************************************************************************
+
+Many issues are annotated for difficulty as follows:
+
+ - loc = locality of the issue
+    *    single file issue, affects file only, or very few
+    **   single module issue, affects several files of one module
+    ***  cross-module issue, significantly impacts multiple modules
+         and may require substantial changes to internal interfaces
+ - exist = difficulty of the existing code in this area
+    *    affected code is straightforward and easy to read and change
+    **   affected code is somewhat complex, but once you understand
+         the design, not particularly difficult to understand
+    ***  affected code uses a special, exceptionally tricky design
+ - algo = difficulty of the new algorithm to be written
+    *    the required logic and code is straightforward
+    **   the required logic is somewhat complex and needs a careful design
+    ***  the required logic is exceptionally tricky,
+         maybe an approach to solve that is not even known yet
+ - size = the amount of code to be written or changed
+    *    a small number of lines (at most 100, usually much less)
+    **   a considerable amount of code (several dozen to a few hundred)
+    ***  a large amount of code (many hundreds, maybe thousands)
+ - imp = importance of the issue
+    *    mostly for completeness
+    **   would be nice to have
+    ***  issue causes considerable inconvenience
+
+Obviously, as the issues have not been solved yet, these annotations
+are mere guesses, and some may be wrong.
+
+************************************************************************
+* missing features
+************************************************************************
+
+--- missing roff features ----------------------------------------------
+
+- .ad (adjust margins)
+  .ad l -- adjust left margin only (flush left)
+  .ad r -- adjust right margin only (flush right)
+  .ad c -- center text on line
+  .ad b -- adjust both margins (alias: .ad n)
+  .na   -- temporarily disable adjustment without changing the mode
+  .ad   -- re-enable adjustment without changing the mode
+  Adjustment mode is ignored while in no-fill mode (.nf).
+  loc ***  exist ***  algo **  size **  imp **  (parser reorg would help)
+
+- .fc (field control)
+  found by naddy@ in xloadimage(1)
+  loc **  exist ***  algo *  size *  imp *
+
+- .nr third argument (auto-increment step size, requires \n+)
+  found by bentley@ in sbcl(1)  Mon, 9 Dec 2013 18:36:57 -0700
+  loc *  exist *  algo *  size *  imp **
+
+- .ns (no-space mode) occurs in xine-config(1)
+  when implementing this, also let .TH set it
+  reported by brad@  Sat, 15 Jan 2011 15:45:23 -0500
+  loc ***  exist ***  algo ***  size **  imp *
+
+- .ta (tab settings)
+  #1 most important issue naddy@ Mon, 16 Feb 2015 20:59:17 +0100
+  ircbug(1) gnats(1) reported by brad@  Sat, 15 Jan 2011 15:50:51 -0500
+  also Tcl_NewStringObj(3) via wiz@  Wed, 5 Mar 2014 22:27:43 +0100
+  also posix2time(3) Carsten Kunze  Mon, 1 Dec 2014 13:03:10 +0100
+  loc **  exist ***  algo **  size **  imp ***
+
+- .ti (temporary indent)
+  found by naddy@ in xloadimage(1) [devel/libvstr] vstr(3)
+  found by bentley@ in nmh(1)  Mon, 23 Apr 2012 13:38:28 -0600
+  loc **  exist **  algo **  size *  imp ** (parser reorg helps a lot)
+
+- .while and .shift
+  found by jca@ in ratpoison(1)  Sun, 30 Jun 2013 12:01:09 +0200
+  loc *  exist **  algo **  size **  imp **
+
+- \h horizontal move
+  #2 most important issue naddy@  Mon, 16 Feb 2015 20:59:17 +0100
+  found in cclive(1) nasm(1) bogofilter(1) asciidoc/DocBook output
+  bentley@ on discuss@  Sat, 21 Sep 2013 22:29:34 -0600
+  naddy@  Thu, 4 Dec 2014 16:26:41 +0100
+  loc **  exist **  algo **  size *  imp *** (parser reorg helps a lot)
+
+- \n+ and \n- numerical register increment and decrement
+  found by bentley@ in sbcl(1)  Mon, 9 Dec 2013 18:36:57 -0700
+  loc *  exist *  algo *  size *  imp **
+
+- \n(.$ macro argument count number register; ocserv(8) by autogen
+  found by sthen@  Thu, 19 Feb 2015 22:03:01 +0000
+  loc *  exist **  algo *  size *  imp **
+
+- \w'' improve width measurements
+  would not be very useful without an expression parser, see below
+  needed for Tcl_NewStringObj(3) via wiz@  Wed, 5 Mar 2014 22:27:43 +0100
+  loc **  exist ***  algo ***  size *  imp ***
+
+- \\ in high-level macro arguments
+  Currently, \\ is expanded in two situations:
+  1) macro and string definition (roff.c setstrn())
+  2) macro argument parsing (mandoc.c mandoc_getarg())
+  For user defined macros, the second happens in time because of ROFF_REPARSE.
+  But for standard high-level macros, it only happens after entering the
+  high level parsers, which is too late because the code doesn't get
+  back to roff.c roff_res() from that point.  Because this requires
+  distinguishing requests, user-defined macros and standard macros
+  on the roff_res() level, it is hard to solve without the parser reorg.
+  Found by naddy@ in devel/cutils cobfusc(1)  Mon, 16 Feb 2015 19:10:52 +0100
+  loc ***  exist ***  algo ***  size **  imp *
+
+- using undefined strings or macros defines them to be empty
+  wl@  Mon, 14 Nov 2011 14:37:01 +0000
+  loc *  exist *  algo *  size *  imp *
+
+--- missing mdoc features ----------------------------------------------
+
+- .Bl -column .Xo support is missing
+  ultimate goal:
+  restore .Xr and .Dv to
+  lib/libc/compat-43/sigvec.3
+  lib/libc/gen/signal.3
+  lib/libc/sys/sigaction.2
+  loc *  exist ***  algo ***  size *  imp **
+
+- edge case: decide how to deal with blk_full bad nesting, e.g.
+  .Sh .Nm .Bk .Nm .Ek .Sh found by jmc@ in ssh-keygen(1)
+  from jmc@  Wed, 14 Jul 2010 18:10:32 +0100
+  loc *  exist ***  algo ***  size **  imp **
+
+- .Bd -centered implies -filled, not -unfilled, which is not
+  easy to implement; it requires code similar to .ce, which
+  we don't have either.
+  Besides, groff has bug causing text right *before* .Bd -centered
+  to be centered as well.
+  loc ***  exist ***  algo **  size **  imp **  (parser reorg would help)
+
+- .Bd -filled should not be the same as .Bd -ragged, but align both
+  the left and right margin.  In groff, it is implemented in terms
+  of .ad b, which we don't have either.  Found in cksum(1).
+  loc ***  exist ***  algo **  size **  imp **  (parser reorg would help)
+
+- implement blank `Bl -column', such as
+  .Bl -column
+  .It foo Ta bar
+  .El
+  loc *  exist ***  algo ***  size *  imp *
+
+- explicitly disallow nested `Bl -column', which would clobber internal
+  flags defined for struct mdoc_macro
+  loc *  exist *  algo *  size *  imp **
+
+- In .Bl -column .It, the end of the line probably has to be regarded
+  as an implicit .Ta, if there could be one, see the following mildly
+  ugly code from login.conf(5):
+    .Bl -column minpasswordlen program xetcxmotd
+    .It path Ta path Ta value of Dv _PATH_DEFPATH
+    .br
+    Default search path.
+  reported by Michal Mazurek <akfaew at jasminek dot net>
+  via jmc@ Thu, 7 Apr 2011 16:00:53 +0059
+  loc *  exist ***  algo **  size *  imp **
+
+- inside `.Bl -column' phrases, punctuation is handled like normal
+  text, e.g. `.Bl -column .It Fl x . Ta ...' should give "-x -."
+
+- inside `.Bl -column' phrases, TERMP_IGNDELIM handling by `Pf'
+  is not safe, e.g. `.Bl -column .It Pf a b .' gives "ab."
+  but should give "ab ."
+
+- check whether it is correct that `D1' uses INDENT+1;
+  does it need its own constant?
+  loc *  exist **  algo **  size *  imp **
+
+- prohibit `Nm' from having non-text HEAD children
+  (e.g., NetBSD mDNSShared/dns-sd.1)
+  (mdoc_html.c and mdoc_term.c `Nm' handlers can be slightly simplified)
+
+- support translated section names
+  e.g. x11/scrotwm scrotwm_es.1:21:2: error: NAME section must be first
+  that one uses NOMBRE because it is spanish...
+  deraadt tends to think that section-dependent macro behaviour
+  is a bad idea in the first place, so this may be irrelevant
+  loc **  exist **  algo **  size *  imp **
+
+- When there is free text in the SYNOPSIS and that free text contains
+  the .Nm macro, groff somehow understands to treat the .Nm as an in-line
+  macro, while mandoc treats it as a block macro and breaks the line.
+  No idea how the logic for distinguishing in-line and block instances
+  should be, needs investigation.
+  uqs@  Thu, 2 Jun 2011 11:03:51 +0200
+  uqs@  Thu, 2 Jun 2011 11:33:35 +0200
+  loc *  exist **  algo ***  size *  imp **
+
+--- missing man features -----------------------------------------------
+
+- -T[x]html doesn't stipulate non-collapsing spaces in literal mode
+
+--- missing tbl features -----------------------------------------------
+
+- horizontal lines in the layout still consume data cells
+  and can be mixed with actual data on the same table line
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc **  exist **  algo **  size **  imp ***
+
+- break long text into lines inside cells
+  net/lftp(1) from jirib via bentley@ Sep 13, 2016
+
+- layout l1 for a column of max text width 3 reduces the following
+  inter-column spacing for groff, but not for mandoc
+  net/lftp(1) from jirib via bentley@ Sep 13, 2016
+
+- the "w" layout option is ignored
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc *  exist *  algo *  size *  imp **
+
+- the "s" layout column specifier is used for placement of data
+  into columns, but ignored during column width calculations
+  synaptics(4) found by tedu@  Mon, 17 Aug 2015 21:17:42 -0400
+  loc *  exist **  algo ***  size *  imp **
+
+- support mdoc(7) and man(7) macros inside tbl(7) code;
+  probably requires the parser reorg and letting tbl(7)
+  use roff_node such that macro sets can mix;
+  informed by bapt@ that FreeBSD needs this.
+  loc ***  exist **  algo ***  size **  imp ***
+
+- look at the POSIX manuals in the books/man-pages-posix port,
+  they use some unsupported tbl(7) features.
+  loc *  exist **  algo **  size **  imp ***
+
+- use Unicode U+2500 to U+256C for table borders
+  in tbl(7) -Tutf-8 output
+  suggested by bentley@  Tue, 14 Oct 2014 04:10:55 -0600
+  loc *  exist **  algo *  size *  imp **

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701211302.v0LD2r2E032012>