about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2025-03-10 01:28:27 +0000
committerArun Isaac2025-03-10 01:39:10 +0000
commitda901d6d200f12cbe3c2a8a6e6fb730f77354a29 (patch)
tree240ec78b9cba6dab4ed309e514989a5e5435a414
parentee3c6154ebe84307d68a3248873c0a468f258771 (diff)
downloadguile-xapian-da901d6d200f12cbe3c2a8a6e6fb730f77354a29.tar.gz
guile-xapian-da901d6d200f12cbe3c2a8a6e6fb730f77354a29.tar.lz
guile-xapian-da901d6d200f12cbe3c2a8a6e6fb730f77354a29.zip
xapian: Preserve order of queries when combining them.
The order is important for operations such as OP_FILTER.

* xapian/xapian.scm (query-combine): Preserve order of queries.
-rw-r--r--xapian/xapian.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/xapian/xapian.scm b/xapian/xapian.scm
index 64042a2..1d7c961 100644
--- a/xapian/xapian.scm
+++ b/xapian/xapian.scm
@@ -259,9 +259,9 @@ on the database object."
   (new-Query term))
 
 (define (query-combine combine-operator default . queries)
-  (reduce (cut new-Query combine-operator <> <>)
-          default
-          queries))
+  (reduce-right (cut new-Query combine-operator <> <>)
+                default
+                queries))
 
 (define (query-and . queries)
   "Return a query matching only documents matching all @var{queries}.