MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / em_kill_region

Function em_kill_region

extern/editline/src/emacs.c:176–202  ·  view source on GitHub ↗

em_kill_region(): * Cut area between mark and cursor and save in cut buffer * [^W] */

Source from the content-addressed store, hash-verified

174 * [^W]
175 */
176protected el_action_t
177/*ARGSUSED*/
178em_kill_region(EditLine *el, Int c __attribute__((__unused__)))
179{
180 Char *kp, *cp;
181
182 if (!el->el_chared.c_kill.mark)
183 return CC_ERROR;
184
185 if (el->el_chared.c_kill.mark > el->el_line.cursor) {
186 cp = el->el_line.cursor;
187 kp = el->el_chared.c_kill.buf;
188 while (cp < el->el_chared.c_kill.mark)
189 *kp++ = *cp++; /* copy it */
190 el->el_chared.c_kill.last = kp;
191 c_delafter(el, (int)(cp - el->el_line.cursor));
192 } else { /* mark is before cursor */
193 cp = el->el_chared.c_kill.mark;
194 kp = el->el_chared.c_kill.buf;
195 while (cp < el->el_line.cursor)
196 *kp++ = *cp++; /* copy it */
197 el->el_chared.c_kill.last = kp;
198 c_delbefore(el, (int)(cp - el->el_chared.c_kill.mark));
199 el->el_line.cursor = el->el_chared.c_kill.mark;
200 }
201 return CC_REFRESH;
202}
203
204
205/* em_copy_region():

Callers

nothing calls this directly

Calls 2

c_delafterFunction · 0.85
c_delbeforeFunction · 0.85

Tested by

no test coverage detected