Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Dec 2014 23:24:58 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r275432 - in head: . contrib/mdocml lib/libmandoc usr.bin usr.bin/man usr.bin/mandoc usr.bin/preconv
Message-ID:  <201412022324.sB2NOwDT012431@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Tue Dec  2 23:24:57 2014
New Revision: 275432
URL: https://svnweb.freebsd.org/changeset/base/275432

Log:
  Update to mandoc cvs version as of 20141201
  - Compatiblity with existing manpages has been improved
  - Now support ".so" directive with compressed manpages (which fixes a regression
  we have since we have new man(1))

Added:
  head/contrib/mdocml/compat_fts.c
     - copied unchanged from r275431, vendor/mdocml/dist/compat_fts.c
  head/contrib/mdocml/compat_fts.h
     - copied unchanged from r275431, vendor/mdocml/dist/compat_fts.h
  head/contrib/mdocml/configure.local.example
     - copied unchanged from r275431, vendor/mdocml/dist/configure.local.example
  head/contrib/mdocml/man.1
     - copied unchanged from r275431, vendor/mdocml/dist/man.1
  head/contrib/mdocml/test-dirent-namlen.c
     - copied unchanged from r275431, vendor/mdocml/dist/test-dirent-namlen.c
  head/contrib/mdocml/test-fts.c
     - copied unchanged from r275431, vendor/mdocml/dist/test-fts.c
  head/contrib/mdocml/test-sqlite3.c
     - copied unchanged from r275431, vendor/mdocml/dist/test-sqlite3.c
  head/contrib/mdocml/test-wchar.c
     - copied unchanged from r275431, vendor/mdocml/dist/test-wchar.c
Deleted:
  head/contrib/mdocml/apropos.c
  head/contrib/mdocml/arch.c
  head/contrib/mdocml/arch.in
  head/contrib/mdocml/att.in
  head/contrib/mdocml/config.h.post
  head/contrib/mdocml/config.h.pre
  head/contrib/mdocml/preconv.1
  head/contrib/mdocml/vol.c
  head/contrib/mdocml/vol.in
  head/usr.bin/preconv/
Modified:
  head/ObsoleteFiles.inc
  head/contrib/mdocml/INSTALL
  head/contrib/mdocml/LICENSE
  head/contrib/mdocml/Makefile
  head/contrib/mdocml/Makefile.depend
  head/contrib/mdocml/NEWS
  head/contrib/mdocml/TODO
  head/contrib/mdocml/apropos.1
  head/contrib/mdocml/att.c
  head/contrib/mdocml/cgi.c
  head/contrib/mdocml/chars.c
  head/contrib/mdocml/chars.in
  head/contrib/mdocml/compat_fgetln.c
  head/contrib/mdocml/compat_getsubopt.c
  head/contrib/mdocml/compat_ohash.c
  head/contrib/mdocml/compat_reallocarray.c
  head/contrib/mdocml/compat_sqlite3_errstr.c
  head/contrib/mdocml/compat_strcasestr.c
  head/contrib/mdocml/compat_strlcat.c
  head/contrib/mdocml/compat_strlcpy.c
  head/contrib/mdocml/compat_strsep.c
  head/contrib/mdocml/config.h
  head/contrib/mdocml/configure
  head/contrib/mdocml/demandoc.1
  head/contrib/mdocml/demandoc.c
  head/contrib/mdocml/eqn.7
  head/contrib/mdocml/eqn.c
  head/contrib/mdocml/eqn_html.c
  head/contrib/mdocml/eqn_term.c
  head/contrib/mdocml/example.style.css
  head/contrib/mdocml/html.c
  head/contrib/mdocml/html.h
  head/contrib/mdocml/lib.c
  head/contrib/mdocml/libman.h
  head/contrib/mdocml/libmandoc.h
  head/contrib/mdocml/libmdoc.h
  head/contrib/mdocml/libroff.h
  head/contrib/mdocml/main.c
  head/contrib/mdocml/main.h
  head/contrib/mdocml/makewhatis.8
  head/contrib/mdocml/man.c
  head/contrib/mdocml/man.cgi.8
  head/contrib/mdocml/man.h
  head/contrib/mdocml/man_hash.c
  head/contrib/mdocml/man_html.c
  head/contrib/mdocml/man_macro.c
  head/contrib/mdocml/man_term.c
  head/contrib/mdocml/man_validate.c
  head/contrib/mdocml/mandoc.1
  head/contrib/mdocml/mandoc.3
  head/contrib/mdocml/mandoc.c
  head/contrib/mdocml/mandoc.db.5
  head/contrib/mdocml/mandoc.h
  head/contrib/mdocml/mandoc_aux.c
  head/contrib/mdocml/mandoc_escape.3
  head/contrib/mdocml/mandocdb.c
  head/contrib/mdocml/manpage.c
  head/contrib/mdocml/manpath.c
  head/contrib/mdocml/mansearch.c
  head/contrib/mdocml/mansearch.h
  head/contrib/mdocml/mansearch_const.c
  head/contrib/mdocml/mchars_alloc.3
  head/contrib/mdocml/mdoc.7
  head/contrib/mdocml/mdoc.c
  head/contrib/mdocml/mdoc_argv.c
  head/contrib/mdocml/mdoc_hash.c
  head/contrib/mdocml/mdoc_html.c
  head/contrib/mdocml/mdoc_macro.c
  head/contrib/mdocml/mdoc_man.c
  head/contrib/mdocml/mdoc_term.c
  head/contrib/mdocml/mdoc_validate.c
  head/contrib/mdocml/msec.c
  head/contrib/mdocml/out.c
  head/contrib/mdocml/out.h
  head/contrib/mdocml/preconv.c
  head/contrib/mdocml/read.c
  head/contrib/mdocml/roff.7
  head/contrib/mdocml/roff.c
  head/contrib/mdocml/st.c
  head/contrib/mdocml/st.in
  head/contrib/mdocml/style.css
  head/contrib/mdocml/tbl.7
  head/contrib/mdocml/tbl.c
  head/contrib/mdocml/tbl_data.c
  head/contrib/mdocml/tbl_html.c
  head/contrib/mdocml/tbl_layout.c
  head/contrib/mdocml/tbl_opts.c
  head/contrib/mdocml/tbl_term.c
  head/contrib/mdocml/term.c
  head/contrib/mdocml/term.h
  head/contrib/mdocml/term_ascii.c
  head/contrib/mdocml/term_ps.c
  head/contrib/mdocml/test-getsubopt.c
  head/contrib/mdocml/tree.c
  head/lib/libmandoc/Makefile
  head/usr.bin/Makefile
  head/usr.bin/man/man.sh
  head/usr.bin/mandoc/Makefile
