struct email_view {
int parts;
- char *invis safe;
+ char *invis;
};
#include "core-pane.h"
return Efail;
}
-DEF_CMD(email_view_free)
+DEF_CMD(email_view_close)
{
struct email_view *evi = ci->home->data;
free(evi->invis);
+ evi->invis = NULL;
return 1;
}
p = to_orig(p);
if (p < 0 || p >= evi->parts)
v = "none";
+ else if (!evi->invis)
+ v = "none";
else if (evi->invis[p] != 'i')
v = "orig";
else if (evi->invis[p+1] != 'i')
p = get_part(ci->home->parent, ci->mark);
/* only parts can be invisible, not separators */
p = to_orig(p);
- if (p < 0 || p >= evi->parts)
+ if (p < 0 || p >= evi->parts || !evi->invis)
return Efail;
m1 = mark_dup(ci->mark);
static void email_init_map(void)
{
email_view_map = key_alloc();
- key_add(email_view_map, "Free", &email_view_free);
+ key_add(email_view_map, "Close", &email_view_close);
key_add(email_view_map, "doc:char", &email_char);
key_add(email_view_map, "doc:content", &email_content);
key_add(email_view_map, "doc:content-bytes", &email_content);