diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2018-11-22 11:30:23 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2018-11-22 11:30:23 +0000 |
commit | 8653551cb202b50a668483cb155c4c8272808ae8 (patch) | |
tree | 68b96cfc6b1fe47c01660e8da7930c6cb832b808 /tag.c | |
parent | 059327df544eda5a4e78c14f33c6e503ff784296 (diff) | |
download | mandoc-8653551cb202b50a668483cb155c4c8272808ae8.tar.gz mandoc-8653551cb202b50a668483cb155c4c8272808ae8.tar.zst mandoc-8653551cb202b50a668483cb155c4c8272808ae8.zip |
In -T locale (the default), -T ascii, and -T utf8 mode, provide a new
output option -O tag[=term] to move right to the definition of "term" when
opening the manual page in a pager, effectively porting the -T html
fragment name feature - https://man.openbsd.org/ksh#ulimit - to the
terminal. Try:
$ man -O tag uvm_sysctl
$ man -O tag=ulimit ksh
$ man -O tag 3 compress
Feature development triggered by a question from kn@. Klemens also
tested, provided feedback that resulted in improvements, and provided
an OK.
Diffstat (limited to 'tag.c')
-rw-r--r-- | tag.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: tag.c,v 1.20 2018/10/23 20:42:37 schwarze Exp $ */ +/* $Id: tag.c,v 1.21 2018/11/22 11:30:23 schwarze Exp $ */ /* * Copyright (c) 2015, 2016, 2018 Ingo Schwarze <schwarze@openbsd.org> * @@ -18,6 +18,9 @@ #include <sys/types.h> +#if HAVE_ERR +#include <err.h> +#endif #include <limits.h> #include <signal.h> #include <stddef.h> @@ -216,6 +219,11 @@ tag_write(void) if (tag_files.tfd <= 0) return; + if (tag_files.tagname != NULL && ohash_find(&tag_data, + ohash_qlookup(&tag_data, tag_files.tagname)) == NULL) { + warnx("%s: no such tag", tag_files.tagname); + tag_files.tagname = NULL; + } stream = fdopen(tag_files.tfd, "w"); entry = ohash_first(&tag_data, &slot); while (entry != NULL) { |