summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/register.c8
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 3 deletions
diff --git a/src/register.c b/src/register.c
index f34a0ddbb..2dafeabf5 100644
--- a/src/register.c
+++ b/src/register.c
@@ -2099,13 +2099,15 @@ do_put(
ptr += yanklen;
}
STRMOVE(ptr, oldp + col);
- ml_replace(lnum, newp, FALSE);
-
- inserted_bytes(lnum, col, totlen);
// compute the byte offset for the last character
first_byte_off = mb_head_off(newp, ptr - 1);
+ // Note: this may free "newp"
+ ml_replace(lnum, newp, FALSE);
+
+ inserted_bytes(lnum, col, totlen);
+
// Place cursor on last putted char.
if (lnum == curwin->w_cursor.lnum)
{
diff --git a/src/version.c b/src/version.c
index 9207b7f69..be59f1be2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 164,
+/**/
163,
/**/
162,