Directory Properties:
  head/contrib/mdocml/   (props changed)

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/ObsoleteFiles.inc	Tue Dec  2 23:24:57 2014	(r275432)
@@ -38,6 +38,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20141202: update to mandoc CVS 20141201
+OLD_FILES+=usr.bin/preconv
+OLD_FILES+=share/man/man1/preconv.1.gz
 # 20141129: mrouted rc.d scripts removed from base
 OLD_FILES+=etc/rc.d/mrouted
 # 20141126: convert sbin/mdconfig/tests to ATF format tests

Modified: head/contrib/mdocml/INSTALL
==============================================================================
--- head/contrib/mdocml/INSTALL	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/INSTALL	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,4 +1,4 @@
-$Id: INSTALL,v 1.2 2014/08/10 17:22:26 schwarze Exp $
+$Id: INSTALL,v 1.5 2014/08/18 13:27:47 kristaps Exp $
 
 About mdocml, the portable mandoc distribution
 ----------------------------------------------
@@ -34,19 +34,52 @@ latest bundled and ported versions of ma
 systems is maintained at <http://mdocml.bsd.lv/ports.html>.
 
 If mandoc is installed, you can check the version by running "mandoc -V".
-The version contained in this distribution tarball is listed near
-the beginning of the file "Makefile".
+You can find the version contained in this distribution tarball
+by running "./configure".
 
 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. Decide whether you want to build the base tools mandoc(1),
-preconv(1) and demandoc(1) only or whether you also want to build the
-database tools apropos(1) and makewhatis(8).  For the latter,
-the following dependencies are required:
+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. 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.
+
+3. 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.
+
+4. Run "make -n install" and check whether everything will be
+installed to the intended places.  Otherwise, put some *DIR variables
+into "configure.local" and go back to step 2.
 
-1.1. The SQLite database system, see <http://sqlite.org/>.
+5. 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.
+
+6. To set up a man.cgi(8) server, read its manual page.
+
+7. To use mandoc(1) as your man(1) formatter, read the "Deployment"
+section below.
+
+
+Understanding mandoc dependencies
+---------------------------------
+The mandoc(1), preconv(1), and demandoc(1) utilities have no external
+dependencies.  However, makewhatis(8) and apropos(1) depend on the
+following software:
+
+1. The SQLite database system, see <http://sqlite.org/>.
 The recommended version of SQLite is 3.8.4.3 or newer.  The mandoc
 toolset is known to work with version 3.7.5 or newer.  Versions
 older than 3.8.3 may not achieve full performance due to the
@@ -57,47 +90,16 @@ problems, apropos(1) is fully usable wit
 older than 3.7.5 may or may not work, they have not been tested.
 
 1.2. The fts(3) directory traversion functions.
-A compatibility version will be bundled for 1.13.2 but is not available
-yet.  If you want apropos(1) and makewhatis(8) but do not have fts(3),
-please stay with mandoc 1.12.3 for now and upgrade first to 1.12.4,
-then to 1.13.2 when these versionns are released.  Be careful: the
+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.
 
 1.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.
 
-2. If you choose to build the database tools, too, decide whether
-you also want to build the CGI program, man.cgi(8).
-
-3. Read the beginning of the file "Makefile" from "USER SETTINGS"
-to "END OF USER SETTINGS" and edit it as required.  In particular,
-disable "BUILD_TARGETS += db-build" if you do not want database
-support or enable "BUILD_TARGETS += cgi-build" if you do want
-the CGI program.
-
-4. Run "make".  No separate "./configure" or "make depend" steps
-are needed.  The former is run automatically by "make".  The latter
-is a maintainer target.  If you merely want to build the released
-version as opposed to doing active development, there is no need
-to regenerate the dependency specifications.  Any POSIX-compatible
-make, in particular both BSD make and GNU make, should work.
-
-5. Run "make -n install" and check whether everything will be
-installed to the intended places.  Otherwise, edit the *DIR variables
-in the Makefile until it is.
-
-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. To set up a man.cgi(8) server, read its manual page.
-
-8. To use mandoc(1) as your man(1) formatter, read the "Deployment"
-section below.
-
 
 Checking autoconfiguration quality
 ----------------------------------
