aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------test12
-rw-r--r--view.c2
-rw-r--r--view.h1
3 files changed, 9 insertions, 6 deletions
diff --git a/test b/test
-Subproject be13b70e92c4fcdd7b39684e760a5a3a27a8ff4
+Subproject 9d3aa6c2d0d33d71d2815e238aeece15542f094
diff --git a/view.c b/view.c
index 06f2365..47709ee 100644
--- a/view.c
+++ b/view.c
@@ -1336,7 +1336,7 @@ void view_cursors_to(Cursor *c, size_t pos) {
void view_cursors_place(Cursor *c, size_t line, size_t col) {
Text *txt = c->view->text;
size_t pos = text_pos_by_lineno(txt, line);
- pos = text_line_char_set(txt, pos, col);
+ pos = text_line_char_set(txt, pos, col > 0 ? col-1 : col);
view_cursors_to(c, pos);
}
diff --git a/view.h b/view.h
index 8460116..def8bf2 100644
--- a/view.h
+++ b/view.h
@@ -161,6 +161,7 @@ int view_cursors_cell_set(Cursor*, int cell);
/* place cursor at `pos' which should be in the interval [0, text-size] */
void view_cursors_to(Cursor*, size_t pos);
void view_cursors_scroll_to(Cursor*, size_t pos);
+/* place cursor on given (line, column) pair, both values are 1-based */
void view_cursors_place(Cursor*, size_t line, size_t col);
/* get register associated with this register */
Register *view_cursors_register(Cursor*);