aboutsummaryrefslogtreecommitdiff
path: root/vis.c
diff options
context:
space:
mode:
Diffstat (limited to 'vis.c')
-rw-r--r--vis.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/vis.c b/vis.c
index e63d206..82b47b9 100644
--- a/vis.c
+++ b/vis.c
@@ -772,7 +772,7 @@ void vis_replace(Vis *vis, size_t pos, const char *data, size_t len) {
Text *txt = vis->win->file->text;
Iterator it = text_iterator_get(txt, pos);
int chars = text_char_count(data, len);
- for (char c; chars-- > 0 && text_iterator_byte_get(&it, &c) && c != '\r' && c != '\n'; )
+ for (char c; chars-- > 0 && text_iterator_byte_get(&it, &c) && c != '\n'; )
text_iterator_char_next(&it, NULL);
text_delete(txt, pos, it.pos - pos);
@@ -1601,8 +1601,7 @@ void vis_insert_tab(Vis *vis) {
}
size_t vis_text_insert_nl(Vis *vis, Text *txt, size_t pos) {
- const char *nl = text_newline_char(txt);
- size_t nl_len = strlen(nl), indent_len = 0;
+ size_t indent_len = 0;
char byte, *indent = NULL;
/* insert second newline at end of file, except if there is already one */
bool eof = pos == text_size(txt);
@@ -1625,14 +1624,14 @@ size_t vis_text_insert_nl(Vis *vis, Text *txt, size_t pos) {
}
}
- text_insert(txt, pos, nl, nl_len);
+ text_insert(txt, pos, "\n", 1);
if (eof) {
if (nl2)
- text_insert(txt, pos, nl, nl_len);
+ text_insert(txt, pos, "\n", 1);
else
- pos -= nl_len; /* place cursor before, not after nl */
+ pos--; /* place cursor before, not after nl */
}
- pos += nl_len;
+ pos++;
if (indent)
text_insert(txt, pos, indent, indent_len);