c_delbefore(): * Delete num characters before the cursor */
| 156 | * Delete num characters before the cursor |
| 157 | */ |
| 158 | protected void |
| 159 | c_delbefore(EditLine *el, int num) |
| 160 | { |
| 161 | |
| 162 | if (el->el_line.cursor - num < el->el_line.buffer) |
| 163 | num = (int)(el->el_line.cursor - el->el_line.buffer); |
| 164 | |
| 165 | if (el->el_map.current != el->el_map.emacs) { |
| 166 | cv_undo(el); |
| 167 | cv_yank(el, el->el_line.cursor - num, num); |
| 168 | } |
| 169 | |
| 170 | if (num > 0) { |
| 171 | Char *cp; |
| 172 | |
| 173 | for (cp = el->el_line.cursor - num; |
| 174 | cp <= el->el_line.lastchar; |
| 175 | cp++) |
| 176 | *cp = cp[num]; |
| 177 | |
| 178 | el->el_line.lastchar -= num; |
| 179 | } |
| 180 | } |
| 181 | |
| 182 | |
| 183 | /* c_delbefore1(): |
no test coverage detected