Commit Graph

166 Commits

Author SHA1 Message Date
christos 751d5fc660 PR/51004: Abhinav Upadhyay: apropos html mode doesn't handle especial
characters in the short description
2016-03-24 16:07:13 +00:00
christos 533b5973e2 PR/50460: Abhinav Upadhyay: Fix legacy apropos query to match both the name
and the one line description and delete extra args.
2016-03-20 17:31:09 +00:00
christos 91708124b8 Don't crash if we have a missing section. 2016-01-28 03:32:29 +00:00
christos f8250039db if we only asked for stopwords, use the original query. 2015-12-20 19:45:29 +00:00
christos 0f635f7225 Adjust to the new mdocml 2015-12-18 14:30:16 +00:00
christos 48e922c8f8 CID 1341551: Don't bother formatting if ti == NULL 2015-12-03 21:01:50 +00:00
christos 62025e09ce PR/50344: Stephen Fisher: apropos shows formatting on console with vt100 term
type. Can't print terminfo sequences directly; need to process them with
ti_puts() to handle padding. This removes the padding delays, and stricly
could break on slow terminal hardware, but they way the code is structured
makes it impossible to fix properly (since the formatting strings are
passed in the query).
XXX: pullup-7
2015-11-23 22:34:00 +00:00
plunky 877e528c4e largely apply patch from PR bin/47392 by Abhinav Upadhyay
change some comments to reflect reality, a variable name to enhance
readability, and adds an assert for safety.
2015-04-07 17:47:10 +00:00
joerg a23fab26e8 MDOC_MAX is a valid token if the type is text. Adjust. 2015-03-12 14:57:18 +00:00
christos 704de17457 - handle section numbers that are not single digits
- don't allocate and free needlessly
2015-03-04 02:02:15 +00:00
christos ce5cbf49e1 mention that this replaces makewhatis(8) 2015-03-03 18:04:33 +00:00
joerg 5a02bfcb09 Explicitly deal with end of lists. PR 49708. 2015-03-02 13:51:24 +00:00
snj 6f0923dea4 Thankfully, apropos returns all results by default these days. Remove
outdated sentence referring to the original (well, old new) limit of 10.
2014-11-04 08:05:21 +00:00
snj f0a7346d21 src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
2014-10-18 08:33:23 +00:00
wiz fc7115c3f4 Fix an off by one bug in apropos.
The bug is in the html output where some garbage characters are
seen in the context match output.

From Abhinav Upadhyay in PR 49058.
2014-08-01 12:55:00 +00:00
wiz 82d04f72be Fix a bug that caused an error about a UNIQUE constraint violation.
Patch from Abhinav Upadhyay.
2014-06-03 14:42:41 +00:00
wiz 6dc3f341a8 Replace non-breaking space with hyphen, and call hyphen replacement
from one more place.
Improves 'man -k midi' output.

