aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--apropos.14
-rw-r--r--mandocdb.c15
-rw-r--r--mansearch.h85
-rw-r--r--mansearch_const.c17
4 files changed, 64 insertions, 57 deletions
diff --git a/apropos.1 b/apropos.1
index bdbb9aa4..165a676a 100644
--- a/apropos.1
+++ b/apropos.1
@@ -1,6 +1,7 @@
-.\" $Id: apropos.1,v 1.24 2014/04/04 15:51:28 schwarze Exp $
+.\" $Id: apropos.1,v 1.25 2014/04/04 15:55:19 schwarze Exp $
.\"
.\" Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
+.\" Copyright (c) 2011, 2012, 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
@@ -195,6 +196,7 @@ may be used to match any available macro key.
.Pp
Names and description:
.Bl -column "xLix" description -offset indent -compact
+.It Li NAME Ta manual name in the NAME section, subset of \&Nm
.It Li \&Nm Ta manual name
.It Li \&Nd Ta one-line manual description
.It Li arch Ta machine architecture (case-insensitive)
diff --git a/mandocdb.c b/mandocdb.c
index a054ffc9..40f673fe 100644
--- a/mandocdb.c
+++ b/mandocdb.c
@@ -1,4 +1,4 @@
-/* $Id: mandocdb.c,v 1.128 2014/04/04 02:31:07 schwarze Exp $ */
+/* $Id: mandocdb.c,v 1.129 2014/04/04 15:55:19 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -224,7 +224,7 @@ static const struct mdoc_handler mdocs[MDOC_MAX] = {
{ NULL, TYPE_In }, /* In */
{ NULL, TYPE_Li }, /* Li */
{ parse_mdoc_Nd, TYPE_Nd }, /* Nd */
- { parse_mdoc_Nm, TYPE_Nm }, /* Nm */
+ { parse_mdoc_Nm, 0 }, /* Nm */
{ NULL, 0 }, /* Op */
{ NULL, 0 }, /* Ot */
{ NULL, TYPE_Pa }, /* Pa */
@@ -1397,7 +1397,7 @@ parse_man(struct mpage *mpage, const struct man_node *n)
('\\' == start[0] && '-' == start[1]))
break;
- putkey(mpage, start, TYPE_Nm);
+ putkey(mpage, start, TYPE_NAME | TYPE_Nm);
if (' ' == byte) {
start += sz + 1;
@@ -1411,7 +1411,7 @@ parse_man(struct mpage *mpage, const struct man_node *n)
}
if (start == title) {
- putkey(mpage, start, TYPE_Nm);
+ putkey(mpage, start, TYPE_NAME | TYPE_Nm);
free(title);
return;
}
@@ -1588,8 +1588,11 @@ static int
parse_mdoc_Nm(struct mpage *mpage, const struct mdoc_node *n)
{
- return(SEC_NAME == n->sec ||
- (SEC_SYNOPSIS == n->sec && MDOC_HEAD == n->type));
+ if (SEC_NAME == n->sec)
+ putmdockey(mpage, n->child, TYPE_NAME | TYPE_Nm);
+ else if (SEC_SYNOPSIS == n->sec && MDOC_HEAD == n->type)
+ putmdockey(mpage, n->child, TYPE_Nm);
+ return(0);
}
static int
diff --git a/mansearch.h b/mansearch.h
index f779c301..78c69c99 100644
--- a/mansearch.h
+++ b/mansearch.h
@@ -1,7 +1,7 @@
-/* $Id: mansearch.h,v 1.9 2014/01/18 08:23:55 schwarze Exp $ */
+/* $Id: mansearch.h,v 1.10 2014/04/04 15:55:19 schwarze Exp $ */
/*
* Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2013 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 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
@@ -20,46 +20,47 @@
#define MANDOC_DB "mandoc.db"
-#define TYPE_Nm 0x0000000000000001ULL
-#define TYPE_Nd 0x0000000000000002ULL
-#define TYPE_arch 0x0000000000000004ULL
-#define TYPE_sec 0x0000000000000008ULL
-#define TYPE_Xr 0x0000000000000010ULL
-#define TYPE_Ar 0x0000000000000020ULL
-#define TYPE_Fa 0x0000000000000040ULL
-#define TYPE_Fl 0x0000000000000080ULL
-#define TYPE_Dv 0x0000000000000100ULL
-#define TYPE_Fn 0x0000000000000200ULL
-#define TYPE_Ic 0x0000000000000400ULL
-#define TYPE_Pa 0x0000000000000800ULL
-#define TYPE_Cm 0x0000000000001000ULL
-#define TYPE_Li 0x0000000000002000ULL
-#define TYPE_Em 0x0000000000004000ULL
-#define TYPE_Cd 0x0000000000008000ULL
-#define TYPE_Va 0x0000000000010000ULL
-#define TYPE_Ft 0x0000000000020000ULL
-#define TYPE_Tn 0x0000000000040000ULL
-#define TYPE_Er 0x0000000000080000ULL
-#define TYPE_Ev 0x0000000000100000ULL
-#define TYPE_Sy 0x0000000000200000ULL
-#define TYPE_Sh 0x0000000000400000ULL
-#define TYPE_In 0x0000000000800000ULL
-#define TYPE_Ss 0x0000000001000000ULL
-#define TYPE_Ox 0x0000000002000000ULL
-#define TYPE_An 0x0000000004000000ULL
-#define TYPE_Mt 0x0000000008000000ULL
-#define TYPE_St 0x0000000010000000ULL
-#define TYPE_Bx 0x0000000020000000ULL
-#define TYPE_At 0x0000000040000000ULL
-#define TYPE_Nx 0x0000000080000000ULL
-#define TYPE_Fx 0x0000000100000000ULL
-#define TYPE_Lk 0x0000000200000000ULL
-#define TYPE_Ms 0x0000000400000000ULL
-#define TYPE_Bsx 0x0000000800000000ULL
-#define TYPE_Dx 0x0000001000000000ULL
-#define TYPE_Rs 0x0000002000000000ULL
-#define TYPE_Vt 0x0000004000000000ULL
-#define TYPE_Lb 0x0000008000000000ULL
+#define TYPE_NAME 0x0000000000000001ULL
+#define TYPE_Nm 0x0000000000000002ULL
+#define TYPE_Nd 0x0000000000000004ULL
+#define TYPE_arch 0x0000000000000008ULL
+#define TYPE_sec 0x0000000000000010ULL
+#define TYPE_Xr 0x0000000000000020ULL
+#define TYPE_Ar 0x0000000000000040ULL
+#define TYPE_Fa 0x0000000000000080ULL
+#define TYPE_Fl 0x0000000000000100ULL
+#define TYPE_Dv 0x0000000000000200ULL
+#define TYPE_Fn 0x0000000000000400ULL
+#define TYPE_Ic 0x0000000000000800ULL
+#define TYPE_Pa 0x0000000000001000ULL
+#define TYPE_Cm 0x0000000000002000ULL
+#define TYPE_Li 0x0000000000004000ULL
+#define TYPE_Em 0x0000000000008000ULL
+#define TYPE_Cd 0x0000000000010000ULL
+#define TYPE_Va 0x0000000000020000ULL
+#define TYPE_Ft 0x0000000000040000ULL
+#define TYPE_Tn 0x0000000000080000ULL
+#define TYPE_Er 0x0000000000100000ULL
+#define TYPE_Ev 0x0000000000200000ULL
+#define TYPE_Sy 0x0000000000400000ULL
+#define TYPE_Sh 0x0000000000800000ULL
+#define TYPE_In 0x0000000001000000ULL
+#define TYPE_Ss 0x0000000002000000ULL
+#define TYPE_Ox 0x0000000004000000ULL
+#define TYPE_An 0x0000000008000000ULL
+#define TYPE_Mt 0x0000000010000000ULL
+#define TYPE_St 0x0000000020000000ULL
+#define TYPE_Bx 0x0000000040000000ULL
+#define TYPE_At 0x0000000080000000ULL
+#define TYPE_Nx 0x0000000100000000ULL
+#define TYPE_Fx 0x0000000200000000ULL
+#define TYPE_Lk 0x0000000400000000ULL
+#define TYPE_Ms 0x0000000800000000ULL
+#define TYPE_Bsx 0x0000001000000000ULL
+#define TYPE_Dx 0x0000002000000000ULL
+#define TYPE_Rs 0x0000004000000000ULL
+#define TYPE_Vt 0x0000008000000000ULL
+#define TYPE_Lb 0x0000010000000000ULL
__BEGIN_DECLS
diff --git a/mansearch_const.c b/mansearch_const.c
index b4d47200..12d10b2a 100644
--- a/mansearch_const.c
+++ b/mansearch_const.c
@@ -1,4 +1,4 @@
-/* $Id: mansearch_const.c,v 1.1 2014/01/19 00:09:38 schwarze Exp $ */
+/* $Id: mansearch_const.c,v 1.2 2014/04/04 15:55:19 schwarze Exp $ */
/*
* Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
*
@@ -20,12 +20,13 @@
#include "manpath.h"
#include "mansearch.h"
-const int mansearch_keymax = 40;
+const int mansearch_keymax = 41;
-const char *const mansearch_keynames[40] = {
- "Nm", "Nd", "arch", "sec", "Xr", "Ar", "Fa", "Fl",
- "Dv", "Fn", "Ic", "Pa", "Cm", "Li", "Em", "Cd",
- "Va", "Ft", "Tn", "Er", "Ev", "Sy", "Sh", "In",
- "Ss", "Ox", "An", "Mt", "St", "Bx", "At", "Nx",
- "Fx", "Lk", "Ms", "Bsx", "Dx", "Rs", "Vt", "Lb"
+const char *const mansearch_keynames[41] = {
+ "NAME", "Nm", "Nd", "arch", "sec", "Xr", "Ar", "Fa",
+ "Fl", "Dv", "Fn", "Ic", "Pa", "Cm", "Li", "Em",
+ "Cd", "Va", "Ft", "Tn", "Er", "Ev", "Sy", "Sh",
+ "In", "Ss", "Ox", "An", "Mt", "St", "Bx", "At",
+ "Nx", "Fx", "Lk", "Ms", "Bsx", "Dx", "Rs", "Vt",
+ "Lb"
};