aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-05-03 18:00:52 +0200
committerMarc André Tanner <mat@brain-dump.org>2017-05-03 18:00:52 +0200
commit71eab6d5d72145f17ab3d4c87945ac12176ae8e9 (patch)
tree333c473d5bd8448befdd9342de91232418a22ed2
parent3c3214752b76c26d5503d7c88e6ec8505e338639 (diff)
downloadvis-71eab6d5d72145f17ab3d4c87945ac12176ae8e9.tar.gz
vis-71eab6d5d72145f17ab3d4c87945ac12176ae8e9.tar.xz
text: remove text_history_get function
As currently implemented this does not properly integrate with multiple cursor support. The functionality should be provided in a layer higher up. The jumplist and changelist need to be redesigned, for now they are broken.
-rw-r--r--text.c12
-rw-r--r--text.h3
-rw-r--r--vis-motions.c4
3 files changed, 2 insertions, 17 deletions
diff --git a/text.c b/text.c
index c49599b..4c7fdc2 100644
--- a/text.c
+++ b/text.c
@@ -1675,15 +1675,3 @@ size_t text_mark_get(Text *txt, Mark mark) {
return EPOS;
}
-
-size_t text_history_get(Text *txt, size_t index) {
- for (Revision *rev = txt->current_revision ? txt->current_revision : txt->history; rev; rev = rev->prev) {
- if (index-- == 0) {
- Change *c = rev->change;
- while (c && c->next)
- c = c->next;
- return c ? c->pos : EPOS;
- }
- }
- return EPOS;
-}
diff --git a/text.h b/text.h
index 99d1709..e76ad5b 100644
--- a/text.h
+++ b/text.h
@@ -357,7 +357,4 @@ ssize_t text_write_range(Text*, Filerange*, int fd);
bool text_mmaped(Text*, const char *ptr);
/** @} */
-/* get position of change denoted by index, where 0 indicates the most recent */
-size_t text_history_get(Text*, size_t index);
-
#endif
diff --git a/vis-motions.c b/vis-motions.c
index c3afe16..92ab995 100644
--- a/vis-motions.c
+++ b/vis-motions.c
@@ -187,7 +187,7 @@ static size_t window_changelist_next(Vis *vis, Win *win, size_t pos) {
cl->index = 0;
else if (cl->index > 0 && pos == cl->pos)
cl->index--;
- size_t newpos = text_history_get(txt, cl->index);
+ size_t newpos = pos;
if (newpos == EPOS)
cl->index++;
else
@@ -204,7 +204,7 @@ static size_t window_changelist_prev(Vis *vis, Win *win, size_t pos) {
cl->index = 0;
else if (pos == cl->pos)
win->changelist.index++;
- size_t newpos = text_history_get(txt, cl->index);
+ size_t newpos = pos;
if (newpos == EPOS)
cl->index--;
else