free(a);
} else if (strstarts(s, "image:")) {
home_call(focus, "Draw:clear", p);
- home_call(focus, "Draw:image", p, 16, NULL, s+6);
+ home_call(focus, "Draw:image", p, 0, NULL, s+6, 0, NULL, "S");
rl->background_uniform = False;
} else
home_call(focus, "Draw:clear", p, 0, NULL, "");
return 1;
}
-DEF_CMD(render_lines_close)
+DEF_CMD_CLOSED(render_lines_close)
{
struct rl_data *rl = ci->home->data;
return 1;
}
-DEF_CMD(render_lines_close_mark)
+DEF_CMD_CLOSED(render_lines_close_mark)
{
struct mark *m = ci->mark;
;
}
call(tag, focus, 0, m2, xyattr,
- 0, ci->mark, NULL,
+ 0, ci->mark, action,
cih.x, cih.y);
}
m = m2;
tag = get_action_tag(ci->str, attr);
if (!tag)
return Efallthrough;
- call(tag, focus, 0, m, attr);
+ call(tag, focus, 0, m, attr, 0, NULL, ci->str);
return 1;
}
/* top line not fully displayed, being in that line is
* not sufficient */
top = vmark_next(top);
- if (bot)
+ if (bot && rl->tail_height)
/* last line might not be fully displayed, so don't assume */
bot = vmark_prev(bot);
if (!top || !bot ||
num = RPT_NUM(ci);
if (call("doc:EOL", ci->focus, num, m, NULL, 1) <= 0) {
rl->i_moved = 0;
- return Efail;
+ return Efalse;
}
if (RPT_NUM(ci) < 0) {
/* at end of target line, move to start */
if (call("doc:EOL", ci->focus, -1, m) <= 0) {
rl->i_moved = 0;
- return Efail;
+ return Efalse;
}
}