@@ -130,9 +132,9 @@ please report whatever is missing on you
 The following steps can be used to manually check the automatic
 configuration on your platform:
 
-1. Run "make clean".
+1. Run "make distclean".
 
-2. Run "make config.h"
+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
@@ -140,8 +142,7 @@ output and standard error output these c
 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 expected "#define HAVE_*" lines are missing.  The
-list of tests run can be found in the file "configure".
+check that no "#define HAVE_*" differ from your expectations.
 
 
 Deployment

Modified: head/contrib/mdocml/LICENSE
==============================================================================
--- head/contrib/mdocml/LICENSE	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/LICENSE	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,4 +1,4 @@
-$Id: LICENSE,v 1.2 2014/04/23 21:06:41 schwarze Exp $
+$Id: LICENSE,v 1.4 2014/08/21 00:42:38 schwarze Exp $
 
 With the exceptions noted below, all code and documentation
 contained in the mdocml toolkit is protected by the Copyright
@@ -37,8 +37,10 @@ The following files included from outsid
 other people's Copyright and are distributed under a 3-clause BSD
 license; see these individual files for details.
 
-compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c:
-Copyright (c) 1990, 1993 The Regents of the University of California
+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_fgetln.c:
 Copyright (c) 1998 The NetBSD Foundation, Inc.

Modified: head/contrib/mdocml/Makefile
==============================================================================
--- head/contrib/mdocml/Makefile	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/Makefile	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.435 2014/08/10 02:45:04 schwarze Exp $
+# $Id: Makefile,v 1.448 2014/11/28 18:57:31 schwarze Exp $
 #
 # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
 # Copyright (c) 2011, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -15,126 +15,31 @@
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-VERSION		 = 1.13.1
-
-# === USER SETTINGS ====================================================
-
-# --- user settings relevant for all builds ----------------------------
-
-# Specify this if you want to hard-code the operating system to appear
-# in the lower-left hand corner of -mdoc manuals.
-#
-# CFLAGS	+= -DOSNAME="\"OpenBSD 5.5\""
-
-# IFF your system supports multi-byte functions (setlocale(), wcwidth(),
-# putwchar()) AND has __STDC_ISO_10646__ (that is, wchar_t is simply a
-# UCS-4 value) should you define USE_WCHAR.  If you define it and your
-# system DOESN'T support this, -Tlocale will produce garbage.
-# If you don't define it, -Tlocale is a synonym for -Tacsii.
-#
-CFLAGS	 	+= -DUSE_WCHAR
-
-CFLAGS		+= -g -DHAVE_CONFIG_H
-CFLAGS     	+= -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings
-PREFIX		 = /usr/local
-BINDIR		 = $(PREFIX)/bin
-INCLUDEDIR	 = $(PREFIX)/include/mandoc
-LIBDIR		 = $(PREFIX)/lib/mandoc
-MANDIR		 = $(PREFIX)/man
-EXAMPLEDIR	 = $(PREFIX)/share/examples/mandoc
-
-INSTALL		 = install
-INSTALL_PROGRAM	 = $(INSTALL) -m 0555
-INSTALL_DATA	 = $(INSTALL) -m 0444
-INSTALL_LIB	 = $(INSTALL) -m 0444
-INSTALL_SOURCE	 = $(INSTALL) -m 0644
-INSTALL_MAN	 = $(INSTALL_DATA)
-
-# --- user settings related to database support ------------------------
-
-# Building apropos(1) and makewhatis(8) requires both SQLite3 and fts(3).
-# To avoid those dependencies, comment the following line.
-# Be careful: the fts(3) implementation in glibc is broken on 32bit
-# machines, see: https://sourceware.org/bugzilla/show_bug.cgi?id=15838
-#
-BUILD_TARGETS	+= db-build
-
-# The remaining settings in this section
-# are only relevant if db-build is enabled.
-# Otherwise, they have no effect either way.
-
-# If your system has manpath(1), uncomment this.  This is most any
-# system that's not OpenBSD or NetBSD.  If uncommented, apropos(1)
-# and makewhatis(8) will use manpath(1) to get the MANPATH variable.
-#
-#CFLAGS		+= -DUSE_MANPATH
-
-# On some systems, SQLite3 may be installed below /usr/local.
-# In that case, uncomment the following two lines.
-#
-#CFLAGS		+= -I/usr/local/include
-#DBLIB		+= -L/usr/local/lib
-
-# OpenBSD has the ohash functions in libutil.
-# Comment the following line if your system doesn't.
-#
-DBLIB		+= -lutil
-
-SBINDIR		 = $(PREFIX)/sbin
-
-# --- user settings related to man.cgi ---------------------------------
-
-# To build man.cgi, copy cgi.h.example to cgi.h, edit it,
-# and enable the following line.
-# Obviously, this requires that db-build is enabled, too.
-#
-#BUILD_TARGETS	+= cgi-build
-
-# The remaining settings in this section
-# are only relevant if cgi-build is enabled.
-# Otherwise, they have no effect either way.
-
-# If your system does not support static binaries, comment this,
-# for example on Mac OS X.
-#
-STATIC		 = -static
-
-# Linux requires -pthread for statical linking.
-#
-#STATIC		+= -pthread
-
-WWWPREFIX	 = /var/www
-HTDOCDIR	 = $(WWWPREFIX)/htdocs
-CGIBINDIR	 = $(WWWPREFIX)/cgi-bin
-
-# === END OF USER SETTINGS =============================================
-
-INSTALL_TARGETS	 = $(BUILD_TARGETS:-build=-install)
-
-BASEBIN		 = mandoc preconv demandoc
-DBBIN		 = apropos makewhatis
+BASEBIN		 = mandoc demandoc
+DBBIN		 = makewhatis
 CGIBIN		 = man.cgi
 
