summaryrefslogtreecommitdiff
path: root/src/dged/buffer_view.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dged/buffer_view.c')
-rw-r--r--src/dged/buffer_view.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/dged/buffer_view.c b/src/dged/buffer_view.c
index aeee2f6..15aa812 100644
--- a/src/dged/buffer_view.c
+++ b/src/dged/buffer_view.c
@@ -186,24 +186,17 @@ void buffer_view_backward_delete_char(struct buffer_view *view) {
region_new(buffer_previous_char(view->buffer, view->dot), view->dot));
}
-void buffer_view_forward_delete_word(struct buffer_view *view) {
+void buffer_view_delete_word(struct buffer_view *view) {
if (maybe_delete_region(view)) {
return;
}
- view->dot = buffer_delete(
- view->buffer,
- region_new(view->dot, buffer_next_word(view->buffer, view->dot)));
-}
+ struct region word = buffer_word_at(view->buffer, view->dot);
-void buffer_view_backward_delete_word(struct buffer_view *view) {
- if (maybe_delete_region(view)) {
- return;
+ if (region_has_size(word)) {
+ buffer_delete(view->buffer, word);
+ view->dot = word.begin;
}
-
- view->dot = buffer_delete(
- view->buffer,
- region_new(buffer_previous_word(view->buffer, view->dot), view->dot));
}
void buffer_view_kill_line(struct buffer_view *view) {