guile: define_vars: define for both name and alias

Scripts seem to depend on both.
This commit is contained in:
Dirk-Jan C. Binnema 2022-08-23 22:25:01 +03:00
parent 906f0910a2
commit 0ee49f9b8c
1 changed files with 12 additions and 4 deletions

View File

@ -444,10 +444,18 @@ static void
define_vars(void)
{
field_for_each([](auto&& field){
const auto name{"mu:field:" +
std::string{field.alias.empty() ? field.name : field.alias}};
scm_c_define(name.c_str(), scm_from_uint(field.value_no()));
scm_c_export(name.c_str(), NULL);
auto defvar = [&](auto&& fname, auto&& ffield) {
const auto name{"mu:field:" + std::string{fname}};
scm_c_define(name.c_str(), scm_from_uint(field.value_no()));
scm_c_export(name.c_str(), NULL);
};
// define for both name and (if exists) alias.
if (!field.name.empty())
defvar(field.name, field);
if (!field.alias.empty())
defvar(field.alias, field);
});
/* non-Xapian field: timestamp */