Closes #1074: Add environment version info to the generated search index to avoid compatibility issues.

This commit is contained in:
Jonathan Waltman
2013-02-19 03:42:50 -06:00
parent e3a27b76f2
commit a37e4d2afd
2 changed files with 6 additions and 2 deletions

View File

@@ -1,6 +1,9 @@
Release 1.2 (in development) Release 1.2 (in development)
============================ ============================
* #1074: Add environment version info to the generated search index to avoid
compatibility issues with old builds.
* #1110: Added a new configuration value :confval:`texinfo_no_detailmenu` for * #1110: Added a new configuration value :confval:`texinfo_no_detailmenu` for
controlling whether the Texinfo writer generates a ``@detailmenu`` in the controlling whether the Texinfo writer generates a ``@detailmenu`` in the
"Top" node's menu. "Top" node's menu.

View File

@@ -191,7 +191,8 @@ class IndexBuilder(object):
format = self.formats[format] format = self.formats[format]
frozen = format.load(stream) frozen = format.load(stream)
# if an old index is present, we treat it as not existing. # 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') raise ValueError('old format')
index2fn = frozen['filenames'] index2fn = frozen['filenames']
self._titles = dict(zip(index2fn, frozen['titles'])) self._titles = dict(zip(index2fn, frozen['titles']))
@@ -275,7 +276,7 @@ class IndexBuilder(object):
objnames = self._objnames objnames = self._objnames
return dict(filenames=filenames, titles=titles, terms=terms, return dict(filenames=filenames, titles=titles, terms=terms,
objects=objects, objtypes=objtypes, objnames=objnames, objects=objects, objtypes=objtypes, objnames=objnames,
titleterms=title_terms) titleterms=title_terms, envversion=self.env.version)
def prune(self, filenames): def prune(self, filenames):
"""Remove data for all filenames not in the list.""" """Remove data for all filenames not in the list."""