Hello Clancy,
Thanks for your report, and for your patience.
I believe I have it fixed with the attached patch.
If you could try and test it, that would be great.
(It should apply cleanly to 2.4.2, with only offsets.)
--
http://www.fastmail.com - Or how I learned to stop worrying and
love email again
Index: src/text.c
===================================================================
--- src/text.c (revision 5394)
+++ src/text.c (working copy)
@@ -677,8 +677,16 @@
break;
case ENTER:
redidmsg = _("line break");
- goto_line_posx(u->lineno, u->begin);
- do_enter(TRUE);
+ filestruct *t = make_new_node(f);
+ t->data = mallocstrcpy(NULL, u->strdata);
+ data = mallocstrncpy(NULL, f->data, u->begin + 1);
+ data[u->begin] = '\0';
+ free(f->data);
+ f->data = data;
+ splice_node(f, t, f->next);
+ if (f == openfile->filebot)
+ openfile->filebot = t;
+ goto_line_posx(u->lineno + 1, u->mark_begin_x);
break;
#ifndef DISABLE_WRAPPING
case SPLIT_BEGIN:
@@ -1156,6 +1164,7 @@
u->mark_begin_lineno = openfile->current->lineno;
break;
case ENTER:
+ u->strdata = mallocstrcpy(NULL, fs->current->data);
u->mark_begin_x = fs->current_x;
break;
#ifndef DISABLE_WRAPPING