From: NeilBrown Date: Sun, 4 Jun 2023 03:41:00 +0000 (+1000) Subject: doc-email: ensure doc:get-boundary skips invisible parts X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=027e3cd2b16ed52271b03c2a3d91d56e2a3c11b5;p=edlib.git doc-email: ensure doc:get-boundary skips invisible parts A boundary must be at the start of a VISIBLE part to be useful. Signed-off-by: NeilBrown --- diff --git a/DOC/TODO.md b/DOC/TODO.md index 5713744d..310e7b24 100644 --- a/DOC/TODO.md +++ b/DOC/TODO.md @@ -9,7 +9,7 @@ the file. ### Trivial -- [ ] If an email part doesn't end with newline, last character is swallowed. +- [X] If an email part doesn't end with newline, last character is swallowed. - [X] What is rule for doc:content? Does the mark move and get passed down, or is it copied and left unchanged? diff --git a/doc-email.c b/doc-email.c index e95d4656..b5428c40 100644 --- a/doc-email.c +++ b/doc-email.c @@ -1117,7 +1117,8 @@ DEF_CMD(email_set_ref) if (!ci->mark) return Enoarg; - home_call(p->parent, ci->key, ci->focus, ci->num, ci->mark, evi->invis); + home_call_comm(p->parent, ci->key, ci->focus, ci->comm2, + ci->num, ci->mark, evi->invis); return 1; } @@ -1316,6 +1317,7 @@ static void email_init_map(void) key_add(email_view_map, "doc:content", &email_content); key_add(email_view_map, "doc:content-bytes", &email_content); key_add(email_view_map, "doc:set-ref", &email_set_ref); + key_add(email_view_map, "doc:get-boundary", &email_set_ref); key_add(email_view_map, "doc:email-step-part", &email_step_part); key_add(email_view_map, "doc:set-attr", &email_view_set_attr); key_add(email_view_map, "doc:get-attr", &email_view_get_attr); diff --git a/doc-multipart.c b/doc-multipart.c index cf594d17..87cc13a5 100644 --- a/doc-multipart.c +++ b/doc-multipart.c @@ -450,7 +450,7 @@ DEF_CMD(mp_get_boundary) if (!m || !ci->comm2) return Enoarg; m = mark_dup(m); - call("doc:step-part", ci->home, ci->num, m); + call("doc:step-part", ci->home, ci->num, m, ci->str); comm_call(ci->comm2, "cb", ci->focus, 0, m); return 1; }