From 0ee49f9b8ca71c1cd64d9c14672e0684d8b872e5 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Tue, 23 Aug 2022 22:25:01 +0300 Subject: [PATCH] guile: define_vars: define for both name and alias Scripts seem to depend on both. --- guile/mu-guile-message.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/guile/mu-guile-message.cc b/guile/mu-guile-message.cc index 2d0bb5e3..184bd912 100644 --- a/guile/mu-guile-message.cc +++ b/guile/mu-guile-message.cc @@ -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 */