diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index 5e6c10c27b..e943a4141e 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -632,19 +632,21 @@ class ResultCache(SearchQueryParser): q = '' if not ignore_search_restriction: q = self.search_restriction - elif not ignore_search_restriction: - q = u'%s (%s)' % (self.search_restriction, query) + else: + if ignore_search_restriction: + q = u'%s' % query + else: + q = u'%s (%s)' % (self.search_restriction, query) if not q: if return_matches: return list(self._map) # when return_matches, do not update the maps! self._map_filtered = list(self._map) - return [] + return matches = sorted(self.parse(q)) ans = [id for id in self._map if id in matches] if return_matches: return ans self._map_filtered = ans - return [] def set_search_restriction(self, s): self.search_restriction = s