diff options
| author | Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> | 2025-08-22 08:08:32 +0300 |
|---|---|---|
| committer | Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> | 2025-08-22 08:08:32 +0300 |
| commit | 3b7e5507f71d074ff12fd74b154749f49fb29653 (patch) | |
| tree | 60daa62f518f735613ec1966df719f1722f99ea6 /scm | |
| parent | c207921cfa261f84ebd04dccc417a7cc61465c51 (diff) | |
scm: to_scm: use cons, not append
It's faster.
Diffstat (limited to 'scm')
| -rw-r--r-- | scm/mu-scm.hh | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/scm/mu-scm.hh b/scm/mu-scm.hh index 02a9cb9..1d4776c 100644 --- a/scm/mu-scm.hh +++ b/scm/mu-scm.hh @@ -223,9 +223,8 @@ namespace Mu::Scm { return scm_from_utf8_string(val); else if constexpr (std::is_same_v<Type, std::vector<std::string>>) { SCM lst{SCM_EOL}; - for (const auto& s: val) - lst = scm_append_x(scm_list_2(lst, - scm_list_1(to_scm(s)))); + for (auto it = val.end(); it-- != val.begin();) + lst = scm_cons(to_scm(*it), lst); return lst; } else if constexpr (std::is_same_v<Type, bool>) |
