diff --git a/src/query/reslistpager.cpp b/src/query/reslistpager.cpp
index 59a6a09e..2fc26fd1 100644
--- a/src/query/reslistpager.cpp
+++ b/src/query/reslistpager.cpp
@@ -238,7 +238,7 @@ void ResListPager::displayDoc(RclConfig *config,
chunk << "
";
// Configurable stuff
- map subs;
+ map subs;
subs["A"] = !richabst.empty() ? richabst : "";
subs["D"] = datebuf;
subs["I"] = iconurl;
@@ -254,8 +254,12 @@ void ResListPager::displayDoc(RclConfig *config,
subs["t"] = escapeHtml(doc.meta[Rcl::Doc::keytt]);
subs["U"] = url;
- // Let %(xx) access all metadata.
- subs.insert(doc.meta.begin(), doc.meta.end());
+ // Let %(xx) access all metadata. HTML-neuter everything:
+ for (map::iterator it = doc.meta.begin();
+ it != doc.meta.end(); it++) {
+ if (!it->first.empty())
+ subs[it->first] = escapeHtml(it->second);
+ }
string formatted;
pcSubst(parFormat(), formatted, subs);