-DBLIB		+= -lsqlite3
-
-TESTSRCS	 = test-fgetln.c \
+TESTSRCS	 = test-dirent-namlen.c \
+		   test-fgetln.c \
+		   test-fts.c \
 		   test-getsubopt.c \
 		   test-mmap.c \
 		   test-ohash.c \
 		   test-reallocarray.c \
+		   test-sqlite3.c \
 		   test-sqlite3_errstr.c \
 		   test-strcasestr.c \
 		   test-strlcat.c \
 		   test-strlcpy.c \
 		   test-strptime.c \
-		   test-strsep.c
+		   test-strsep.c \
+		   test-wchar.c
 
-SRCS		 = apropos.c \
-		   arch.c \
-		   att.c \
+SRCS		 = att.c \
 		   cgi.c \
 		   chars.c \
 		   compat_fgetln.c \
+		   compat_fts.c \
 		   compat_getsubopt.c \
 		   compat_ohash.c \
 		   compat_reallocarray.c \
@@ -187,7 +92,6 @@ SRCS		 = apropos.c \
 		   term_ascii.c \
 		   term_ps.c \
 		   tree.c \
-		   vol.c \
 		   $(TESTSRCS)
 
 DISTFILES	 = INSTALL \
@@ -197,14 +101,12 @@ DISTFILES	 = INSTALL \
 		   NEWS \
 		   TODO \
 		   apropos.1 \
-		   arch.in \
-		   att.in \
 		   cgi.h.example \
 		   chars.in \
+		   compat_fts.h \
 		   compat_ohash.h \
-		   config.h.post \
-		   config.h.pre \
 		   configure \
+		   configure.local.example \
 		   demandoc.1 \
 		   eqn.7 \
 		   example.style.css \
@@ -218,6 +120,7 @@ DISTFILES	 = INSTALL \
 		   main.h \
 		   makewhatis.8 \
 		   man-cgi.css \
+		   man.1 \
 		   man.7 \
 		   man.cgi.8 \
 		   man.h \
@@ -238,7 +141,6 @@ DISTFILES	 = INSTALL \
 		   mdoc.h \
 		   msec.in \
 		   out.h \
-		   preconv.1 \
 		   predefs.in \
 		   roff.7 \
 		   st.in \
@@ -246,7 +148,6 @@ DISTFILES	 = INSTALL \
 		   tbl.3 \
 		   tbl.7 \
 		   term.h \
-		   vol.in \
 		   $(SRCS)
 
 LIBMAN_OBJS	 = man.o \
@@ -254,16 +155,14 @@ LIBMAN_OBJS	 = man.o \
 		   man_macro.o \
 		   man_validate.o
 
-LIBMDOC_OBJS	 = arch.o \
-		   att.o \
+LIBMDOC_OBJS	 = att.o \
 		   lib.o \
 		   mdoc.o \
 		   mdoc_argv.o \
 		   mdoc_hash.o \
 		   mdoc_macro.o \
 		   mdoc_validate.o \
-		   st.o \
-		   vol.o
+		   st.o
 
 LIBROFF_OBJS	 = eqn.o \
 		   roff.o \
@@ -279,9 +178,11 @@ LIBMANDOC_OBJS	 = $(LIBMAN_OBJS) \
 		   mandoc.o \
 		   mandoc_aux.o \
 		   msec.o \
+		   preconv.o \
 		   read.o
 
 COMPAT_OBJS	 = compat_fgetln.o \
+		   compat_fts.o \
 		   compat_getsubopt.o \
 		   compat_ohash.o \
 		   compat_reallocarray.o \
@@ -314,11 +215,11 @@ MANDOC_OBJS	 = $(MANDOC_HTML_OBJS) \
 		   out.o \
 		   tree.o
 
-MAKEWHATIS_OBJS	 = mandocdb.o mansearch_const.o manpath.o
+MAN_OBJS	 = $(MANDOC_OBJS)
 
-PRECONV_OBJS	 = preconv.o
+MAKEWHATIS_OBJS	 = mandocdb.o mansearch_const.o manpath.o
 
-APROPOS_OBJS	 = apropos.o mansearch.o mansearch_const.o manpath.o
+APROPOS_OBJS	 = mansearch.o mansearch_const.o manpath.o
 
 CGI_OBJS	 = $(MANDOC_HTML_OBJS) \
 		   cgi.o \
@@ -332,8 +233,8 @@ DEMANDOC_OBJS	 = demandoc.o
 
 WWW_MANS	 = apropos.1.html \
 		   demandoc.1.html \
+		   man.1.html \
 		   mandoc.1.html \
-		   preconv.1.html \
 		   mandoc.3.html \
 		   mandoc_escape.3.html \
 		   mandoc_html.3.html \
@@ -360,9 +261,13 @@ WWW_MANS	 = apropos.1.html \
 WWW_OBJS	 = mdocml.tar.gz \
 		   mdocml.sha256
 
