diff --git a/src/util/order_cache.hpp b/src/util/order_cache.hpp index d971437e..1c9659f4 100644 --- a/src/util/order_cache.hpp +++ b/src/util/order_cache.hpp @@ -47,7 +47,7 @@ struct OrderCache::CompareValues { CompareValues(const vector& values) : values(values) {} inline bool operator () (const KV& a, const KV& b) { - return values[a.second] < values[b.second]; + return smart_less(values[a.second], values[b.second]); } }; diff --git a/src/util/string.cpp b/src/util/string.cpp index bfac4869..310e02f0 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -221,6 +221,7 @@ bool smart_less(const String& as, const String& bs) { return lt; } else { // compare characters + // TODO: decompose characters, in particular AE and accents Char la = toLower(a), lb = toLower(b); if (la < lb) return true; if (la > lb) return false;