From nobody Wed Oct 12 09:09:37 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MnRg55Rn0z4fpQx; Wed, 12 Oct 2022 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MnRg5592lz3cLB; Wed, 12 Oct 2022 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665565777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lc8w83PpMqySKcfXPFE4ACyNexjPq3tVl5Z8SMY/C4I=; b=UjaXqdOPl2qrvztEYqQomYnr6r+onyU+3gBUHt2y5rLjPVr9a3PmZZxhPPb6+Sha8Ve/Gx uRWfv01NS70KPMugoC3oPInLzTeQwBJUIquJNwJORb/HVxhtu2oaJXNQH+KzfgJ4iCthJ/ DOf2v5F5b+ndBbVSzLMCm59d1XQRIthZ1lk66Ue5Dtc61Ah/IOoLe2l/IPyhNf9TsXdbjo 2mueycBDYmWycNX3n3msQomo++vUQpeE0cV0J0eAoPsUTgXt6M4FxHaGHOElcykxVZwZ5O wuAC1WEaPO13WZOFRMWM3ACPpr9+Vl0c7+XzvgR04mB9moULscz+JyDjyoV2sQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MnRg54BtQz1G2j; Wed, 12 Oct 2022 09:09:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 29C99bDO032760; Wed, 12 Oct 2022 09:09:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 29C99boU032759; Wed, 12 Oct 2022 09:09:37 GMT (envelope-from git) Date: Wed, 12 Oct 2022 09:09:37 GMT Message-Id: <202210120909.29C99boU032759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 6ec92eb155fb - stable/12 - mandoc: import version 1.14.6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 6ec92eb155fbdd860c824cf6478554d08b74d160 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665565777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lc8w83PpMqySKcfXPFE4ACyNexjPq3tVl5Z8SMY/C4I=; b=v6VZDf2afL5/BvVAPSaQQbhnDPM+2Vr1vZgRrQjN76NnF+GF7XUuZFOmzahZXwg1wfzgF5 rqSKjUJZ2DMNMdlX4ywlfNeUaxHKJdwUXdlt2hq8iAXC/R4TmatqhYK3ypnVywwIG4Fdej eHKcWnngU9JHlk5nrtg1rFrie/ZUmrQvkOYV5j04W8bAdmUQoFwkRGPcwWOI7/LUukIgHV npKk//yoZ1immd4RGYDVJY7/az4Da0vlGQmgaCIhXmoIFxlX3AKAYRonMXAH5KdRRo7ojn nQvsnZVg3tIhV7Xjk/lOWl2rDSQcfYcMg0TeSwui0abdSGxb/AtrgMKIgW053g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1665565777; a=rsa-sha256; cv=none; b=FZSaQ4RleaTqleTkt/sSc90h9OGOqP1TAN5t8ARM+wDkzibGiR5mopkmKZBu8xC7dwEdey XjB0fqXIaV4hGVQmjVjyZx8269pGNBegh4lwx04haNSPDt6Wz2P5WMWtqKA/PaLUpyFNhm VagW4Hgg2ZG7bmRlpo61XQGtWefVTDCg4XtCjAyez/r39/2n/pYeS9FJ7NMop+tWMPNIUY LuclOIK0yjJhE3tnPPF8FQVDO5FFP4SSkDb5WlOLYAjb+p2HFPdyH6q/aQqe+wfMjOTNNM fW8sa1RQv/1ydC7OyQbgK/bw1rwcIx4MPJYa4RkF7H/LULY+sUOU9PvEMJYkcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=6ec92eb155fbdd860c824cf6478554d08b74d160 commit 6ec92eb155fbdd860c824cf6478554d08b74d160 Author: Baptiste Daroussin AuthorDate: 2021-11-15 15:54:38 +0000 Commit: Baptiste Daroussin CommitDate: 2022-10-12 09:06:52 +0000 mandoc: import version 1.14.6 MFC after: 3 weeks (cherry picked from commit 6d38604fc532a3fc060788e3ce40464b46047eaf) --- contrib/mandoc/INSTALL | 17 +- contrib/mandoc/LICENSE | 6 +- contrib/mandoc/Makefile | 64 ++- contrib/mandoc/Makefile.depend | 38 +- contrib/mandoc/NEWS | 201 ++++++- contrib/mandoc/TODO | 142 ++++- contrib/mandoc/apropos.1 | 15 +- contrib/mandoc/arch.c | 4 +- contrib/mandoc/att.c | 4 +- contrib/mandoc/catman.c | 4 +- contrib/mandoc/cgi.c | 72 ++- contrib/mandoc/chars.c | 7 +- contrib/mandoc/compat_err.c | 13 +- contrib/mandoc/compat_fts.c | 29 +- contrib/mandoc/compat_fts.h | 3 +- contrib/mandoc/compat_getline.c | 13 +- contrib/mandoc/compat_getsubopt.c | 13 +- contrib/mandoc/compat_isblank.c | 14 +- contrib/mandoc/compat_mkdtemp.c | 23 +- contrib/mandoc/compat_mkstemps.c | 63 +++ contrib/mandoc/compat_ohash.c | 13 +- contrib/mandoc/compat_progname.c | 15 +- contrib/mandoc/compat_reallocarray.c | 15 +- contrib/mandoc/compat_recallocarray.c | 25 +- contrib/mandoc/compat_strcasestr.c | 13 +- contrib/mandoc/compat_stringlist.c | 82 +-- contrib/mandoc/compat_stringlist.h | 43 +- contrib/mandoc/compat_strlcat.c | 62 +-- contrib/mandoc/compat_strlcpy.c | 49 +- contrib/mandoc/compat_strndup.c | 16 +- contrib/mandoc/compat_strsep.c | 15 +- contrib/mandoc/compat_strtonum.c | 15 +- contrib/mandoc/compat_vasprintf.c | 13 +- contrib/mandoc/config.h | 8 +- contrib/mandoc/configure | 313 ++++++----- contrib/mandoc/configure.local.example | 71 ++- contrib/mandoc/dba_array.c | 4 +- contrib/mandoc/dba_read.c | 4 +- contrib/mandoc/eqn.7 | 55 +- contrib/mandoc/eqn.c | 14 +- contrib/mandoc/html.c | 337 ++++++++---- contrib/mandoc/html.h | 36 +- contrib/mandoc/libmandoc.h | 14 +- contrib/mandoc/main.c | 961 +++++++++++++++++++-------------- contrib/mandoc/man.1 | 98 ++-- contrib/mandoc/man.7 | 55 +- contrib/mandoc/man.conf.5 | 14 +- contrib/mandoc/man_html.c | 43 +- contrib/mandoc/man_macro.c | 12 +- contrib/mandoc/man_term.c | 132 +---- contrib/mandoc/man_validate.c | 157 +++++- contrib/mandoc/manconf.h | 10 +- contrib/mandoc/mandoc.1 | 141 ++++- contrib/mandoc/mandoc.c | 85 +-- contrib/mandoc/mandoc.css | 7 +- contrib/mandoc/mandoc.h | 22 +- contrib/mandoc/mandoc_char.7 | 21 +- contrib/mandoc/mandoc_headers.3 | 79 ++- contrib/mandoc/mandoc_html.3 | 270 ++++++++- contrib/mandoc/mandoc_malloc.3 | 41 +- contrib/mandoc/mandoc_msg.c | 17 +- contrib/mandoc/mandoc_ohash.c | 4 +- contrib/mandoc/mandoc_parse.h | 3 +- contrib/mandoc/mandoc_xr.c | 4 +- contrib/mandoc/mandocd.c | 4 +- contrib/mandoc/mandocdb.c | 247 ++++++--- contrib/mandoc/manpath.c | 48 +- contrib/mandoc/mdoc.7 | 183 +++++-- contrib/mandoc/mdoc.c | 13 +- contrib/mandoc/mdoc_html.c | 385 ++++++------- contrib/mandoc/mdoc_macro.c | 7 +- contrib/mandoc/mdoc_man.c | 124 +++-- contrib/mandoc/mdoc_markdown.c | 55 +- contrib/mandoc/mdoc_state.c | 5 +- contrib/mandoc/mdoc_term.c | 440 ++++++--------- contrib/mandoc/mdoc_validate.c | 527 ++++++++++++------ contrib/mandoc/out.c | 75 ++- contrib/mandoc/out.h | 6 +- contrib/mandoc/read.c | 31 +- contrib/mandoc/roff.7 | 8 +- contrib/mandoc/roff.c | 233 +++++--- contrib/mandoc/roff.h | 17 +- contrib/mandoc/roff_html.c | 4 +- contrib/mandoc/roff_int.h | 5 +- contrib/mandoc/roff_term.c | 56 +- contrib/mandoc/roff_validate.c | 10 +- contrib/mandoc/soelim.c | 8 +- contrib/mandoc/tag.c | 415 +++++++------- contrib/mandoc/tag.h | 35 +- contrib/mandoc/tbl.7 | 13 +- contrib/mandoc/tbl.h | 7 +- contrib/mandoc/tbl_data.c | 53 +- contrib/mandoc/tbl_html.c | 42 +- contrib/mandoc/tbl_layout.c | 63 ++- contrib/mandoc/tbl_term.c | 60 +- contrib/mandoc/term.c | 25 +- contrib/mandoc/term_ascii.c | 32 +- contrib/mandoc/term_ps.c | 9 +- contrib/mandoc/term_tab.c | 4 +- contrib/mandoc/term_tag.c | 227 ++++++++ contrib/mandoc/term_tag.h | 34 ++ contrib/mandoc/test-attribute.c | 48 ++ contrib/mandoc/test-mkstemps.c | 12 + contrib/mandoc/tree.c | 201 +++++-- usr.bin/mandoc/Makefile | 1 + 105 files changed, 5029 insertions(+), 2896 deletions(-) diff --git a/contrib/mandoc/INSTALL b/contrib/mandoc/INSTALL index 3c09f3f214cb..e79674a16aa4 100644 --- a/contrib/mandoc/INSTALL +++ b/contrib/mandoc/INSTALL @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.23 2019/03/06 15:58:10 schwarze Exp $ +$Id: INSTALL,v 1.24 2021/09/20 13:25:42 schwarze Exp $ About the portable mandoc distribution -------------------------------------- @@ -18,7 +18,7 @@ tech@ mailing list, too. Enjoy using the mandoc toolset! -Ingo Schwarze, Karlsruhe, March 2019 +Ingo Schwarze, Karlsruhe, September 2021 Installation @@ -65,10 +65,15 @@ installed to the intended places. Otherwise, put some *DIR or *NM* variables into "configure.local" and go back to step 4. 7. Optionally run the regression suite. -Basically, that amounts to "cd regress && ./regress.pl". -But you should probably look at "./mandoc -l regress/regress.pl.1" -first. In particular, regarding Solaris systems, look at the BUGS -section of that manual page. +Basically, that amounts to "make regress" to do a standard regression +run, running all tests. For more fine-grained control, +read "./mandoc -l regress/regress.pl.1", +then run "cd regress && ./regress.pl" with optional arguments. +The regression suite requires a reasonably modern Perl interpreter. +Examples of systems that are too old to run the regression suite +include Solaris 9, Solaris 10, and Mac OS X 10.4 Tiger. +On Solaris 11, the suite does run, but some tests fail; +look at the BUGS section of that manual page. 8. Run "sudo make install". If you intend to build a binary package using some kind of fake root mechanism, you may need a diff --git a/contrib/mandoc/LICENSE b/contrib/mandoc/LICENSE index 81eada0b3657..0a0fc1acd2ac 100644 --- a/contrib/mandoc/LICENSE +++ b/contrib/mandoc/LICENSE @@ -1,11 +1,11 @@ -$Id: LICENSE,v 1.21 2018/11/26 17:11:11 schwarze Exp $ +$Id: LICENSE,v 1.22 2021/09/19 11:02:09 schwarze Exp $ With the exceptions noted below, all non-trivial files contained in the mandoc toolkit are protected by the Copyright of the following developers: Copyright (c) 2008-2012, 2014 Kristaps Dzonsons -Copyright (c) 2010-2018 Ingo Schwarze +Copyright (c) 2010-2021 Ingo Schwarze Copyright (c) 1999, 2004, 2017 Marc Espie Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger Copyright (c) 2013 Franco Fichtner @@ -13,7 +13,7 @@ Copyright (c) 2014 Baptiste Daroussin Copyright (c) 2016 Ed Maste Copyright (c) 2017 Michael Stapelberg Copyright (c) 2017 Anthony Bentley -Copyright (c) 1998, 2004, 2010 Todd C. Miller +Copyright (c) 1998, 2004, 2010, 2015 Todd C. Miller Copyright (c) 2008, 2017 Otto Moerbeek Copyright (c) 2004 Ted Unangst Copyright (c) 1994 Christos Zoulas diff --git a/contrib/mandoc/Makefile b/contrib/mandoc/Makefile index f4e29540df00..48c4741812b6 100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.530 2019/03/06 16:08:41 schwarze Exp $ +# $Id: Makefile,v 1.540 2021/09/21 11:04:40 schwarze Exp $ # +# Copyright (c) 2011, 2013-2021 Ingo Schwarze # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons -# Copyright (c) 2011, 2013-2019 Ingo Schwarze # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -15,11 +15,12 @@ # 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.5 +VERSION = 1.14.6 # === LIST OF FILES ==================================================== -TESTSRCS = test-be32toh.c \ +TESTSRCS = test-attribute.c \ + test-be32toh.c \ test-cmsg.c \ test-dirent-namlen.c \ test-EFTYPE.c \ @@ -29,6 +30,7 @@ TESTSRCS = test-be32toh.c \ test-getsubopt.c \ test-isblank.c \ test-mkdtemp.c \ + test-mkstemps.c \ test-nanosleep.c \ test-noop.c \ test-ntohl.c \ @@ -65,6 +67,7 @@ SRCS = arch.c \ compat_getsubopt.c \ compat_isblank.c \ compat_mkdtemp.c \ + compat_mkstemps.c \ compat_ohash.c \ compat_progname.c \ compat_reallocarray.c \ @@ -134,6 +137,7 @@ SRCS = arch.c \ term_ascii.c \ term_ps.c \ term_tab.c \ + term_tag.c \ tree.c DISTFILES = INSTALL \ @@ -209,6 +213,7 @@ DISTFILES = INSTALL \ tbl_int.h \ tbl_parse.h \ term.h \ + term_tag.h \ $(SRCS) \ $(TESTSRCS) @@ -245,19 +250,22 @@ LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ mandoc_xr.o \ msec.o \ preconv.o \ - read.o + read.o \ + tag.o -COMPAT_OBJS = compat_err.o \ +ALL_COBJS = compat_err.o \ compat_fts.o \ compat_getline.o \ compat_getsubopt.o \ compat_isblank.o \ compat_mkdtemp.o \ + compat_mkstemps.o \ compat_ohash.o \ compat_progname.o \ compat_reallocarray.o \ compat_recallocarray.o \ compat_strcasestr.o \ + compat_stringlist.o \ compat_strlcat.o \ compat_strlcpy.o \ compat_strndup.o \ @@ -280,6 +288,7 @@ MANDOC_TERM_OBJS = eqn_term.o \ term_ascii.o \ term_ps.o \ term_tab.o \ + term_tag.o \ tbl_term.o DBM_OBJS = dbm.o \ @@ -302,7 +311,6 @@ MAIN_OBJS = $(MANDOC_HTML_OBJS) \ mdoc_man.o \ mdoc_markdown.o \ out.o \ - tag.o \ tree.o CGI_OBJS = $(MANDOC_HTML_OBJS) \ @@ -313,18 +321,10 @@ CGI_OBJS = $(MANDOC_HTML_OBJS) \ MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_TERM_OBJS) \ mandocd.o \ - out.o \ - tag.o + out.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 \ @@ -373,7 +373,7 @@ include Makefile.local # === DEPENDENCY HANDLING ============================================== -all: mandoc demandoc soelim $(BUILD_TARGETS) Makefile.local +all: mandoc man demandoc soelim $(BUILD_TARGETS) Makefile.local install: base-install $(INSTALL_TARGETS) @@ -392,13 +392,14 @@ 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 libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS) + rm -f mandoc man $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f mandocd catman catman.o $(MANDOCD_OBJS) rm -f demandoc $(DEMANDOC_OBJS) - rm -f soelim $(SOELIM_OBJS) + rm -f soelim soelim.o rm -f $(WWW_MANS) $(WWW_INCS) mandoc*.tar.gz mandoc*.sha256 + rm -f Makefile.tmp1 Makefile.tmp2 rm -rf *.dSYM base-install: mandoc demandoc soelim @@ -511,12 +512,15 @@ 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) +libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS) + $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) +man: mandoc + $(LN) mandoc man + man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) @@ -529,8 +533,8 @@ catman: catman.o libmandoc.a demandoc: $(DEMANDOC_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) -soelim: $(SOELIM_OBJS) - $(CC) -o $@ $(LDFLAGS) $(SOELIM_OBJS) +soelim: $(SOELIM_COBJS) soelim.o + $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o # --- maintainer targets --- @@ -540,11 +544,13 @@ www-install: www $(INSTALL_DATA) $(WWW_INCS) $(HTDOCDIR)/includes depend: config.h - mkdep -f Makefile.depend $(CFLAGS) $(SRCS) + ./configure -depend + mkdep -f Makefile.tmp1 $(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 + Makefile.tmp1 > Makefile.tmp2 + rm Makefile.tmp1 + mv Makefile.tmp2 Makefile.depend regress-distclean: @find regress \ @@ -597,7 +603,7 @@ dist-install: dist .h.h.html: highlight -I $< > $@ -.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc - mandoc -Thtml -Wwarning,stop \ +.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: + ./mandoc -Thtml -Wwarning,stop \ -O 'style=/mandoc.css,man=/man/%N.%S.html;https://man.openbsd.org/%N.%S,includes=/includes/%I.html' \ $< > $@ diff --git a/contrib/mandoc/Makefile.depend b/contrib/mandoc/Makefile.depend index 3540aeda822c..d5f6556c3e7e 100644 --- a/contrib/mandoc/Makefile.depend +++ b/contrib/mandoc/Makefile.depend @@ -9,6 +9,7 @@ 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_mkstemps.o: compat_mkstemps.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 @@ -22,8 +23,8 @@ 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_array.o: dba_array.c config.h mandoc_aux.h dba_write.h dba_array.h +dba_read.o: dba_read.c config.h 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 @@ -33,17 +34,17 @@ eqn_html.o: eqn_html.c config.h mandoc.h roff.h eqn.h out.h html.h eqn_term.o: eqn_term.c config.h eqn.h out.h term.h html.o: html.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h out.h html.h manconf.h main.h lib.o: lib.c config.h roff.h libmdoc.h lib.in -main.o: main.c config.h mandoc_aux.h mandoc.h mandoc_xr.h roff.h mdoc.h man.h mandoc_parse.h tag.h main.h manconf.h mansearch.h +main.o: main.c config.h mandoc_aux.h mandoc.h mandoc_xr.h roff.h mdoc.h man.h mandoc_parse.h tag.h term_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_html.o: man_html.c config.h mandoc_aux.h mandoc.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 tag.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 +man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h term_tag.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 tag.h mandoc.o: mandoc.c config.h mandoc_aux.h mandoc.h roff.h libmandoc.h roff_int.h mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h mandoc_msg.o: mandoc_msg.c config.h mandoc.h -mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h -mandoc_xr.o: mandoc_xr.c mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc_xr.h +mandoc_ohash.o: mandoc_ohash.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h +mandoc_xr.o: mandoc_xr.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc_xr.h mandocd.o: mandocd.c config.h mandoc.h roff.h mdoc.h man.h mandoc_parse.h main.h manconf.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 mandoc_parse.h manconf.h mansearch.h dba_array.h dba.h manpath.o: manpath.c config.h mandoc_aux.h mandoc.h manconf.h @@ -53,21 +54,21 @@ mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc. mdoc_html.o: mdoc_html.c config.h mandoc_aux.h mandoc.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_markdown.o: mdoc_markdown.c mandoc_aux.h mandoc.h roff.h mdoc.h main.h -mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_term.o: mdoc_term.c config.h mandoc_aux.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 mandoc_xr.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_markdown.o: mdoc_markdown.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h main.h +mdoc_state.o: mdoc_state.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_term.o: mdoc_term.c config.h mandoc_aux.h roff.h mdoc.h out.h term.h term_tag.h main.h +mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h mandoc_xr.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h tag.h msec.o: msec.c config.h mandoc.h libmandoc.h msec.in -out.o: out.c config.h mandoc_aux.h tbl.h out.h +out.o: out.c config.h mandoc_aux.h mandoc.h tbl.h out.h preconv.o: preconv.c config.h mandoc.h roff.h mandoc_parse.h libmandoc.h -read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h mandoc_parse.h libmandoc.h roff_int.h +read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h mandoc_parse.h libmandoc.h roff_int.h tag.h roff.o: roff.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mandoc_parse.h libmandoc.h roff_int.h tbl_parse.h eqn_parse.h predefs.in -roff_html.o: roff_html.c mandoc.h roff.h out.h html.h -roff_term.o: roff_term.c mandoc.h roff.h out.h term.h -roff_validate.o: roff_validate.c mandoc.h roff.h libmandoc.h roff_int.h +roff_html.o: roff_html.c config.h mandoc.h roff.h out.h html.h +roff_term.o: roff_term.c config.h mandoc.h roff.h out.h term.h +roff_validate.o: roff_validate.c config.h mandoc.h roff.h libmandoc.h roff_int.h soelim.o: soelim.c config.h compat_stringlist.h st.o: st.c config.h mandoc.h roff.h libmdoc.h -tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h tag.h +tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h roff.h mdoc.h roff_int.h tag.h tbl.o: tbl.c config.h mandoc_aux.h mandoc.h tbl.h libmandoc.h tbl_parse.h tbl_int.h tbl_data.o: tbl_data.c config.h mandoc_aux.h mandoc.h tbl.h libmandoc.h tbl_int.h tbl_html.o: tbl_html.c config.h mandoc.h roff.h tbl.h out.h html.h @@ -77,5 +78,6 @@ tbl_term.o: tbl_term.c config.h mandoc.h tbl.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 -term_tab.o: term_tab.c mandoc_aux.h out.h term.h +term_tab.o: term_tab.c config.h mandoc_aux.h out.h term.h +term_tag.o: term_tag.c config.h mandoc.h roff.h roff_int.h tag.h term_tag.h tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h tbl.h eqn.h main.h diff --git a/contrib/mandoc/NEWS b/contrib/mandoc/NEWS index 89eb3f6fb629..634ffaf6ccfa 100644 --- a/contrib/mandoc/NEWS +++ b/contrib/mandoc/NEWS @@ -1,7 +1,206 @@ -$Id: NEWS,v 1.34 2019/03/10 09:32:00 schwarze Exp $ +$Id: NEWS,v 1.40 2021/09/23 18:03:00 schwarze Exp $ This file lists the most important changes in the mandoc.bsd.lv distribution. +Changes in version 1.14.6, released on September 23, 2021 + + --- MAJOR NEW FEATURES --- + * mdoc(7): automatic tagging improved in many respects + * mdoc(7): new .Tg (tag) macro to explicitly mark a place as defining a term + * man(7): implement some automatic tagging support + * man(1): let -w without argument show the manpath, like in man-db and man-1.6 + * -T html: wrap text and phrasing elements in paragraphs unless already + contained in flow containers; never put them directly into sections. + This helps to format paragraphs with the CSS class selector .Pp. + * man.conf(5): remove support for the "_whatdb" configuration directive + that was deprecated in 2015; please use "manpath" instead + --- MINOR NEW FEATURES --- + * man(1): switch the default pager from "more -s" to "less" + * man(1): in the fallback code to look for manual pages without using + mandoc.db(5), accept files "man/." + in addition to the already supported "man/name.[01-9]*" + * if messages are shown and output is printed without a pager, display + a heads-up on stderr at the end because otherwise, users may easily + miss the messages + * man.cgi(8): add a Content-Security-Policy HTTP header + * man.cgi(8): switch off autocomplete and autocapitalize + * mandoc.css: support prefers-color-scheme: dark + * -T html: add meta viewport element to help mobile devices + * -T html -O tag: let this pass a file:// URI to the pager + * tbl(7): implement the "nospaces" option + * tbl(7) -T html: implement the "a" (em indent) layout specification + * tbl(7) -T html: implement the "b" (bold) and "i" (italic) layout modifiers + * tbl(7): support two-character font names in the layout font modifier + * tbl(7) -T html: support horinzontal rulers in individual cells + * tbl(7) -T tree: print more details about columns, options, rows, and cells + * roff(7): implement the .break request (break out of a .while loop) + * roff(7): support the CB and CI fonts in \f and .ft + * -T lint: new STYLE message if a file name extension contradicts .Dt/.TH + * -T lint: new STYLE message about overlong text lines + * -W style: check .Xr links along the full manpath + --- RELIABILITY BUGFIXES --- + * man(1): do not segfault if /tmp/ is not writeable + * man(1): do not access a NULL pointer when both -l and -w are given + * makewhatis(8): do not crash when a manpath directory contains + a symbolic link that points to a directory + * man(7): fix an assertion failure caused by doubly nested next-line scopes + * tbl(7): fix a crash when the last column is only reached by spans + * tbl(7): fix a NULL pointer access in some cases of two spans on one row + * tbl(7) -T ascii: fix a NULL pointer access on empty data cells + * tbl(7) -T ascii: fix a NULL pointer access on a line next to a short row + * tbl(7): fix an assertion failure caused by excessive spacing modifiers + * tbl(7): fix an infinite loop for some overlapping horizontal spans + * roff(7): fix a rare case of writing one byte past the end of the input buffer + * roff(7): do not call abort(3) when \*[.T] is encountered + * roff(7): fix an assertion failure caused by a macro inside .ce .if + * roff(7): fix assertion failures for .ti and .po with excessive arguments + * roff(7): avoid near-infinte output for .ce inside explicit no-fill mode + * -T ascii/utf8: fix assertion failures caused by excessive spacing + * -T html: fix an assertion failure caused by .ft in rare situations + * -T man: fix an assertion failure caused by tbl(7) and eqn(7) input + --- PORTABILITY IMPROVEMENTS --- + * rename HOMEBREWDIR to READ_ALLOWED_PATH, allow it to contain more than + one directory, and explain how to use that for NixOS and GNU Guix Linux + * configure: stop trying to ask make(1) what the default compiler is + because that test was too fragile; just use "cc" by default + * configure: various simplifications and improved robustness + * configure: only compile compat_*.c implementations that are needed + * configure: provide feature tests for __attribute__(()) and mkstemps(3) + * compat_*: sync with upstreams for security, functionality, and style + * in regress.pl, avoid the non-portable options sed(1) -i and echo(1) -n + * in the regression suite, avoid file names that differ only by case + --- MINOR FUNCTIONAL IMPROVEMENTS --- + * man(1) -h: for pages lacking a SYNOPSIS, show the NAME section + * man(1): when the first argument starts with a digit, optionally + followed by a letter, and at least one more argument follows, + interpret the first argument as a section name even when additional + characters follow after the digit and letter + * man(1): with a specific section requested, try harder to find + the best match; use this order of preference: + 1. The section in both the directory name and the file name matches exactly. + 2. The section in the file name matches exactly. + 3. The section in the directory name matches exactly. + 4. Neither of them matches exactly. + * man(1): if no tags were generated at all, unlink(2) the empty tags file + as soon as the condition can be detected and do not pass it to less(1) + * makewhatis(8): handle both dangling symlinks and .so links + in manual page directories more gracefully + * man.cgi(8): for invalid queries and for valid queries returning + no result, return the appropriate 40x status code rather than 200 + * mdoc(7): let .Dd concatenate all arguments and default to the empty string + * mdoc(7): convert ".Fl Fl" to ".Fl \-" during validation, improving -T html + * mdoc(7): improve output of .At 32v + * man(7): no longer print multiple blank lines before NAME and page footer + * tbl(7) -T utf8: improved rendering of horizontal lines + * tbl(7) -T html: in "n" cells, align by padding numbers on the right + * tbl(7): no longer leak tabulator settings to subsequent roff(7) code + * mdoc(7) -T html: for .Bl -tag, use "column-count: 1" rather + than "overflow: auto" to avoid the ugly side effects + * mdoc(7) -T html: render .Bd -unfilled in proportionally-spaced font + * mdoc(7) -T html: format .Nd with rather than
+ * mdoc(7) -T lint: do not warn about Mdocdate without an actual date + * mdoc(7) -T lint: do not complain about function types of the + form "ret_type (fname)(args)", but otherwise check names more strictly + * -T html: append .html suffix to temporary files to please browsers + * -T markdown: print a BAGARG message if called on man(7) input + --- MINOR BUGFIXES --- + * man(1): do the search for each name independently, and + show the results in the order of the command line argument + * man(1): escape shell wildcard characters in name arguments before glob(3) + * man(1): when asking for a single manual page by name, prefer file name + matches over .Dt/.TH matches over first NAME matches over later NAME + matches, but do not change the ordering for apropos(1) nor for man -a + * man(1): correctly extract the section name from the file name extension + of gzipped manual page files + * makewhatis(8): fix file type tests putting wrong data into mandoc.db(5) + * man.cgi(8): fix section number in the element for preformatted pages + * tbl(7): correct handling of T& after horizontal rulers in the layout + * tbl(7): correct column widths if rows have different numbers of cells + * tbl(7): empty columns are 1n wide rather than 0n + * tbl(7): correctly calculate required column widths for tables containing + cells that horizontally span columns which contains "n" (number) formatted + cells on other rows + * tbl(7): skip escape sequences when looking for column separators + * eqn(7): skip whitespace before tokens + * roff(7): when calling an empty macro, do not clobber existing arguments + * roff(7): recognize \} on lines closing a macro definition request + * roff(7): do not throw a bogus warning for "'br\}" and similar lines + * roff(7): stop generating comment nodes when encountering the first content + * mandoc_char(7): make \0 (digit-width space) non-breaking + * mdoc(7) .Bl -column: parse Macro in .It "word<tab>word" Ta word Macro<eol> + * mdoc(7) -T html: display straight quotes, not curly quotes, for .Qq/.Qo + * -T html: remove some spurious line breaks, in particular inside <pre> + * -T html: use <br/> for a space character at the beginning of an input line + * -T html: use ~%d for ordinal fragment suffixes, reserve '~' for that purpose + --- STRUCTURAL IMPROVEMENTS --- + * introduce the concept of semantically transparent syntax tree nodes, + allowing improved decisions in various validators and formatters + * move some code out of the giant main() into separate functions + doing one well-defined task each + * clearly separate parser state (struct curparse) and formatter state + (struct outstate), don't mix them in the same struct + * in the HTML formatter, assert(3) that no HTML nesting violation occurs + * let html_close_paragraph() close any phrasing context + --- THANKS TO --- + * Anthony Bentley and Klemens Nanni (OpenBSD) for many patches and bug + reports, for useful discussions, and for checking patches + * Anton Lindqvist (OpenBSD) for two patches and a bug report + * Marc Espie (OpenBSD) for a patch, many bug reports, and useful discussions + * Lukas Epple (NixOS) for a patch, bug reports, suggesting a minor + portability feature, checking patches, and extensive release testing + * Abel Romero Perez for a patch, a bug report, and suggesting a new feature + * nabijaczleweli for a patch and for suggesting feature improvements + * Jonathan Gray (OpenBSD) for a patch and for bug reports + * Otto Moerbeek (OpenBSD) and Alexander Gromnitsky for a patch + * Armin Besirovic for a contribution to mandoc.css + * Jason McIntyre (OpenBSD) for manual page patches, suggesting a new feature, + checking many patches, and useful discussions + * Martin Vahlensieck for a manual page patch and reporting a code style issue + * Frederic Cambus and Ian Sutton (OpenBSD) for a manual page patch + * Jan Schreiber for many bug reports found with afl(1) + * G. Branden Robinson (GNU troff) for several bug reports, feature + suggestions, and for checking many groff patches + * Michael Stapelberg (Debian) for several bug reports and feature + suggestions, and for extensive release testing + * Ian Ropers, Lorenzo Beretta, and Oliver Corff for several bug reports + and feature suggestions + * Stephen Gregoratto for several bug reports + * Theo de Raadt (OpenBSD) for two bug reports, checking a patch, + and a useful discussion + * Thomas Klausner (NetBSD) for two bug reports and for release testing + * Andreas Kahari and Jason A. Donenfeld for two bug reports + * Soeren Tempel (Alpine Linux) for a bug report, suggesting a feature + improvement, and checking two patches + * Aman Verma, Jan Stary, and John Gardner for a bug report + and for suggesting a feature impovement + * Todd Miller (OpenBSD) for a bug report, checking a patch, + and a useful discussion + * Andrew Fresh, Brian Callahan, Christian Weisgerber, Paul de Weerd (OpenBSD), + Havard Eidnes, Jason Thorpe (NetBSD), Yuri Pankov (FreeBSD), + Bjarni Ingi Gislason, Chris Bennett, Edgar Pettijohn, Eldred Habert, + Jamie Landeg-Jones, Kazuo KUROI, and Wynn Wolf Arbor for a bug report + * Theo Buehler (OpenBSD) for suggesting two feature impovements + and for checking a patch + * Leah Neukirchen (Void Linux) for suggesting a feature impovement + and for release testing + * Colin Watson (Debian) for suggesting a feature impovement + and for checking groff patches + * Matej Cepl (SUSE Linux), Matthew Martin, Steffen Nurpmeso, + and Tim Baumgard for suggesting a feature impovement + * Christos Zoulas (NetBSD) for a report regarding portability + * Daniel Dickman (OpenBSD) for suggesting a portability improvement + * Werner Lemberg (GNU troff) and Douglas McIlroy + for reporting bugs in manual pages + * Baptiste Daroussin and Eygene Ryabinkin (FreeBSD) + for an additional regression test + * Michal Nowak for reporting several code style issues + * TJ Townsend (OpenBSD) for help with CSS + * Sevan Janiyan (NetBSD) and Robert Mustacchi (Illumos) + for extensive release testing + * Job Snijders, Kinichiro INOGUCHI, and Martijn van Duren (OpenBSD) + for checking patches + * Bertrand Garrigues and Ralph Corderoy (GNU troff) for checking groff patches + Changes in version 1.14.5, released on March 10, 2019 --- MAJOR NEW FEATURES --- diff --git a/contrib/mandoc/TODO b/contrib/mandoc/TODO index 049e6a4f2beb..fe2059c9e5d5 100644 --- a/contrib/mandoc/TODO +++ b/contrib/mandoc/TODO @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.295 2019/06/11 16:04:36 schwarze Exp $ +* $Id: TODO,v 1.319 2021/09/21 17:58:13 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -32,6 +32,43 @@ Many issues are annotated for difficulty as follows: Obviously, as the issues have not been solved yet, these annotations are mere guesses, and some may be wrong. +************************************************************************ +* assertion failures +************************************************************************ + +- .if n .ce in the middle of .TS data + afl case f1/id:000103,sig:06,src:009024+009105,op:splice,rep:2 (jes@) + While roff_parseln() prevents .ce and similar requests in the middle + of a tbl, the guard is no longer effective when the .ce is wrapped + in a roff block, for example a conditional. The resulting assertion + has never been seen in any real-world manual page. + This is too dangerous to fix before release because it requires + reorganizing the very delicate internals of roff_parseln(), + which risks causing more severe bugs. + loc * exist *** algo *** size * imp * + + +************************************************************************ +* bugs: invalid output +************************************************************************ + +- wrong number of layout columns in tbl(7) code generated by -T man + https://savannah.gnu.org/bugs/?57720 + The reason likely is that tbl(7) does not support the -Bl -column + feature of not explicitly specifying the last table column. + loc ** exist * algo ** size * imp *** + +- eqn(7) delimiters cause conditional lines to misbehave + nabijaczleweli 8 Sep 2021 15:24:48 +0200 + loc * exist *** algo *** size * imp * + +- roff.c, roff_expand() should not remove blanks before comments + to Oliver Corff, Sep 7, 2021 + loc * exist * algo * size * imp * + but watch out for regressions in the high-level parsers + maybe it should not even remove comments? - consider T{\" + + ************************************************************************ * missing features ************************************************************************ @@ -83,8 +120,39 @@ are mere guesses, and some may be wrong. Jan Stary 20 Apr 2019 20:16:54 +0200 loc * exist *** algo *** size ** imp * +- mandoc replaces all ASCII control characters except tab and line feed + with '?' during input. It would be better to replace them with + Unicode escapes in preconv_encode() or somewhere in the vicinity, + such that the already existing better replacement strings show + up in the output. Emulating groff is not desirable: groff replaces + 0x00, 0x0b, and 0x0d to 0x1f with the empty string (bad because + that's easy to overlook for the document author), 0x01 with '.' + (very confusing), and passes through 0x02 to 0x08, 0x0c, and 0x7f + raw (bad because that is insecure output). Remember that 0x07 may + need special handling because it is sometimes used for certain + delimiters, so it may need handling *after* roff.c rather than before. + reminded by John Gardner 16 Jun 2020 14:26:28 +1000 + Actually, more ASCII control characters than just 0x07 may need + later handling because they can for example be used in macro names. + So they may need handling after roff(7) processing. + pointed out by John Gardner 23 Jun 2020 18:28:08 +1000 + more info from John Gardner 29 Jun 2020 19:54:04 +1000 + loc ** exist ** algo ** size ** imp * + +- many missing features used in old groff_char(7), + some can possibly be supported + kamil at netbsd 12 Nov 2020 17:27:09 +0100 + reply + +- \s with arbitrary arg delimiters as already supported for other escapes + found following jmc@'s mail 28 Apr 2021 18:31:41 +0100 + loc * exist * algo * size * imp * + --- missing mdoc features ---------------------------------------------- +- .Sh and .Ss should be parsed and partially callable, see groff_mdoc(7) + reed at reedmedia dot net Sat, 21 Dec 2019 17:13:07 -0600 + loc ** exist ** algo ** size ** imp * + - .Bl -column .Xo support is missing ultimate goal: restore .Xr and .Dv to @@ -153,6 +221,13 @@ are mere guesses, and some may be wrong. --- missing man features ----------------------------------------------- +- MANWIDTH + Markus Waldeck <waldeck at gmx dot de> 9 Jun 2015 05:49:56 +0200 + Laura Morales <lauretas at mail dot com> 26 Apr 2018 08:15:55 +0200 + Kamil Rytarowski <kamil at netbsd> 13 Nov 2020 00:19:36 +0100 + patch from Kamil 13 Nov 2020 22:37:07 +0100 + loc * exist * algo * size * imp * + - groff_www(7) .MTO and .URL These macros were used by the GNU grep(1) man page. The groff_www(7) manual page itself uses them, too. @@ -217,6 +292,21 @@ are mere guesses, and some may be wrong. --- missing misc features ---------------------------------------------- +- conisder whether man(1) fallback code in main.c/fs_*() can find files + like man3c/fopen.3c (illumos, Solaris) and man3p/fopen.3p (POSIX) + discussed with Robert Mustacchi 21 Sep 2021 10:39:40 -0700 + loc * exist * algo ** size * imp ** + +- let makewhatis(8) follow symbolic links to dirs below READ_ALLOWED_PATH + this may be feasible using fts_set(FTS_FOLLOW) + mail to sternenseemann 19 Aug 2021 19:11:50 +0200 + loc * exist ** algo ** size * imp ** + +- -T man does not handle eqn(7) and tbl(7) + Stephen Gregoratto 16 Feb 2020 01:28:07 +1100 + also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901636 + loc ** exist ** algo ** size *** imp ** + - man -ks 1,8 route; kn@ Jul 13, 2018 orally - italic correction (\/) in PostScript mode @@ -291,6 +381,10 @@ are mere guesses, and some may be wrong. - check features of the Slackware man.conf(5) format Carsten Kunze Wed, 11 Mar 2015 17:57:24 +0100 +- look at http://www.snake.net/software/troffcvt/ (troff to HTML) + mentioned by Oliver Corff 22 Jan 2021 01:36:49 +0100 + + ************************************************************************ * formatting issues: ugly output ************************************************************************ @@ -370,10 +464,29 @@ are mere guesses, and some may be wrong. add a new <</Type /Font>> block to the PDF files with /BaseFont /Courier and change the /Name from /F0 to the new font (/F5 (?)). re-reported by tb@ Mon, 16 Mar 2015 16:47:21 +0100 - loc * exist ** algo ** size * imp ** + loc ** exist ** algo ** size * imp ** --- HTML issues -------------------------------------------------------- +- make the HTML scaffolding customozable with -O skip=... + mail to Oliver Corff 3 Jun 2021 17:28:02 +0200 + more feedback from Oliver 3 Jun 2021 18:27:56 +0200 + more feedback from Oliver 3 Jun 2021 23:37:18 +0200 + +- .Bd -unfilled should not use monospaced font + anton@ 4 Mar 2021 08:19:35 +0100 + loc ** exist * algo * size * imp ** + +- HTML formatting of .nf should avoid <br/> + and not close and re-open <pre> on .P + my mail to ports@ 27 Jun 2021 16:09:20 +0200 + loc ** exist ** algo * size * imp ** + +- get rid of the last handful of style= attributes such that + Content-Security-Policy: can be enabled without unsafe-inline + suggested by bentley@ Nov 10, 2019 at 06:02:49AM -0700 + loc * exist * algo * size * imp ** + - .Bf at the beginning of a paragraph inserts a bogus 1ex horizontal space, see for example random(3). Introduced in http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_html.c.diff?r1=1.91&r2=1.92 @@ -386,6 +499,11 @@ are mere guesses, and some may be wrong. https://github.com/Debian/debiman/issues/15 loc * exist * algo ** size ** imp ** +- space characters can end up in href= attributes, for example coming + from the first .Xr argument (where they make no sense, but still); + does this affect other characters, other source macros...? + Jackson Pauls 29 Aug 2017 16:56:27 +0100 + - 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... @@ -470,6 +588,10 @@ are mere guesses, and some may be wrong. * warning issues ************************************************************************ +- shorten/simplify error messages for usage errors + To: deraadt@ 25 Oct 2020 23:37:01 +0100 + loc ** exist * algo * size ** imp *** + - warn about duplicate .Sh/.Ss heads gre(4): Rename duplicate sections 20 Apr 2018 15:27:33 +0200 loc * exist * algo * size * imp ** @@ -505,6 +627,10 @@ are mere guesses, and some may be wrong. output without intervening whitespace, in particular after a macro line (from the mdoclint TODO) +- report double .TH in man(7) as an ERROR and let the first win + kristaps@ 28 Mar 2021 13:30:41 +0200 + loc * exist * algo * size * imp * + - makewhatis -p complains about language subdirectories: /usr/local/man//ru: Unknown directory part @@ -553,6 +679,9 @@ are mere guesses, and some may be wrong. * CGI issues ************************************************************************ + - Inspect httpd(8) logs on man.openbsd.org and consider + whether logging can be improved, where bad syntax comes from, + and what needs to be done to get rid of COMPAT_OLDURI. - Enable HTTP compression by detecting gzip encoding and filtering output through libz. - Privilege separation (see OpenSSH). @@ -562,6 +691,15 @@ are mere guesses, and some may be wrong. * to improve in the groff_mdoc(7) macros ************************************************************************ +- delete OS release verification from .Dx, .Fx, .Nx, .Ox etc. + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629161 + also Branden Robinson 18 Dec 2019 00:59:52 +1100 + +- Can the distinction between .Vt and .Va be made stricter, + recommending .Vt extern char * Ns Va optarg ; ? + What about the block macro properties of .Vt in the SYNOPSIS? + zeurkous 25 Dec 2019 08:48:36 +0100 + - .Cd # arch1, arch2 in section 4 pages: find better way to indicate multiple architectures, maybe: allow .Dt vgafb 4 "macppc sparc64" diff --git a/contrib/mandoc/apropos.1 b/contrib/mandoc/apropos.1 index 01d2a6bfa4f4..9129ae31f126 100644 --- a/contrib/mandoc/apropos.1 +++ b/contrib/mandoc/apropos.1 @@ -1,4 +1,4 @@ -.\" $Id: apropos.1,v 1.49 2018/11/22 12:33:52 schwarze Exp $ +.\" $Id: apropos.1,v 1.51 2020/10/01 22:50:00 schwarze Exp $ .\" .\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> .\" Copyright (c) 2011,2012,2014,2017,2018 Ingo Schwarze <schwarze@openbsd.org> @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: November 22 2018 $ +.Dd $Mdocdate: October 1 2020 $ .Dt APROPOS 1 .Os .Sh NAME @@ -73,7 +73,7 @@ would. If the standard output is a terminal device and .Fl c is not specified, use -.Xr more 1 +.Xr less 1 to paginate them. In .Fl a @@ -340,7 +340,7 @@ types appearing in function arguments in the SYNOPSIS Any non-empty value of the environment variable .Ev MANPAGER is used instead of the standard pagination program, -.Xr more 1 ; +.Xr less 1 ; see .Xr man 1 for details. @@ -363,8 +363,7 @@ Specifies the pagination program to use when .Ev MANPAGER is not defined. If neither PAGER nor MANPAGER is defined, -.Xr more 1 -.Fl s +.Xr less 1 is used. Only used if .Fl a @@ -404,6 +403,10 @@ Search in names and descriptions using a case-sensitive regular expression: .Pp .Dl $ apropos \(aq\(tiset.?[ug]id\(aq .Pp +Search for all manual pages in a given section: +.Pp +.Dl $ apropos \-s 9 \&. +.Pp Search for manuals in the library section mentioning both the .Qq optind and the diff --git a/contrib/mandoc/arch.c b/contrib/mandoc/arch.c index 551c86796a21..41a23cbbc32b 100644 --- a/contrib/mandoc/arch.c *** 14470 LINES SKIPPED ***