summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2025-08-22 08:13:55 +0300
committerDirk-Jan C. Binnema <djcb@djcbsoftware.nl>2025-08-22 08:13:55 +0300
commit6b89f4abae0a4606a2fbbd4bf71d82c9dd3f52c6 (patch)
tree2d3b450168a374310771ff0df990f73be042c75f
parent3b7e5507f71d074ff12fd74b154749f49fb29653 (diff)
scm: message_parts: use cons instead of append
It's faster.
-rw-r--r--scm/mu-scm-message.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/scm/mu-scm-message.cc b/scm/mu-scm-message.cc
index 7c54bed..c60ef8b 100644
--- a/scm/mu-scm-message.cc
+++ b/scm/mu-scm-message.cc
@@ -171,14 +171,13 @@ subr_cc_message_parts(SCM message_scm) try {
auto mime_part{GMIME_PART(part.mime_object().object())};
SCM mime_part_scm{to_scm(mime_part)};
SCM alist_scm{to_scm(idx, parts[idx])};
+ SCM item{scm_cons(mime_part_scm, alist_scm)};
- parts_scm = scm_append_x(
- scm_list_2(parts_scm,
- scm_list_1(
- scm_cons(mime_part_scm, alist_scm))));
+ parts_scm = scm_cons(item, parts_scm);
}
- return parts_scm;
+ return scm_reverse_x(parts_scm, SCM_EOL);
+
} catch (const ScmError& err) {
err.throw_scm();