+include Makefile.local
+
+INSTALL_TARGETS	 = $(BUILD_TARGETS:-build=-install)
+
 # === DEPENDENCY HANDLING ==============================================
 
-all: base-build $(BUILD_TARGETS)
+all: base-build $(BUILD_TARGETS) Makefile.local
 
 base-build: $(BASEBIN)
 
@@ -374,20 +279,22 @@ install: base-install $(INSTALL_TARGETS)
 
 www: $(WWW_OBJS) $(WWW_MANS)
 
+$(WWW_MANS): mandoc
+
 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)
-	rm -f apropos $(APROPOS_OBJS)
+	rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS)
+	rm -f mandoc $(MANDOC_OBJS) $(APROPOS_OBJS)
 	rm -f makewhatis $(MAKEWHATIS_OBJS)
-	rm -f preconv $(PRECONV_OBJS)
 	rm -f man.cgi $(CGI_OBJS)
 	rm -f manpage $(MANPAGE_OBJS)
 	rm -f demandoc $(DEMANDOC_OBJS)
-	rm -f mandoc $(MANDOC_OBJS)
-	rm -f config.h config.log $(COMPAT_OBJS)
 	rm -f $(WWW_MANS) $(WWW_OBJS)
 	rm -rf *.dSYM
 
@@ -403,7 +310,8 @@ base-install: base-build
 	$(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)
 	$(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h \
 		$(DESTDIR)$(INCLUDEDIR)
-	$(INSTALL_MAN) mandoc.1 preconv.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL_MAN) man.1 mandoc.1 demandoc.1 \
+		$(DESTDIR)$(MANDIR)/man1
 	$(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \
 		mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3
 	$(INSTALL_MAN) man.7 mdoc.7 roff.7 eqn.7 tbl.7 mandoc_char.7 \
@@ -417,8 +325,8 @@ db-install: db-build
 	mkdir -p $(DESTDIR)$(MANDIR)/man3
 	mkdir -p $(DESTDIR)$(MANDIR)/man5
 	mkdir -p $(DESTDIR)$(MANDIR)/man8
-	$(INSTALL_PROGRAM) apropos $(DESTDIR)$(BINDIR)
-	ln -f $(DESTDIR)$(BINDIR)/apropos $(DESTDIR)$(BINDIR)/whatis
+	ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/apropos
+	ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/whatis
 	$(INSTALL_PROGRAM) makewhatis $(DESTDIR)$(SBINDIR)
 	$(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1
 	ln -f $(DESTDIR)$(MANDIR)/man1/apropos.1 \
@@ -447,30 +355,29 @@ www-install: www
 	$(INSTALL_DATA) mdocml.sha256 \
 		$(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).sha256
 
+Makefile.local config.h: configure ${TESTSRCS}
+	@echo "$@ is out of date; please run ./configure"
+	@exit 1
+
 depend: config.h
 	mkdep -f Makefile.depend $(CFLAGS) $(SRCS)
 	perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \
-		s|\\\n||g; s|  +| |g; print;' Makefile.depend > Makefile.tmp
+		s|\\\n||g; s|  +| |g; s| $$||mg; print;' \
+		Makefile.depend > Makefile.tmp
 	mv Makefile.tmp Makefile.depend
 
 libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
 	$(AR) rs $@ $(COMPAT_OBJS) $(LIBMANDOC_OBJS)
 
-mandoc: $(MANDOC_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) -o $@ $(MANDOC_OBJS) libmandoc.a
+mandoc: $(MAN_OBJS) libmandoc.a
+	$(CC) $(LDFLAGS) -o $@ $(MAN_OBJS) libmandoc.a $(DBLIB)
 
 makewhatis: $(MAKEWHATIS_OBJS) libmandoc.a
 	$(CC) $(LDFLAGS) -o $@ $(MAKEWHATIS_OBJS) libmandoc.a $(DBLIB)
 
-preconv: $(PRECONV_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(PRECONV_OBJS)
-
 manpage: $(MANPAGE_OBJS) libmandoc.a
 	$(CC) $(LDFLAGS) -o $@ $(MANPAGE_OBJS) libmandoc.a $(DBLIB)
 
-apropos: $(APROPOS_OBJS) libmandoc.a
-	$(CC) $(LDFLAGS) -o $@ $(APROPOS_OBJS) libmandoc.a $(DBLIB)
-
 man.cgi: $(CGI_OBJS) libmandoc.a
 	$(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(DBLIB)
 
@@ -482,18 +389,13 @@ mdocml.sha256: mdocml.tar.gz
 
 mdocml.tar.gz: $(DISTFILES)
 	mkdir -p .dist/mdocml-$(VERSION)/
-	$(INSTALL_SOURCE) $(DISTFILES) .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/
 
-config.h: configure config.h.pre config.h.post $(TESTSRCS)
-	rm -f config.log
-	CC="$(CC)" CFLAGS="$(CFLAGS)" DBLIB="$(DBLIB)" \
-		VERSION="$(VERSION)" ./configure
-
 .PHONY: 	 base-install cgi-install db-install install www-install
-.PHONY: 	 clean depend
+.PHONY: 	 clean distclean depend
 .SUFFIXES:	 .1       .3       .5       .7       .8       .h
 .SUFFIXES:	 .1.html  .3.html  .5.html  .7.html  .8.html  .h.html
 

Modified: head/contrib/mdocml/Makefile.depend
==============================================================================
--- head/contrib/mdocml/Makefile.depend	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/Makefile.depend	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,24 +1,23 @@
-apropos.o: apropos.c config.h manpath.h mansearch.h
-arch.o: arch.c config.h mdoc.h libmdoc.h arch.in
-att.o: att.c config.h mdoc.h libmdoc.h att.in
+att.o: att.c config.h mdoc.h libmdoc.h
 cgi.o: cgi.c config.h mandoc.h mandoc_aux.h main.h manpath.h mansearch.h cgi.h
 chars.o: chars.c config.h mandoc.h mandoc_aux.h libmandoc.h chars.in
-compat_fgetln.o: compat_fgetln.c config.h 
-compat_getsubopt.o: compat_getsubopt.c config.h 
-compat_ohash.o: compat_ohash.c config.h 
-compat_reallocarray.o: compat_reallocarray.c config.h 
-compat_sqlite3_errstr.o: compat_sqlite3_errstr.c config.h 
-compat_strcasestr.o: compat_strcasestr.c config.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_fgetln.o: compat_fgetln.c config.h
+compat_fts.o: compat_fts.c config.h compat_fts.h
+compat_getsubopt.o: compat_getsubopt.c config.h
+compat_ohash.o: compat_ohash.c config.h compat_ohash.h
+compat_reallocarray.o: compat_reallocarray.c config.h
+compat_sqlite3_errstr.o: compat_sqlite3_errstr.c config.h
+compat_strcasestr.o: compat_strcasestr.c config.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
 demandoc.o: demandoc.c config.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 libmandoc.h out.h html.h main.h
 lib.o: lib.c config.h mdoc.h libmdoc.h lib.in
-main.o: main.c config.h mandoc.h mandoc_aux.h main.h mdoc.h man.h
+main.o: main.c config.h mandoc.h mandoc_aux.h main.h mdoc.h man.h manpath.h mansearch.h
 man.o: man.c config.h man.h mandoc.h mandoc_aux.h libman.h libmandoc.h
 man_hash.o: man_hash.c config.h man.h mandoc.h libman.h
 man_html.o: man_html.c config.h mandoc.h mandoc_aux.h out.h html.h man.h main.h
@@ -27,10 +26,10 @@ man_term.o: man_term.c config.h mandoc.h
 man_validate.o: man_validate.c config.h man.h mandoc.h mandoc_aux.h libman.h libmandoc.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
-mandocdb.o: mandocdb.c config.h mdoc.h man.h mandoc.h mandoc_aux.h manpath.h mansearch.h
+mandocdb.o: mandocdb.c config.h compat_fts.h compat_ohash.h mdoc.h man.h mandoc.h mandoc_aux.h manpath.h mansearch.h
 manpage.o: manpage.c config.h manpath.h mansearch.h
 manpath.o: manpath.c config.h mandoc_aux.h manpath.h
-mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h manpath.h mansearch.h
+mansearch.o: mansearch.c config.h compat_ohash.h mandoc.h mandoc_aux.h manpath.h mansearch.h
 mansearch_const.o: mansearch_const.c config.h manpath.h mansearch.h
 mdoc.o: mdoc.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.h
 mdoc_argv.o: mdoc_argv.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.h
@@ -42,9 +41,9 @@ mdoc_term.o: mdoc_term.c config.h mandoc
 mdoc_validate.o: mdoc_validate.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.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 
+preconv.o: preconv.c config.h mandoc.h libmandoc.h
 read.o: read.c config.h mandoc.h mandoc_aux.h libmandoc.h mdoc.h man.h main.h
-roff.o: roff.c config.h mandoc.h mandoc_aux.h libroff.h libmandoc.h predefs.in
+roff.o: roff.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h predefs.in
 st.o: st.c config.h mdoc.h libmdoc.h st.in
 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
@@ -56,15 +55,18 @@ term.o: term.c config.h mandoc.h mandoc_
 term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h main.h
 term_ps.o: term_ps.c config.h mandoc.h mandoc_aux.h out.h main.h term.h
 tree.o: tree.c config.h mandoc.h mdoc.h man.h main.h
-vol.o: vol.c config.h mdoc.h libmdoc.h vol.in
-test-fgetln.o: test-fgetln.c 
-test-getsubopt.o: test-getsubopt.c 
-test-mmap.o: test-mmap.c 
-test-ohash.o: test-ohash.c 
-test-reallocarray.o: test-reallocarray.c 
-test-sqlite3_errstr.o: test-sqlite3_errstr.c 
-test-strcasestr.o: test-strcasestr.c 
-test-strlcat.o: test-strlcat.c 
-test-strlcpy.o: test-strlcpy.c 
-test-strptime.o: test-strptime.c 
-test-strsep.o: test-strsep.c 
+test-dirent-namlen.o: test-dirent-namlen.c
+test-fgetln.o: test-fgetln.c
+test-fts.o: test-fts.c
+test-getsubopt.o: test-getsubopt.c
+test-mmap.o: test-mmap.c
+test-ohash.o: test-ohash.c
+test-reallocarray.o: test-reallocarray.c
+test-sqlite3.o: test-sqlite3.c
+test-sqlite3_errstr.o: test-sqlite3_errstr.c
+test-strcasestr.o: test-strcasestr.c
+test-strlcat.o: test-strlcat.c
+test-strlcpy.o: test-strlcpy.c
+test-strptime.o: test-strptime.c
+test-strsep.o: test-strsep.c
+test-wchar.o: test-wchar.c

Modified: head/contrib/mdocml/NEWS
==============================================================================
--- head/contrib/mdocml/NEWS	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/NEWS	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,4 +1,4 @@
-$Id: NEWS,v 1.5 2014/08/10 16:32:57 schwarze Exp $
+$Id: NEWS,v 1.6 2014/08/11 01:39:00 schwarze Exp $
 
 This file lists the most important changes in the mdocml.bsd.lv distribution.
 
@@ -7,9 +7,6 @@ Changes in version 1.13.1, released on A
     --- MAJOR NEW FEATURES ---
  * A complete apropos(1)/makewhatis(8)/man.cgi(8) suite
    based on SQLite3 is now included.
-   CAVEAT: This also requires a working fts(3) implementation.
-   If your system lacks that *and* you want apropos(1)/makewhatis(8),
-   stay with 1.12.3 for now, then go to 1.12.4 and 1.13.2.
  * The roff(7) parser now provides an almost complete implementation
    of numerical expressions.
  * Warning and error messages have been improved in many ways.

Modified: head/contrib/mdocml/TODO
==============================================================================
--- head/contrib/mdocml/TODO	Tue Dec  2 23:02:57 2014	(r275431)
+++ head/contrib/mdocml/TODO	Tue Dec  2 23:24:57 2014	(r275432)
@@ -1,8 +1,37 @@
 ************************************************************************
 * Official mandoc TODO.
-* $Id: TODO,v 1.176 2014/08/09 14:24:53 schwarze Exp $
+* $Id: TODO,v 1.189 2014/11/26 21:40:17 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.
+
 ************************************************************************
 * crashes
 ************************************************************************
@@ -10,6 +39,7 @@
 - The abort() in bufcat(), html.c, can be triggered via buffmt_includes()
   by running -Thtml -Oincludes on a file containing a long .In argument.
   Fixing this will probably require reworking the whole bufcat() concept.
+  loc **  exist *  algo *  size **  imp **
 
 ************************************************************************
 * missing features
@@ -25,49 +55,62 @@
   .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)
   reported by brad@  Sat, 15 Jan 2011 15:45:23 -0500
+  loc ***  exist ***  algo ***  size **  imp *
 
 - .ta (tab settings) occurs in ircbug(1) and probably 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
+  loc **  exist ***  algo **  size **  imp **
 
 - .ti (temporary indent)
   found by naddy@ in xloadimage(1)
   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 **
 
 - \c (interrupted text) should prevent the line break
   even inside .Bd literal; that occurs in chat(8)
   also found in cclive(1) - DocBook output
+  loc **  exist ***  algo **  size *  imp *
 
 - \h horizontal move
   found in cclive(1) DocBook output
   Anthony J. Bentley on discuss@  Sat, 21 Sep 2013 22:29:34 -0600
+  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 **
 
-- \w'' width measurements
+- \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 ***
 
 - 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 ----------------------------------------------
 
 - fix bad block nesting involving multiple identical explicit blocks
   see the OpenBSD mdoc_macro.c 1.47 commit message
+  loc *  exist ***  algo ***  size *  imp **
 
 - .Bl -column .Xo support is missing
   ultimate goal:
@@ -75,10 +118,12 @@
   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 **
 
 - \\ is now implemented correctly
   * when defining strings and macros using .ds and .de
@@ -92,18 +137,22 @@
   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
@@ -114,6 +163,7 @@
     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 -."
@@ -123,11 +173,14 @@
   but should give "ab ."
 
 - set a meaningful default if no `Bl' list type is assigned
+  loc *  exist *  algo *  size *  imp **  (already done?)
 
 - have a blank `It' head for `Bl -tag' not puke
+  loc *  exist *  algo *  size *  imp **  (already done?)
 
 - 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)
@@ -138,6 +191,7 @@
   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
@@ -146,6 +200,7 @@
   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 -----------------------------------------------
 
@@ -155,18 +210,36 @@
 
 - look at the POSIX manuals in the books/man-pages-posix port,
   they use some unsupported tbl(7) features.
+  loc *  exist **  algo **  size **  imp ***
 
-- investigate tbl(1) errors in sox(1)
-  see also naddy@  Sat, 16 Oct 2010 23:51:57 +0200
+- 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 **
 
 - allow standalone `.' to be interpreted as an end-of-layout
   delimiter instead of being thrown away as a no-op roff line
   reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST
+  loc **  exist **  algo **  size *  imp **
+
+--- missing eqn features -----------------------------------------------
+
+- The "size" keyword is parsed, but ignored by the formatter.
+  loc *  exist *  algo *  size *  imp *
+
+- The spacing characters `~', `^', and tab are currently ignored,
+  see User's Guide (Second Edition) page 2 section 4.
+  loc *  exist *  algo **  size *  imp **
+
+- Mark and lineup are parsed and ignored,
+  see User's Guide (Second Edition) page 5 section 15.
+  loc **  exist **  algo **  size **  imp **
 
 --- missing misc features ----------------------------------------------
 
 - italic correction (\/) in PostScript mode
   Werner LEMBERG on groff at gnu dot org  Sun, 10 Nov 2013 12:47:46
+  loc **  exist **  algo *  size *  imp *
 
 - When makewhatis(8) encounters a FATAL parse error,
   it silently treats the file as formatted, which makes no sense
@@ -174,13 +247,16 @@
   what the manual says at the end of the description.
   The end result will be ENOENT for file names returned
   by mansearch() in manpage.file.
+  loc *  exist *  algo *  size *  imp **
 
 - makewhatis(8) for preformatted pages:
   parse the section number from the header line
   and compare to the section number from the directory name
+  loc *  exist *  algo *  size *  imp **
 
 - Does makewhatis(8) detect missing NAME sections, missing names,
   and missing descriptions in all the file formats?
+  loc *  exist *  algo *  size *  imp ***
 
 - clean up escape sequence handling, creating three classes:
   (1) fully implemented, or parsed and ignored without loss of content
@@ -188,8 +264,10 @@
       or serious mangling of formatting (e.g. \n) -> ERROR
       see textproc/mgdiff(1) for nice examples
   (3) undefined, just output the character -> perhaps WARNING
+  loc ***  exist **  algo **  size **  imp *** (parser reorg helps)
 
 - kettenis wants base roff, ms, and me  Fri, 1 Jan 2010 22:13:15 +0100 (CET)
+  loc **  exist **  algo **  size ***  imp *
 
 --- compatibility checks -----------------------------------------------
 
@@ -199,6 +277,10 @@
 - compare output to Heirloom roff, Solaris roff, and
   http://repo.or.cz/w/neatroff.git  http://litcave.rudi.ir/
 
+- look at AT&T DWB http://www2.research.att.com/sw/download
+  Carsten Kunze <carsten dot kunze at arcor dot de> has patches
+  Mon, 4 Aug 2014 17:01:28 +0200
+
 - look at pages generated from reStructeredText, e.g. devel/mercurial hg(1)
   These are a weird mixture of man(7) and custom autogenerated low-level
   roff stuff.  Figure out to what extent we can cope.
@@ -224,6 +306,11 @@
 - check compatibility with the man(7) formatter
   https://raw.githubusercontent.com/rofl0r/hardcore-utils/master/man.c
 
+- check compatibility with
+  http://ikiwiki.info/plugins/contrib/mandoc/
+  https://github.com/schmonz/ikiwiki/compare/mandoc
+  Amitai Schlair  Mon, 19 May 2014 14:05:53 -0400
+
 ************************************************************************
 * formatting issues: ugly output
 ************************************************************************
@@ -236,10 +323,12 @@
   ought to render "Key Length" with emphasis, too,
   see OpenBSD iked.conf(5).
   reported again Nicolas Joly via wiz@ Wed, 12 Oct 2011 00:20:00 +0200
+  loc *  exist ***  algo ***  size **  imp ***
 
 - empty phrases in .Bl column produce too few blanks
   try e.g. .Bl -column It Ta Ta
   reported by millert Fri, 02 Apr 2010 16:13:46 -0400
+  loc *  exist ***  algo ***  size *  imp **
 
 - .%T can have trailing punctuation.  Currently, it puts the trailing
   punctuation into a trailing MDOC_TEXT element inside its own scope.
@@ -249,11 +338,13 @@
   slurp all arguments into one single text element - and one feature
   of in_line() - put trailing punctuation out of scope.
   Found in mount_nfs(8) and exports(5), search for "Appendix".
+  loc **  exist **  algo ***  size *  imp **
 
 - Trailing punctuation after .%T triggers EOS spacing, at least
   outside .Rs (eek!).  Simply setting ARGSFL_DELIM for .%T is not
   the right solution, it sends mandoc into an endless loop.
   reported by Nicolas Joly  Sat, 17 Nov 2012 11:49:54 +0100
+  loc *  exist **  algo **  size *  imp **
 
 - global variables in the SYNOPSIS of section 3 pages
   .Vt vs .Vt/.Va vs .Ft/.Va vs .Ft/.Fa ...
@@ -261,6 +352,7 @@
 
 - in enclosures, mandoc sometimes fancies a bogus end of sentence
   reminded by jmc@  Thu, 23 Sep 2010 18:13:39 +0059
+  loc *  exist **  algo ***  size *  imp ***
 
 - formatting /usr/local/man/man1/latex2man.1 with groff and mandoc
   reveals lots of bugs both in groff and mandoc...
@@ -273,6 +365,10 @@
   Search the text "Routing tables".
   Also check what PostScript mode does when fixing this.
   reported by juanfra@ Wed, 04 Jun 2014 21:44:58 +0200
+  instructions from juanfra@  Wed, 11 Jun 2014 02:21:01 +0200
+    add a new <</Type /Font>> block to the PDF files with /BaseFont /Courier
+    and change the /Name from /F0 to the new font (/F5 (?)).
+  loc *  exist **  algo **  size *  imp **
 
 --- HTML issues --------------------------------------------------------
 
@@ -280,6 +376,20 @@
   hints are easy to find on the web, e.g.
   http://stackoverflow.com/questions/1713048/
   see also matthew@  Fri, 18 Jul 2014 19:25:12 -0700
+  loc *  exist *  algo **  size *  imp ***
+
+- jsg on icb, Nov 3, 2014:
+  try to guess Xr in man(7) for hyperlinking
+
+- The tables used to render the three-part page headers actually force
+  the width of the <body> to the max-width given for <html>.
+  Not yet sure how to fix that...
+  Observed by an Anonymous Coward on undeadly.org:
+  http://undeadly.org/cgi?action=article&sid=20140925064244&pid=1
+  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?201412022324.sB2NOwDT012431>