From Abhinav Upadhyay.
2014-05-24 21:01:58 +00:00
chs 49d6a7c368 in update_db(), extract the full list of files to update from the db
before actually updating anything, since changing the db while the query
that extracts the list of files is still in progress results in
the extraction query failing before it finds everything.
2014-02-10 00:23:36 +00:00
joerg 12f8f2b852 Sync with interface change in mdocml 1.12.3. 2014-01-05 19:26:44 +00:00
wiz 4a591a0994 Wording improvements from Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com> 2013-11-29 23:58:23 +00:00
wiz 0f54719895 Skip files of size 0 from indexing.
From Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com>.
2013-11-13 18:46:33 +00:00
christos 9eea140044 avoid stdio assertion, failing later 2013-05-15 00:35:02 +00:00
wiz d347f34bdd Bump date. 2013-04-02 18:35:28 +00:00
christos 910ecac4db instead of having a format and no format flag, and exposing various formatters,
provide a format enum and expose html formatting too.
2013-04-02 17:16:50 +00:00
wiz 862b7a4cdd Sync usage with man page. 2013-03-29 21:39:16 +00:00
wiz d70358d69a Use Ev for environment variables. Improve -n description. 2013-03-29 21:39:09 +00:00
christos 82fc5158a9 fix legacy mode in pager filter. (don't ul format if we are not formatting). 2013-03-29 20:46:07 +00:00
christos 2b42c8b2ee - Fix legacy mode to use like instead of match. This loses ranking.
- default to unlimited lines
- fix formatting of legacy mode
2013-03-29 20:37:00 +00:00
christos bc93b1e8f9 Don't enumerate all the digit sections
Explain limitations in legacy mode
2013-03-29 20:17:19 +00:00
christos cb0641eb5a - If the stdout is not a tty, prevent formatting unless forced with -i
- Don't ever page unless asked for with -p
- Introduce "legacy mode" (-l)
  1. searches only name and name_desc, prints name(section) - name_description
  2. turns off escape formatting (can be forced on with -i)
  3. turns off context printing (can be forced on with -c)
- Parse the environment $APROPOS variable as an argument vector.

With these changes one can simply 'export APROPOS=-l' and get the old apropos
behavior.
2013-03-29 20:07:31 +00:00
christos 9d0d34e51f add -r flag to elide tty formatting 2013-02-10 23:58:27 +00:00
christos 9d8fe63b1b remove trailing whitespace 2013-02-10 23:24:18 +00:00
christos 6265ee0d3c - move the terminal handling in apropos-utils.c since htmp and pager are also
handled there.
- underline the name, section, and description so that it is prettier.
- change to bold terminal the terminal highlighting to match with less
2013-01-14 21:26:25 +00:00
christos ee0ec621f0 Fix the #ifdef NOTYET, namely use the terminal standout mode to highlight the
search terms.
2013-01-14 18:04:58 +00:00
christos cc03b84d06 Since mdocml decided to name headers that conflict with system ones (term.h)
move the header inclusion one up.
2013-01-14 18:01:59 +00:00
christos 98f3134321 If you cannot parse .SH NAME, like in the case of the ksh93 man page
where the .SH is followed by a conditional:

.SH NAME
.if \nZ=0 \{\
text text text
.\}

at least don't core-dump.
2012-11-08 19:17:54 +00:00
wiz b1203a9851 Make mandb path configurable. makemandb (and related tools) use
the path from the _mandb variable from man.conf now.

Set _mandb in man.conf to same value as was used before.

From Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com>.
2012-10-06 15:33:59 +00:00
wiz 43eaa46ea3 Use emalloc in one more place, like the rest of the code does.
From Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com>.
2012-09-07 11:29:04 +00:00
wiz ab20ab348a Fix usage, from Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com>. 2012-09-07 11:28:46 +00:00
wiz e93044e5ab Add -Q flag:
Print only fatal error messages (i.e., when the database is left in
an inconsistent state and needs manual intervention).

From Abhinav Upadhyay <er.abhinav.upadhyay@gmail.com>.
2012-08-29 20:33:01 +00:00
wiz 3450e15562 Sync usage with manpage. 2012-08-25 12:37:12 +00:00
wiz 6110b05d8f Sort options in SYNOPSIS. 2012-08-25 12:37:00 +00:00
wiz ae90bf6a58 Bug fix for PR 46733:
> makemandb always reports the same number for "Total Number of new or
 > updated pages enountered" and "Total number of (hard or symbolic)
 > links found".

Patch from Abhinav Upadhyay.
2012-08-11 21:07:13 +00:00
uwe 4b084fb4d9 Fix typo in a message. 2012-07-08 23:18:23 +00:00
joerg 52222de363 KNF 2012-05-10 15:36:09 +00:00
wiz d099c69274 PR 46419 by Abhinav Upadhyay using his updated patch:
Clean up after removing man page aliases.
2012-05-07 11:18:16 +00:00
wiz 66c3a8d39a The new apropos(1) incorrectly displays hyphens in the first line
of the search results for a few man pages (for man(7) based man
pages).

Use patch from Abhinav Upadhyay in PR 46408 to fix this.
2012-05-04 23:50:26 +00:00
wiz 7ee504a202 Sync with reality, From Abhinav Upadhyay in private mail. 2012-04-22 21:29:27 +00:00
wiz 1c81341419 Add HISTORY section. From Abhinav Upadhyay in private mail. 2012-04-22 21:27:07 +00:00
wiz f41e473d4b Handle pages with slashes in their names better.
From Abhinav Upadhyay in private mail.
2012-04-15 15:56:52 +00:00
apb d0663c218f Add the result from sqlite3_errmsg() to some error messages.
Now we can get "apropos: Unable to query schema version: database is locked"
instead of just "apropos: Unable to query schema version".
2012-04-07 10:44:58 +00:00
joerg 51bb6fdd57 Fix inverted condition when handling stale entries.
From Abhinav Upadhyay.
2012-03-02 15:09:58 +00:00
joerg e9d4b22f91 Expand workaround for .so usage to do the chdir call just before
starting parsing, not during the tree iteration. This gives it a chance
to work.
2012-02-27 16:51:06 +00:00
joerg 50a2d17c77 SQLite doesn't use the FTS index for equal ops, so force it to do a FTS
search first. Drops run time by a factor of 6 for "whatis man".
Found by Abhinav Upadhyay.
2012-02-20 18:27:30 +00:00
joerg fdbd00e5b0 Add reference to whatis(1). From Abhinav Upadhyay. 2012-02-20 18:25:51 +00:00
joerg bdc4335e48 Add support for compressed man pages in all the usual formats. 2012-02-16 20:58:55 +00:00
joerg 56cd811802 Add support for apropos -s like in the old apropos. Fix capitalisation.
Add note about optional quotation. From Abhinav Upadhyay.
2012-02-15 23:53:13 +00:00
joerg c701d37453 Also handle hyphen replacement if it was used as plain input and no
backslash sequence was used at all in the line.
2012-02-15 23:36:10 +00:00
joerg 79cdc1651d Be a bit more friendly to man pages using the roff .so command by
changing the current directory to the parent of the man -p entry, e.g.
/usr/share/man for /usr/share/man1.
2012-02-15 23:35:00 +00:00
njoly ca0e389587 Fix makemandb section. 2012-02-10 16:57:44 +00:00
joerg c725fe53d5 Kill bad magic invocation. 2012-02-07 23:03:34 +00:00
joerg ee6ce4b9fa getopt returns int, not char. 2012-02-07 22:59:32 +00:00
wiz 0409c3f975 No leading zeroes in date. 2012-02-07 21:02:33 +00:00
wiz 1507c42b9a No leading zeroes in date. New sentence, new line. 2012-02-07 21:02:23 +00:00
joerg 329b37d502 Fix C&P error with $NetBSD$ 2012-02-07 19:17:16 +00:00
joerg 410d0f4380 Import the new apropos/whatis.
This code has been developed by Abhinav Upadhyay as part of Google's Summer
of Code 2011. It uses libmandoc to parse man pages and builds a Full
Text Index in a SQLite database. The combination of indexing the full
manual page, filtering out stop words and ranking individual matches
based on the section gives a much improved user experience.

The old makewhatis and friends are kept under MKMAKEMANDB=no for now.
2012-02-07 19:13:24 +00:00