Date: Sat, 22 Nov 2014 18:57:23 +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: r274880 - in head: contrib/mdocml usr.bin/mandoc Message-ID: <201411221857.sAMIvNU7034161@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Sat Nov 22 18:57:23 2014 New Revision: 274880 URL: https://svnweb.freebsd.org/changeset/base/274880 Log: Update mandoc to 1.13.1 Added: head/contrib/mdocml/INSTALL - copied unchanged from r274878, vendor/mdocml/dist/INSTALL head/contrib/mdocml/LICENSE - copied unchanged from r274878, vendor/mdocml/dist/LICENSE head/contrib/mdocml/Makefile (contents, props changed) head/contrib/mdocml/Makefile.depend - copied unchanged from r274878, vendor/mdocml/dist/Makefile.depend head/contrib/mdocml/apropos.1 (contents, props changed) head/contrib/mdocml/apropos.c (contents, props changed) head/contrib/mdocml/cgi.c (contents, props changed) head/contrib/mdocml/cgi.h.example - copied unchanged from r274878, vendor/mdocml/dist/cgi.h.example head/contrib/mdocml/compat_ohash.c - copied unchanged from r274878, vendor/mdocml/dist/compat_ohash.c head/contrib/mdocml/compat_ohash.h - copied unchanged from r274878, vendor/mdocml/dist/compat_ohash.h head/contrib/mdocml/compat_reallocarray.c - copied unchanged from r274878, vendor/mdocml/dist/compat_reallocarray.c head/contrib/mdocml/compat_sqlite3_errstr.c - copied unchanged from r274878, vendor/mdocml/dist/compat_sqlite3_errstr.c head/contrib/mdocml/compat_strcasestr.c - copied unchanged from r274878, vendor/mdocml/dist/compat_strcasestr.c head/contrib/mdocml/compat_strsep.c - copied unchanged from r274878, vendor/mdocml/dist/compat_strsep.c head/contrib/mdocml/config.h.post head/contrib/mdocml/config.h.pre head/contrib/mdocml/configure - copied unchanged from r274878, vendor/mdocml/dist/configure head/contrib/mdocml/demandoc.c (contents, props changed) head/contrib/mdocml/gmdiff head/contrib/mdocml/makewhatis.8 - copied unchanged from r274878, vendor/mdocml/dist/makewhatis.8 head/contrib/mdocml/man.cgi.8 - copied unchanged from r274878, vendor/mdocml/dist/man.cgi.8 head/contrib/mdocml/mandoc.db.5 - copied unchanged from r274878, vendor/mdocml/dist/mandoc.db.5 head/contrib/mdocml/mandoc_aux.c - copied unchanged from r274878, vendor/mdocml/dist/mandoc_aux.c head/contrib/mdocml/mandoc_aux.h - copied unchanged from r274878, vendor/mdocml/dist/mandoc_aux.h head/contrib/mdocml/mandoc_escape.3 - copied unchanged from r274878, vendor/mdocml/dist/mandoc_escape.3 head/contrib/mdocml/mandoc_html.3 - copied unchanged from r274878, vendor/mdocml/dist/mandoc_html.3 head/contrib/mdocml/mandoc_malloc.3 - copied unchanged from r274878, vendor/mdocml/dist/mandoc_malloc.3 head/contrib/mdocml/mandocdb.c (contents, props changed) head/contrib/mdocml/manpage.c - copied unchanged from r274878, vendor/mdocml/dist/manpage.c head/contrib/mdocml/manpath.c (contents, props changed) head/contrib/mdocml/manpath.h (contents, props changed) head/contrib/mdocml/mansearch.3 - copied unchanged from r274878, vendor/mdocml/dist/mansearch.3 head/contrib/mdocml/mansearch.c - copied unchanged from r274878, vendor/mdocml/dist/mansearch.c head/contrib/mdocml/mansearch.h - copied unchanged from r274878, vendor/mdocml/dist/mansearch.h head/contrib/mdocml/mansearch_const.c - copied unchanged from r274878, vendor/mdocml/dist/mansearch_const.c head/contrib/mdocml/mchars_alloc.3 - copied unchanged from r274878, vendor/mdocml/dist/mchars_alloc.3 head/contrib/mdocml/test-fgetln.c (contents, props changed) head/contrib/mdocml/test-getsubopt.c (contents, props changed) head/contrib/mdocml/test-mmap.c (contents, props changed) head/contrib/mdocml/test-ohash.c - copied unchanged from r274878, vendor/mdocml/dist/test-ohash.c head/contrib/mdocml/test-reallocarray.c - copied unchanged from r274878, vendor/mdocml/dist/test-reallocarray.c head/contrib/mdocml/test-sqlite3_errstr.c - copied unchanged from r274878, vendor/mdocml/dist/test-sqlite3_errstr.c head/contrib/mdocml/test-strcasestr.c - copied unchanged from r274878, vendor/mdocml/dist/test-strcasestr.c head/contrib/mdocml/test-strlcat.c (contents, props changed) head/contrib/mdocml/test-strlcpy.c (contents, props changed) head/contrib/mdocml/test-strsep.c - copied unchanged from r274878, vendor/mdocml/dist/test-strsep.c Deleted: head/contrib/mdocml/external.png Modified: head/contrib/mdocml/NEWS head/contrib/mdocml/TODO head/contrib/mdocml/arch.c head/contrib/mdocml/arch.in head/contrib/mdocml/att.c head/contrib/mdocml/chars.c head/contrib/mdocml/chars.in head/contrib/mdocml/config.h head/contrib/mdocml/eqn.c head/contrib/mdocml/eqn_html.c head/contrib/mdocml/eqn_term.c head/contrib/mdocml/html.c head/contrib/mdocml/html.h head/contrib/mdocml/lib.c head/contrib/mdocml/lib.in 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/man.7 head/contrib/mdocml/man.c 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.h head/contrib/mdocml/mdoc.7 head/contrib/mdocml/mdoc.c head/contrib/mdocml/mdoc.h 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/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/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/tree.c head/contrib/mdocml/vol.c head/usr.bin/mandoc/Makefile Directory Properties: head/contrib/mdocml/ (props changed) Copied: head/contrib/mdocml/INSTALL (from r274878, vendor/mdocml/dist/INSTALL) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/INSTALL Sat Nov 22 18:57:23 2014 (r274880, copy of r274878, vendor/mdocml/dist/INSTALL) @@ -0,0 +1,187 @@ +$Id: INSTALL,v 1.2 2014/08/10 17:22:26 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. +The toolset does not yet implement man(1); that is only scheduled +for the next release, 1.13.2. It can, however, already serve to +translate source manpages to the output displayed by man(1). +For general information, see <http://mdocml.bsd.lv/>. + +In this document, we describe the installation and deployment of +mandoc(1), first as a simple, standalone formatter, and then as part of +the man(1) system. + +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, August 2014 + + +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>. + +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". + +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.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 +missing SQLITE_DETERMINISTIC optimization flag. Versions older +than 3.8.0 may not show full error information if opening a database +fails due to the missing sqlite3_errstr() API. Both are very minor +problems, apropos(1) is fully usable with SQLite 3.7.5. Versions +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 +glibc version of fts(3) is known to be broken on 32bit platforms, +see <https://sourceware.org/bugzilla/show_bug.cgi?id=15838>. + +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 +---------------------------------- +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 clean". + +2. Run "make config.h" + +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 expected "#define HAVE_*" lines are missing. The +list of tests run can be found in the file "configure". + + +Deployment +---------- +If you want to integrate the mandoc(1) tools with your existing +man(1) system as a formatter, then contact us first: on systems without +mandoc(1) as the default, you may have your work cut out for you! +Usually, you can have your default installation and mandoc(1) work right +alongside each other by using user-specific versions of the files +mentioned below. + +0. Back up each file you want to change! + +1. First see whether your system has "/etc/man.conf" or "/etc/manpath.conf" +(if it has neither, but man(1) is functional, then let us know) or, +if running as your own user, a per-user override file. In either +case, find where man(1) is executing nroff(1) or groff(1) to format +manuals. Replace these calls with mandoc(1). + +2. Then make sure that man(1) isn't running preprocessors, so you may +need to replace tbl(1), eqn(1), and similar references with cat(1). +Some man(1) implementations, like that on Mac OSX, let you run "man -d" +to see how the formatter is invoked. Use this to test your changes. On +Mac OS X, for instance, man(1) will prepend all files with ".ll" and +".nr" to set the terminal size, so you need to pass "tail -n+2 | +mandoc(1)" to disregard them. + +3. Finally, make sure that mandoc(1) is actually being invoked instead +of cached pages being pulled up. You can usually do this by commenting +out NOCACHE or similar. + +mandoc(1) still has a long way to go in understanding non-trivial +low-level roff(7) markup embedded in some man(7) pages. On the BSD +systems using mandoc(1), third-party software is generally vetted +on whether it may be formatted with mandoc(1). If not, groff(1) +is pulled in as a dependency and used to install a pre-formatted +"catpage" intead of directly as manual page source. + +For more background on switching operating systems to use mandoc(1) +instead of groff(1) to format manuals, see the two BSDCan presentations +by Ingo Schwarze: +<http://www.openbsd.org/papers/bsdcan11-mandoc-openbsd.html> +<http://www.openbsd.org/papers/bsdcan14-mandoc.pdf> Copied: head/contrib/mdocml/LICENSE (from r274878, vendor/mdocml/dist/LICENSE) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/LICENSE Sat Nov 22 18:57:23 2014 (r274880, copy of r274878, vendor/mdocml/dist/LICENSE) @@ -0,0 +1,44 @@ +$Id: LICENSE,v 1.2 2014/04/23 21:06:41 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, 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> +Copyright (c) 2010, 2011, 2012, 2013, 2014 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) 1999, 2004 Marc Espie <espie@openbsd.org> +Copyright (c) 1998, 2010 Todd C. Miller <Todd.Miller@courtesan.com> +Copyright (c) 2008 Otto Moerbeek <otto@drijf.net> +Copyright (c) 2003 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 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_fgetln.c: +Copyright (c) 1998 The NetBSD Foundation, Inc. Added: head/contrib/mdocml/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/Makefile Sat Nov 22 18:57:23 2014 (r274880) @@ -0,0 +1,505 @@ +# $Id: Makefile,v 1.435 2014/08/10 02:45:04 schwarze Exp $ +# +# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> +# Copyright (c) 2011, 2013, 2014 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.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 +CGIBIN = man.cgi + +DBLIB += -lsqlite3 + +TESTSRCS = test-fgetln.c \ + test-getsubopt.c \ + test-mmap.c \ + test-ohash.c \ + test-reallocarray.c \ + test-sqlite3_errstr.c \ + test-strcasestr.c \ + test-strlcat.c \ + test-strlcpy.c \ + test-strptime.c \ + test-strsep.c + +SRCS = apropos.c \ + arch.c \ + att.c \ + cgi.c \ + chars.c \ + compat_fgetln.c \ + compat_getsubopt.c \ + compat_ohash.c \ + compat_reallocarray.c \ + compat_sqlite3_errstr.c \ + compat_strcasestr.c \ + compat_strlcat.c \ + compat_strlcpy.c \ + compat_strsep.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 \ + mandocdb.c \ + manpage.c \ + manpath.c \ + mansearch.c \ + mansearch_const.c \ + mdoc.c \ + mdoc_argv.c \ + mdoc_hash.c \ + mdoc_html.c \ + mdoc_macro.c \ + mdoc_man.c \ + mdoc_term.c \ + mdoc_validate.c \ + msec.c \ + out.c \ + preconv.c \ + read.c \ + roff.c \ + st.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 \ + vol.c \ + $(TESTSRCS) + +DISTFILES = INSTALL \ + LICENSE \ + Makefile \ + Makefile.depend \ + NEWS \ + TODO \ + apropos.1 \ + arch.in \ + att.in \ + cgi.h.example \ + chars.in \ + compat_ohash.h \ + config.h.post \ + config.h.pre \ + configure \ + demandoc.1 \ + eqn.7 \ + example.style.css \ + gmdiff \ + html.h \ + lib.in \ + libman.h \ + libmandoc.h \ + libmdoc.h \ + libroff.h \ + main.h \ + makewhatis.8 \ + man-cgi.css \ + man.7 \ + man.cgi.8 \ + man.h \ + mandoc.1 \ + mandoc.3 \ + mandoc.db.5 \ + mandoc.h \ + mandoc_aux.h \ + mandoc_char.7 \ + mandoc_escape.3 \ + mandoc_html.3 \ + mandoc_malloc.3 \ + manpath.h \ + mansearch.3 \ + mansearch.h \ + mchars_alloc.3 \ + mdoc.7 \ + mdoc.h \ + msec.in \ + out.h \ + preconv.1 \ + predefs.in \ + roff.7 \ + st.in \ + style.css \ + tbl.3 \ + tbl.7 \ + term.h \ + vol.in \ + $(SRCS) + +LIBMAN_OBJS = man.o \ + man_hash.o \ + man_macro.o \ + man_validate.o + +LIBMDOC_OBJS = arch.o \ + att.o \ + lib.o \ + mdoc.o \ + mdoc_argv.o \ + mdoc_hash.o \ + mdoc_macro.o \ + mdoc_validate.o \ + st.o \ + vol.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 \ + msec.o \ + read.o + +COMPAT_OBJS = compat_fgetln.o \ + compat_getsubopt.o \ + compat_ohash.o \ + compat_reallocarray.o \ + compat_sqlite3_errstr.o \ + compat_strcasestr.o \ + compat_strlcat.o \ + compat_strlcpy.o \ + compat_strsep.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 + +MANDOC_OBJS = $(MANDOC_HTML_OBJS) \ + $(MANDOC_MAN_OBJS) \ + $(MANDOC_TERM_OBJS) \ + main.o \ + out.o \ + tree.o + +MAKEWHATIS_OBJS = mandocdb.o mansearch_const.o manpath.o + +PRECONV_OBJS = preconv.o + +APROPOS_OBJS = apropos.o mansearch.o mansearch_const.o manpath.o + +CGI_OBJS = $(MANDOC_HTML_OBJS) \ + cgi.o \ + mansearch.o \ + mansearch_const.o \ + out.o + +MANPAGE_OBJS = manpage.o mansearch.o mansearch_const.o manpath.o + +DEMANDOC_OBJS = demandoc.o + +WWW_MANS = apropos.1.html \ + demandoc.1.html \ + mandoc.1.html \ + preconv.1.html \ + mandoc.3.html \ + mandoc_escape.3.html \ + mandoc_html.3.html \ + mandoc_malloc.3.html \ + mansearch.3.html \ + mchars_alloc.3.html \ + tbl.3.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.8.html \ + man.h.html \ + mandoc.h.html \ + mandoc_aux.h.html \ + manpath.h.html \ + mansearch.h.html \ + mdoc.h.html + +WWW_OBJS = mdocml.tar.gz \ + mdocml.sha256 + +# === DEPENDENCY HANDLING ============================================== + +all: base-build $(BUILD_TARGETS) + +base-build: $(BASEBIN) + +db-build: $(DBBIN) + +cgi-build: $(CGIBIN) + +install: base-install $(INSTALL_TARGETS) + +www: $(WWW_OBJS) $(WWW_MANS) + +include Makefile.depend + +# === TARGETS CONTAINING SHELL COMMANDS ================================ + +clean: + rm -f libmandoc.a $(LIBMANDOC_OBJS) + rm -f apropos $(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 + +base-install: base-build + mkdir -p $(DESTDIR)$(BINDIR) + mkdir -p $(DESTDIR)$(EXAMPLEDIR) + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man1 + mkdir -p $(DESTDIR)$(MANDIR)/man3 + mkdir -p $(DESTDIR)$(MANDIR)/man7 + $(INSTALL_PROGRAM) $(BASEBIN) $(DESTDIR)$(BINDIR) + $(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) 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 \ + $(DESTDIR)$(MANDIR)/man7 + $(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR) + +db-install: db-build + mkdir -p $(DESTDIR)$(BINDIR) + mkdir -p $(DESTDIR)$(SBINDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man1 + 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 + $(INSTALL_PROGRAM) makewhatis $(DESTDIR)$(SBINDIR) + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1 + ln -f $(DESTDIR)$(MANDIR)/man1/apropos.1 \ + $(DESTDIR)$(MANDIR)/man1/whatis.1 + $(INSTALL_MAN) mansearch.3 $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 + $(INSTALL_MAN) makewhatis.8 $(DESTDIR)$(MANDIR)/man8 + +cgi-install: cgi-build + mkdir -p $(DESTDIR)$(CGIBINDIR) + mkdir -p $(DESTDIR)$(HTDOCDIR) + mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1 + mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8 + $(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) + $(INSTALL_DATA) example.style.css $(DESTDIR)$(HTDOCDIR)/man.css + $(INSTALL_DATA) man-cgi.css $(DESTDIR)$(HTDOCDIR) + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1/ + $(INSTALL_MAN) man.cgi.8 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8/ + +www-install: www + mkdir -p $(DESTDIR)$(HTDOCDIR)/snapshots + $(INSTALL_DATA) $(WWW_MANS) style.css $(DESTDIR)$(HTDOCDIR) + $(INSTALL_DATA) $(WWW_OBJS) $(DESTDIR)$(HTDOCDIR)/snapshots + $(INSTALL_DATA) mdocml.tar.gz \ + $(DESTDIR)$(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz + $(INSTALL_DATA) mdocml.sha256 \ + $(DESTDIR)$(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; 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 + +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) + +demandoc: $(DEMANDOC_OBJS) libmandoc.a + $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a + +mdocml.sha256: mdocml.tar.gz + sha256 mdocml.tar.gz > $@ + +mdocml.tar.gz: $(DISTFILES) + mkdir -p .dist/mdocml-$(VERSION)/ + $(INSTALL_SOURCE) $(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 +.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=style.css,man=%N.%S.html,includes=%I.html $< > $@ Copied: head/contrib/mdocml/Makefile.depend (from r274878, vendor/mdocml/dist/Makefile.depend) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/mdocml/Makefile.depend Sat Nov 22 18:57:23 2014 (r274880, copy of r274878, vendor/mdocml/dist/Makefile.depend) @@ -0,0 +1,70 @@ +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 +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 +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 +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 +man_macro.o: man_macro.c config.h man.h mandoc.h libmandoc.h libman.h +man_term.o: man_term.c config.h mandoc.h mandoc_aux.h out.h man.h term.h main.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 +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_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 +mdoc_hash.o: mdoc_hash.c config.h mdoc.h libmdoc.h +mdoc_html.o: mdoc_html.c config.h mandoc.h mandoc_aux.h out.h html.h mdoc.h main.h +mdoc_macro.o: mdoc_macro.c config.h mdoc.h mandoc.h libmdoc.h libmandoc.h +mdoc_man.o: mdoc_man.c config.h mandoc.h mandoc_aux.h out.h man.h mdoc.h main.h +mdoc_term.o: mdoc_term.c config.h mandoc.h mandoc_aux.h out.h term.h mdoc.h main.h +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 +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 +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 +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 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 Modified: head/contrib/mdocml/NEWS ============================================================================== --- head/contrib/mdocml/NEWS Sat Nov 22 18:40:14 2014 (r274879) +++ head/contrib/mdocml/NEWS Sat Nov 22 18:57:23 2014 (r274880) @@ -1,7 +1,87 @@ -$Id: NEWS,v 1.3 2013/10/13 16:06:50 schwarze Exp $ +$Id: NEWS,v 1.5 2014/08/10 16:32:57 schwarze Exp $ This file lists the most important changes in the mdocml.bsd.lv distribution. +Changes in version 1.13.1, released on August 10, 2014 + + --- 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. + Almost all fatal errors were downgraded to normal errors and some + even to warnings. Almost all messages now mention the macro where + the issue is detected and many indicate the workaround employed. + The mandoc(1) manual now includes a list explaining all messages. + --- MINOR NEW FEATURES --- + * The roff(7) parser now supports the .ami (append to macro with + indirectly specified name), .as (append to user-defined + string), .dei (define macro with indirectly specified name), + .ll (line length), and .rr (remove register) requests. + * The roff(7) parser now supports string comparison and numerical + conditionals in the .if and .ie requests. + * The roff parser now fully supports the \B (validate numerical + expression) and partially supports the \w (measure text width) + escape sequences. + * The terminal formatter now supports the \: (optional line break) + escape sequence. + * The roff parser now supports expansion of user-defined strings + involving indirect references. + * The roff(7) parser now handles some pre-defined read-only + number registers that occur in the pod2man(1) preamble. + * For backward compatibility, the mdoc(7) parser and formatters + now support the obsolete macros .En, .Es, .Fr, and .Ot. + * The mdoc(7) formatter non partially supports .Bd -centered. + * tbl(7) now handles leading and trailing vertical lines. + * The build system now provides fallback versions of strcasestr(3) + and strsep(3) for systems lacking them. + * The mdoc(7) manual now explains how various standards + supported by the .St macro are related to each other. + --- BUGFIXES --- + * In the roff(7) parser, several bugs were fixed with respect + to closing conditional blocks on macro lines. + * Parsing of roff(7) identifiers and escape sequences was improved + in multiple respects. + * In the mdoc(7) parser, the handling of defective document + prologues was improved in multiple ways. + * The mdoc(7) parser no longer skips content before the first section + header, and it no longer deletes non-.% content from .Rs blocks. + * In the mdoc(7) parser, a crash was fixed related to weird .Sh headers. + * In the mdoc(7) parser, handling of .Sm with missing or invalid + arguments was corrected. + * In the mdoc(7) parser, trailing punctuation at the end of partial + implicit macros no longer triggers end-of-sentence spacing. + * In the terminal formatter, two crashes were fixed: one triggered by + excessive indentation and another by excessively long .Nm arguments. + * In the terminal formatter, a floating point rounding bug was + fixed that sometimes caused an off-by-one error in indentation. + * In the UTF-8 formatter, rendering of accents, breakable hyphens, + and non-breakable spaces was corrected. + * In the HTML formatter, encoding of special characters was + corrected in multiple respects. + * In the mdoc(7) formatter, rendering of .Ex and .Rv was + improved for various edge cases. + * In the mdoc(7) formatter, handling of empty .Bl -inset item + heads was improved. + * In the man(7) formatter, some bugs were fixed with respect + to same-line detection in the context of .TP and .nf macros, + and the indentation of .IP and .TP blocks was improved. + * The mandoc(3) library no longer prints to stderr. + --- THANKS TO --- + Abhinav Upadhyay (NetBSD), Andreas Voegele, Anthony Bentley (OpenBSD), + Christian Weisgerber (OpenBSD), Havard Eidnes (NetBSD), Jan Stary, + Jason McIntyre (OpenBSD), Jeremie Courreges-Anglas (OpenBSD), + Joerg Sonnenberger (NetBSD), Juan Francisco Cantero Hurtado (OpenBSD), + Marc Espie (OpenBSD), Matthias Scheler (NetBSD), Pascal Stumpf (OpenBSD), + Paul Onyschuk (Alpine Linux), Sebastien Marie, Steffen Nurpmeso, + Stuart Henderson (OpenBSD), Ted Unangst (OpenBSD), Theo de Raadt (OpenBSD), + Thomas Klausner (NetBSD), and Ulrich Spoerlein (FreeBSD) + for reporting bugs and missing features. + Changes in version 1.12.3, released on December 31, 2013 * In the mdoc(7) SYNOPSIS, line breaks and hanging indentation Modified: head/contrib/mdocml/TODO ============================================================================== --- head/contrib/mdocml/TODO Sat Nov 22 18:40:14 2014 (r274879) +++ head/contrib/mdocml/TODO Sat Nov 22 18:57:23 2014 (r274880) @@ -1,13 +1,15 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.162 2013/12/25 14:40:34 schwarze Exp $ +* $Id: TODO,v 1.176 2014/08/09 14:24:53 schwarze Exp $ ************************************************************************ ************************************************************************ * crashes ************************************************************************ -None known. +- 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. ************************************************************************ * missing features @@ -15,11 +17,6 @@ None known. --- missing roff features ---------------------------------------------- -- roff.c should treat \n(.H>23 and \n(.V>19 in the pod2man(1) - preamble as true, see for example AUTHORS in MooseX::Getopt.3p - reported by Andreas Voegele <mail at andreasvoegele dot com> - Tue, 22 Nov 2011 15:34:47 +0100 on ports@ - - .ad (adjust margins) .ad l -- adjust left margin only (flush left) .ad r -- adjust right margin only (flush right) @@ -29,20 +26,9 @@ None known. .ad -- re-enable adjustment without changing the mode Adjustment mode is ignored while in no-fill mode (.nf). -- .as (append to string) - found by jca@ in ratpoison(1) Sun, 30 Jun 2013 12:01:09 +0200 - -- .ce (center N lines) - found by naddy@ in xloadimage(1) - found by Juan Francisco Cantero Hurtado <iam at juanfra dot info> - in lang/racket(1) Thu, 20 Jun 2013 03:19:11 +0200 - - .fc (field control) found by naddy@ in xloadimage(1) -- .ll (line length) - found by naddy@ in textproc/enchant(1) Sat, 12 Oct 2013 03:27:10 +0200 - - .nr third argument (auto-increment step size, requires \n+) found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700 @@ -51,6 +37,7 @@ None known. - .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 - .ti (temporary indent) found by naddy@ in xloadimage(1) @@ -70,6 +57,10 @@ None known. - \n+ and \n- numerical register increment and decrement found by bentley@ in sbcl(1) Mon, 9 Dec 2013 18:36:57 -0700 +- \w'' 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 + - using undefined strings or macros defines them to be empty wl@ Mon, 14 Nov 2011 14:37:01 +0000 @@ -96,6 +87,12 @@ None known. because libmdoc does not yet use mandoc_getarg(). Also check what happens in plain text, it must be identical to \e. +- .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. + - .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). @@ -129,10 +126,19 @@ None known. - have a blank `It' head for `Bl -tag' not puke +- check whether it is correct that `D1' uses INDENT+1; + does it need its own constant? *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411221857.sAMIvNU7034161>