summaryrefslogtreecommitdiff
path: root/index.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-03-30 19:32:00 +0000
committerSimon Tatham <anakin@pobox.com>2004-03-30 19:32:00 +0000
commit4265ea15b41a4f1ff299932ff55797c7b7641e7f (patch)
tree1979e93daea1fe88128921030df9dd054fab7337 /index.c
parentc1469440142291402d5a77a4613c07f841bb3157 (diff)
downloadhalibut-4265ea15b41a4f1ff299932ff55797c7b7641e7f.zip
halibut-4265ea15b41a4f1ff299932ff55797c7b7641e7f.tar.gz
halibut-4265ea15b41a4f1ff299932ff55797c7b7641e7f.tar.bz2
halibut-4265ea15b41a4f1ff299932ff55797c7b7641e7f.tar.xz
I always meant to remove emphasis in the index by default. Now I do
so. It's restorable using \IM. [originally from svn r4000]
Diffstat (limited to 'index.c')
-rw-r--r--index.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/index.c b/index.c
index 3b1df51..c312f07 100644
--- a/index.c
+++ b/index.c
@@ -61,6 +61,24 @@ void index_merge(indexdata *idx, int is_explicit, wchar_t *tags, word *text) {
indextag *t, *existing;
/*
+ * For an implicit merge, we want to remove all emphasis,
+ * because the chances are that the user didn't really want to
+ * index the term as emphasised.
+ */
+ {
+ word *w;
+
+ for (w = text; w; w = w->next) {
+ if (w->type == word_Emph)
+ w->type = word_Normal;
+ else if (w->type == word_EmphSpace)
+ w->type = word_WhiteSpace;
+ else if (w->type == word_EmphQuote)
+ w->type = word_Quote;
+ }
+ }
+
+ /*
* FIXME: want to warn on overlapping source sets.
*/
for (; *tags; tags = uadv(tags)) {