summaryrefslogtreecommitdiff
path: root/sphinx
diff options
context:
space:
mode:
authorJonathan Waltman <jonathan.waltman@gmail.com>2013-02-19 03:42:50 -0600
committerJonathan Waltman <jonathan.waltman@gmail.com>2013-02-19 03:42:50 -0600
commit25cc0109aa0dd94a2fad9e83f97605f189aa09c7 (patch)
tree75b800d0bd3dec6eafd4f3c31c1ae0a887aebe54 /sphinx
parenta8d8535fa855290aed3126ec4bc404fc8b769b14 (diff)
downloadsphinx-25cc0109aa0dd94a2fad9e83f97605f189aa09c7.tar.gz
Closes #1074: Add environment version info to the generated search index to avoid compatibility issues.
Diffstat (limited to 'sphinx')
-rw-r--r--sphinx/search/__init__.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/sphinx/search/__init__.py b/sphinx/search/__init__.py
index fddbcb65..5f64495b 100644
--- a/sphinx/search/__init__.py
+++ b/sphinx/search/__init__.py
@@ -191,7 +191,8 @@ class IndexBuilder(object):
format = self.formats[format]
frozen = format.load(stream)
# if an old index is present, we treat it as not existing.
- if not isinstance(frozen, dict):
+ if not isinstance(frozen, dict) or \
+ frozen.get('envversion') != self.env.version:
raise ValueError('old format')
index2fn = frozen['filenames']
self._titles = dict(zip(index2fn, frozen['titles']))
@@ -275,7 +276,7 @@ class IndexBuilder(object):
objnames = self._objnames
return dict(filenames=filenames, titles=titles, terms=terms,
objects=objects, objtypes=objtypes, objnames=objnames,
- titleterms=title_terms)
+ titleterms=title_terms, envversion=self.env.version)
def prune(self, filenames):
"""Remove data for all filenames not in the list."""