diff --git a/src/change.c b/src/change.c
index 05a6247..5cddf9b 100644
--- a/src/change.c
+++ b/src/change.c
@@ -476,7 +476,10 @@
 #endif
 #ifdef FEAT_DIFF
     if (curwin->w_p_diff && diff_internal())
+    {
 	curtab->tp_diff_update = TRUE;
+	diff_update_line(lnum);
+    }
 #endif
 
     // set the '. mark
diff --git a/src/diff.c b/src/diff.c
index 6e5097e..638aed9 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -38,7 +38,13 @@
 #define DIFF_CLOSE_OFF	0x400	// diffoff when closing window
 #define DIFF_FOLLOWWRAP	0x800	// follow the wrap option
 #define DIFF_LINEMATCH  0x1000  // match most similar lines within diff
+#define DIFF_INLINE_NONE    0x2000  // no inline highlight
+#define DIFF_INLINE_SIMPLE  0x4000  // inline highlight with simple algorithm
+#define DIFF_INLINE_CHAR    0x8000  // inline highlight with character diff
+#define DIFF_INLINE_WORD    0x10000 // inline highlight with word diff
 #define ALL_WHITE_DIFF (DIFF_IWHITE | DIFF_IWHITEALL | DIFF_IWHITEEOL)
+#define ALL_INLINE (DIFF_INLINE_NONE | DIFF_INLINE_SIMPLE | DIFF_INLINE_CHAR | DIFF_INLINE_WORD)
+#define ALL_INLINE_DIFF (DIFF_INLINE_CHAR | DIFF_INLINE_WORD)
 static int	diff_flags = DIFF_INTERNAL | DIFF_FILLER | DIFF_CLOSE_OFF;
 
 static long diff_algorithm = 0;
@@ -111,6 +117,13 @@
 #define FOR_ALL_DIFFBLOCKS_IN_TAB(tp, dp) \
     for ((dp) = (tp)->tp_first_diff; (dp) != NULL; (dp) = (dp)->df_next)
 
+    static void
+clear_diffblock(diff_T *dp)
+{
+    ga_clear(&dp->df_changes);
+    vim_free(dp);
+}
+
 /*
  * Called when deleting or unloading a buffer: No longer make a diff with it.
  */
@@ -511,7 +524,7 @@
 		if (tp->tp_diffbuf[i] != NULL)
 		    dprev->df_count[i] += dp->df_count[i];
 	    dprev->df_next = dp->df_next;
-	    vim_free(dp);
+	    clear_diffblock(dp);
 	    dp = dprev->df_next;
 	}
 	else
@@ -533,7 +546,7 @@
 	if (i == DB_COUNT)
 	{
 	    dnext = dp->df_next;
-	    vim_free(dp);
+	    clear_diffblock(dp);
 	    dp = dnext;
 	    if (dprev == NULL)
 		tp->tp_first_diff = dnext;
@@ -569,7 +582,7 @@
 {
     diff_T	*dnew;
 
-    dnew = ALLOC_ONE(diff_T);
+    dnew = ALLOC_CLEAR_ONE(diff_T);
     if (dnew == NULL)
 	return NULL;
 
@@ -579,6 +592,9 @@
 	tp->tp_first_diff = dnew;
     else
 	dprev->df_next = dnew;
+
+    dnew->has_changes = FALSE;
+    ga_init2(&dnew->df_changes, sizeof(diffline_change_T), 20);
     return dnew;
 }
 
@@ -805,6 +821,7 @@
 	    {
 		int c;
 		int	orig_len;
+		int	c_len = 1;
 		char_u	cbuf[MB_MAXBYTES + 1];
 
 		if (*s == NL)
@@ -813,14 +830,24 @@
 		{
 		    // xdiff doesn't support ignoring case, fold-case the text.
 		    c = PTR2CHAR(s);
+		    c_len = MB_CHAR2LEN(c);
 		    c = MB_CASEFOLD(c);
 		}
 		orig_len = mb_ptr2len(s);
-		if (mb_char2bytes(c, cbuf) != orig_len)
-		    // TODO: handle byte length difference
+		if (mb_char2bytes(c, cbuf) != c_len)
+		    // TODO: handle byte length difference.
+		    // One example is Å (3 bytes) and å (2 bytes).
 		    mch_memmove(ptr + len, s, orig_len);
 		else
-		    mch_memmove(ptr + len, cbuf, orig_len);
+		{
+		    mch_memmove(ptr + len, cbuf, c_len);
+		    if (orig_len > c_len)
+		    {
+			// Copy remaining composing characters
+			mch_memmove(ptr + len + c_len, s + c_len,
+				orig_len - c_len);
+		    }
+		}
 
 		s += orig_len;
 		len += orig_len;
@@ -1663,7 +1690,7 @@
     diffio_T   *dio)		// diff output
 {
     FILE	*fd = NULL;
-    int		line_idx = 0;
+    int		line_hunk_idx = 0;  // line or hunk index
     diff_T	*dprev = NULL;
     diff_T	*dp = curtab->tp_first_diff;
     diff_T	*dn, *dpl;
@@ -1710,17 +1737,17 @@
     {
 	if (dio->dio_internal)
 	{
-	    if (line_idx >= dout->dout_ga.ga_len)
-		break;      // did last line
-	    hunk = ((diffhunk_T **)dout->dout_ga.ga_data)[line_idx++];
+	    if (line_hunk_idx >= dout->dout_ga.ga_len)
+		break;      // did last hunk
+	    hunk = ((diffhunk_T **)dout->dout_ga.ga_data)[line_hunk_idx++];
 	}
 	else
 	{
 	    if (fd == NULL)
 	    {
-		if (line_idx >= dout->dout_ga.ga_len)
+		if (line_hunk_idx >= dout->dout_ga.ga_len)
 		    break;	    // did last line
-		line = ((char_u **)dout->dout_ga.ga_data)[line_idx++];
+		line = ((char_u **)dout->dout_ga.ga_data)[line_hunk_idx++];
 	    }
 	    else
 	    {
@@ -1842,10 +1869,6 @@
 		    - (dp->df_lnum[idx_new] + dp->df_count[idx_new]);
 		if (off > 0)
 		    dp->df_count[idx_new] += off;
-		if ((dp->df_lnum[idx_new] + dp->df_count[idx_new] - 1)
-			> curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count)
-		    dp->df_count[idx_new] = curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count
-			- dp->df_lnum[idx_new] + 1;
 	    }
 
 	    // Adjust the size of the block to include all the lines to the
@@ -1864,10 +1887,6 @@
 		    // overlap later.
 		    dp->df_count[idx_new] += -off;
 		}
-		if ((dp->df_lnum[idx_new] + dp->df_count[idx_new] - 1)
-			> curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count)
-		    dp->df_count[idx_new] = curtab->tp_diffbuf[idx_new]->b_ml.ml_line_count
-			- dp->df_lnum[idx_new] + 1;
 		off = 0;
 	    }
 	    for (i = idx_orig; i < idx_new; ++i)
@@ -1881,7 +1900,7 @@
 	    while (dn != dp->df_next)
 	    {
 		dpl = dn->df_next;
-		vim_free(dn);
+		clear_diffblock(dn);
 		dn = dpl;
 	    }
 	}
@@ -1957,7 +1976,7 @@
     for (p = tp->tp_first_diff; p != NULL; p = next_p)
     {
 	next_p = p->df_next;
-	vim_free(p);
+	clear_diffblock(p);
     }
     tp->tp_first_diff = NULL;
 }
@@ -2818,6 +2837,37 @@
 	    else
 		return FAIL;
 	}
+	else if (STRNCMP(p, "inline:", 7) == 0)
+	{
+	    // Note: Keep this in sync with p_dip_inline_values.
+	    p += 7;
+	    if (STRNCMP(p, "none", 4) == 0)
+	    {
+		p += 4;
+		diff_flags_new &= ~(ALL_INLINE);
+		diff_flags_new |= DIFF_INLINE_NONE;
+	    }
+	    else if (STRNCMP(p, "simple", 6) == 0)
+	    {
+		p += 6;
+		diff_flags_new &= ~(ALL_INLINE);
+		diff_flags_new |= DIFF_INLINE_SIMPLE;
+	    }
+	    else if (STRNCMP(p, "char", 4) == 0)
+	    {
+		p += 4;
+		diff_flags_new &= ~(ALL_INLINE);
+		diff_flags_new |= DIFF_INLINE_CHAR;
+	    }
+	    else if (STRNCMP(p, "word", 4) == 0)
+	    {
+		p += 4;
+		diff_flags_new &= ~(ALL_INLINE);
+		diff_flags_new |= DIFF_INLINE_WORD;
+	    }
+	    else
+		return FAIL;
+	}
 	else if (STRNCMP(p, "linematch:", 10) == 0 && VIM_ISDIGIT(p[10]))
 	{
 	    p += 10;
@@ -2886,13 +2936,97 @@
 }
 
 /*
- * Find the difference within a changed line.
- * Returns TRUE if the line was added, no other buffer has it.
+ * Called when a line has been updated. Used for updating inline diff in Insert
+ * mode without waiting for global diff update later.
+ */
+    void
+diff_update_line(linenr_T lnum)
+{
+    int		idx;
+    diff_T	*dp;
+
+    if (!(diff_flags & ALL_INLINE_DIFF))
+	// We only care if we are doing inline-diff where we cache the diff results
+	return;
+
+    idx = diff_buf_idx(curbuf);
+    if (idx == DB_COUNT)
+	return;
+    FOR_ALL_DIFFBLOCKS_IN_TAB(curtab, dp)
+	if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
+	    break;
+
+    // clear the inline change cache as it's invalid
+    if (dp != NULL)
+    {
+	dp->has_changes = FALSE;
+	dp->df_changes.ga_len = 0;
+    }
+}
+
+static diffline_change_T simple_diffline_change; // used for simple inline diff algorithm
+
+/*
+ * Parse a diffline struct and returns the [start,end] byte offsets
+ *
+ * Returns TRUE if this change was added, no other buffer has it.
  */
     int
-diff_find_change(
+diff_change_parse(
+    diffline_T *diffline,
+    diffline_change_T *change,
+    int *change_start,
+    int *change_end)
+{
+    if (change->dc_start_lnum_off[diffline->bufidx] < diffline->lineoff)
+	*change_start = 0;
+    else
+	*change_start = change->dc_start[diffline->bufidx];
+    if (change->dc_end_lnum_off[diffline->bufidx] > diffline->lineoff)
+	*change_end = INT_MAX;
+    else
+	*change_end = change->dc_end[diffline->bufidx];
+
+    if (change == &simple_diffline_change)
+    {
+	// This is what we returned from simple inline diff. We always consider
+	// the range to be changed, rather than added for now.
+	return FALSE;
+    }
+
+    // Find out whether this is an addition. Note that for multi buffer diff,
+    // to tell whether lines are additions we check whether all the other diff
+    // lines are identical (in diff_check_with_linestatus). If so, we mark them
+    // as add. We don't do that for inline diff here for simplicity.
+    for (int i = 0; i < DB_COUNT; i++)
+    {
+	if (i == diffline->bufidx)
+	    continue;
+	if (change->dc_start[i] != change->dc_end[i]
+		|| change->dc_end_lnum_off[i] != change->dc_start_lnum_off[i])
+	{
+	    return FALSE;
+	}
+    }
+    return TRUE;
+}
+
+/*
+ * Find the difference within a changed line and returns [startp,endp] byte
+ * positions.  Performs a simple algorithm by finding a single range in the
+ * middle.
+ *
+ * If diffopt has DIFF_INLINE_NONE set, then this will only calculate the return
+ * value (added or changed), but startp/endp will not be calculated.
+ *
+ * Returns TRUE if the line was added, no other buffer has it.
+ */
+    static int
+diff_find_change_simple(
     win_T	*wp,
     linenr_T	lnum,
+    diff_T	*dp,
+    int		idx,
     int		*startp,	// first char of the change
     int		*endp)		// last char of the change
 {
@@ -2901,40 +3035,22 @@
     int		i;
     int		si_org, si_new;
     int		ei_org, ei_new;
-    diff_T	*dp;
-    int		idx;
     int		off;
     int		added = TRUE;
     char_u	*p1, *p2;
     int		l;
 
-    // Make a copy of the line, the next ml_get() will invalidate it.
-    line_org = vim_strsave(ml_get_buf(wp->w_buffer, lnum, FALSE));
-    if (line_org == NULL)
-	return FALSE;
-
-    idx = diff_buf_idx(wp->w_buffer);
-    if (idx == DB_COUNT)	// cannot happen
+    if (diff_flags & DIFF_INLINE_NONE)
     {
-	vim_free(line_org);
-	return FALSE;
+	// We only care about the return value, not the actual string comparisons.
+	line_org = NULL;
     }
-
-    // search for a change that includes "lnum" in the list of diffblocks.
-    FOR_ALL_DIFFBLOCKS_IN_TAB(curtab, dp)
-	if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
-	    break;
-    if (dp->is_linematched)
+    else
     {
-	while (dp && dp->df_next
-			&& lnum == dp->df_count[idx] + dp->df_lnum[idx]
-			&& dp->df_next->df_lnum[idx] == lnum)
-	    dp = dp->df_next;
-    }
-    if (dp == NULL || diff_check_sanity(curtab, dp) == FAIL)
-    {
-	vim_free(line_org);
-	return FALSE;
+	// Make a copy of the line, the next ml_get() will invalidate it.
+	line_org = vim_strsave(ml_get_buf(wp->w_buffer, lnum, FALSE));
+	if (line_org == NULL)
+	    return FALSE;
     }
 
     off = lnum - dp->df_lnum[idx];
@@ -2946,6 +3062,9 @@
 	    if (off >= dp->df_count[i])
 		continue;
 	    added = FALSE;
+	    if (diff_flags & DIFF_INLINE_NONE)
+		break; // early terminate as we only care about the return value
+
 	    line_new = ml_get_buf(curtab->tp_diffbuf[i],
 						 dp->df_lnum[i] + off, FALSE);
 
@@ -3025,6 +3144,528 @@
     return added;
 }
 
+/*
+ * Mapping used for mapping from temporary mmfile created for inline diff back
+ * to original buffer's line/col.
+ */
+typedef struct
+{
+    long byte_start;
+    long num_bytes;
+    int lineoff;
+} linemap_entry_T;
+
+/*
+ * Refine inline character-wise diff blocks to create a more human readable
+ * highlight. Otherwise a naive diff under existing algorithms tends to create
+ * a messy output with lots of small gaps.
+ * It does this by merging adjacent long diff blocks if they are only separated
+ * by a couple characters.
+ * These are done by heuristics and can be further tuned.
+ */
+    static void
+diff_refine_inline_char_highlight(diff_T *dp_orig, garray_T *linemap, int idx1)
+{
+    // Perform multiple passes so that newly merged blocks will now be long
+    // enough which may cause other previously unmerged gaps to be merged as
+    // well.
+    int pass = 1;
+    do
+    {
+	int has_unmerged_gaps = FALSE;
+	int has_merged_gaps = FALSE;
+	diff_T *dp = dp_orig;
+	while (dp!= NULL && dp->df_next != NULL)
+	{
+	    // Only use first buffer to calculate the gap because the gap is
+	    // unchanged text, which would be the same in all buffers.
+	    if (dp->df_lnum[idx1] + dp->df_count[idx1] - 1 >= linemap[idx1].ga_len
+		    || dp->df_next->df_lnum[idx1] - 1 >= linemap[idx1].ga_len)
+	    {
+		dp = dp->df_next;
+		continue;
+	    }
+
+	    // If the gap occurs over different lines, don't consider it
+	    linemap_entry_T *entry1 = &((linemap_entry_T*)linemap[idx1].ga_data)[dp->df_lnum[idx1] + dp->df_count[idx1] - 1];
+	    linemap_entry_T *entry2 = &((linemap_entry_T*)linemap[idx1].ga_data)[dp->df_next->df_lnum[idx1] - 1];
+	    if (entry1->lineoff != entry2->lineoff)
+	    {
+		dp = dp->df_next;
+		continue;
+	    }
+
+	    linenr_T gap = dp->df_next->df_lnum[idx1] - (dp->df_lnum[idx1] + dp->df_count[idx1]);
+	    if (gap <= 3)
+	    {
+		linenr_T max_df_count = 0;
+		for (int i = 0; i < DB_COUNT; i++)
+		    max_df_count = MAX(max_df_count, dp->df_count[i] + dp->df_next->df_count[i]);
+
+		if (max_df_count >= gap * 4)
+		{
+		    // Merge current block with the next one. Don't advance the
+		    // pointer so we try the same merged block against the next
+		    // one.
+		    for (int i = 0; i < DB_COUNT; i++)
+		    {
+			dp->df_count[i] = dp->df_next->df_lnum[i]
+			    + dp->df_next->df_count[i] - dp->df_lnum[i];
+		    }
+		    diff_T *dp_next = dp->df_next;
+		    dp->df_next = dp_next->df_next;
+		    clear_diffblock(dp_next);
+		    has_merged_gaps = TRUE;
+		    continue;
+		}
+		else
+		    has_unmerged_gaps = TRUE;
+	    }
+	    dp = dp->df_next;
+	}
+	if (!has_unmerged_gaps || !has_merged_gaps)
+	    break;
+    } while (pass++ < 4); // use limited number of passes to avoid excessive looping
+}
+
+/*
+ * Find the inline difference within a diff block among differnt buffers.  Do
+ * this by splitting each block's content into characters or words, and then
+ * use internal xdiff to calculate the per-character/word diff.  The result is
+ * stored in dp instead of returned by the function.
+ */
+    static void
+diff_find_change_inline_diff(
+    diff_T	*dp)
+{
+    diffio_T	dio;
+    garray_T	linemap[DB_COUNT];
+    garray_T	file1_str;
+    garray_T	file2_str;
+    int		file1_idx = -1;
+
+    long	save_diff_algorithm = diff_algorithm;
+
+    CLEAR_FIELD(dio);
+    ga_init2(&dio.dio_diff.dout_ga, sizeof(char *), 1000);
+
+    // inline diff only supports internal algo
+    dio.dio_internal = TRUE;
+
+    // always use indent-heuristics to slide diff splits along
+    // whitespace
+    diff_algorithm |= XDF_INDENT_HEURISTIC;
+
+    // diff_read() has an implicit dependency on curtab->tp_first_diff
+    diff_T	*orig_diff = curtab->tp_first_diff;
+    curtab->tp_first_diff = NULL;
+
+    // Buffers to populate mmfile 1/2 that would be passed to xdiff as memory
+    // files. Use a grow array as it is not obvious how much exact space we
+    // need.
+    ga_init2(&file1_str, 1, 1024);
+    ga_init2(&file2_str, 1, 1024);
+
+    // Line map to map from generated mmfiles' line numbers back to original
+    // diff blocks' locations. Need this even for char diff because not all
+    // characters are 1-byte long / ASCII.
+    for (int i = 0; i < DB_COUNT; i++)
+	ga_init2(&linemap[i], sizeof(linemap_entry_T), 128);
+
+    for (int i = 0; i < DB_COUNT; i++)
+    {
+	dio.dio_diff.dout_ga.ga_len = 0;
+
+	buf_T *buf = curtab->tp_diffbuf[i];
+	if (buf == NULL || buf->b_ml.ml_mfp == NULL)
+	    continue; // skip buffer that isn't loaded
+
+	if (dp->df_count[i] == 0)
+	    continue; // skip buffer that don't have any texts in this block
+
+	if (file1_idx == -1)
+	    file1_idx = i;
+
+	garray_T	*curstr = (file1_idx != i) ? &file2_str : &file1_str;
+
+	linenr_T numlines = 0;
+	curstr->ga_len = 0;
+
+	// Split each line into chars/words and populate fake file buffer as
+	// newline-delimited tokens as that's what xdiff requires.
+	for (int off = 0; off < dp->df_count[i]; off++)
+	{
+	    char_u *curline = ml_get_buf(curtab->tp_diffbuf[i],
+		    dp->df_lnum[i] + off, FALSE);
+
+	    int in_keyword = FALSE;
+
+	    // iwhiteeol support vars
+	    int last_white = FALSE;
+	    int eol_ga_len = -1;
+	    int eol_linemap_len = -1;
+	    int eol_numlines = -1;
+
+	    char_u *s;
+	    for (s = curline; *s != NUL;)
+	    {
+		// Always use the first buffer's 'iskeyword' to have a consistent diff
+		int new_in_keyword = FALSE;
+		if (diff_flags & DIFF_INLINE_WORD)
+		    new_in_keyword = vim_iswordp_buf(s, curtab->tp_diffbuf[file1_idx]);
+		if (in_keyword && !new_in_keyword)
+		{
+		    ga_append(curstr, NL);
+		    numlines++;
+		}
+
+		if (VIM_ISWHITE(*s))
+		{
+		    if (diff_flags & DIFF_IWHITEALL)
+		    {
+			in_keyword = FALSE;
+			s = skipwhite(s);
+			continue;
+		    }
+		    else if ((diff_flags & DIFF_IWHITEEOL) || (diff_flags & DIFF_IWHITE))
+		    {
+			if (!last_white)
+			{
+			    eol_ga_len = curstr->ga_len;
+			    eol_linemap_len = linemap[i].ga_len;
+			    eol_numlines = numlines;
+			    last_white = TRUE;
+			}
+		    }
+		}
+		else
+		{
+		    if ((diff_flags & DIFF_IWHITEEOL) || (diff_flags & DIFF_IWHITE))
+		    {
+			last_white = FALSE;
+			eol_ga_len = -1;
+			eol_linemap_len = -1;
+			eol_numlines = -1;
+		    }
+		}
+
+		int char_len = 1;
+		if (*s == NL)
+		    // NL is internal substitute for NUL
+		    ga_append(curstr, NUL);
+		else
+		{
+		    char_len = mb_ptr2len(s);
+
+		    if (VIM_ISWHITE(*s) && (diff_flags & DIFF_IWHITE))
+			// Treat the entire white space span as a single char.
+			char_len = skipwhite(s) - s;
+
+		    if (diff_flags & DIFF_ICASE)
+		    {
+			int c;
+			char_u cbuf[MB_MAXBYTES + 1];
+			// xdiff doesn't support ignoring case, fold-case the text manually.
+			c = PTR2CHAR(s);
+			int c_len = MB_CHAR2LEN(c);
+			c = MB_CASEFOLD(c);
+			int c_fold_len = mb_char2bytes(c, cbuf);
+			ga_concat_len(curstr, cbuf, c_fold_len);
+			if (char_len > c_len)
+			{
+			    // There may be remaining composing characters. Write those back in.
+			    // Composing characters don't need case folding.
+			    ga_concat_len(curstr, s + c_len, char_len - c_len);
+			}
+		    }
+		    else
+			ga_concat_len(curstr, s, char_len);
+		}
+
+		if (!new_in_keyword)
+		{
+		    ga_append(curstr, NL);
+		    numlines++;
+		}
+
+		if (!new_in_keyword || (new_in_keyword && !in_keyword))
+		{
+		    // create a new mapping entry from the xdiff mmfile back to
+		    // original line/col.
+		    linemap_entry_T linemap_entry;
+		    linemap_entry.lineoff = off;
+		    linemap_entry.byte_start = s - curline;
+		    linemap_entry.num_bytes = char_len;
+		    if (ga_grow(&linemap[i], 1) != OK)
+			goto done;
+		    ((linemap_entry_T*)(linemap[i].ga_data))[linemap[i].ga_len]
+			= linemap_entry;
+		    linemap[i].ga_len += 1;
+		}
+		else
+		{
+		    // Still inside a keyword. Just increment byte count but
+		    // don't make a new entry.
+		    // linemap always has at least one entry here
+		    ((linemap_entry_T*)linemap[i].ga_data)[linemap[i].ga_len-1].num_bytes
+			+= char_len;
+		}
+
+		in_keyword = new_in_keyword;
+		s += char_len;
+	    }
+	    if (in_keyword)
+	    {
+		ga_append(curstr, NL);
+		numlines++;
+	    }
+
+	    if ((diff_flags & DIFF_IWHITEEOL) || (diff_flags & DIFF_IWHITE))
+	    {
+		// Need to trim trailing whitespace. Do this simply by
+		// resetting arrays back to before we encountered them.
+		if (eol_ga_len != -1)
+		{
+		    curstr->ga_len = eol_ga_len;
+		    linemap[i].ga_len = eol_linemap_len;
+		    numlines = eol_numlines;
+		}
+	    }
+
+	    if (!(diff_flags & DIFF_IWHITEALL))
+	    {
+		// Add an empty line token mapped to the end-of-line in the
+		// original file. This helps diff newline differences among
+		// files, which will be visualized when using 'list' as the eol
+		// listchar will be highlighted.
+		ga_append(curstr, NL);
+		numlines++;
+
+		linemap_entry_T linemap_entry;
+		linemap_entry.lineoff = off;
+		linemap_entry.byte_start = s - curline;
+		linemap_entry.num_bytes = sizeof(NL);
+		if (ga_grow(&linemap[i], 1) != OK)
+		    goto done;
+		((linemap_entry_T*)(linemap[i].ga_data))[linemap[i].ga_len]
+		    = linemap_entry;
+		linemap[i].ga_len += 1;
+	    }
+	}
+
+	if (file1_idx != i)
+	{
+	    dio.dio_new.din_mmfile.ptr = (char *)curstr->ga_data;
+	    dio.dio_new.din_mmfile.size = curstr->ga_len;
+	}
+	else
+	{
+	    dio.dio_orig.din_mmfile.ptr = (char *)curstr->ga_data;
+	    dio.dio_orig.din_mmfile.size = curstr->ga_len;
+	}
+	if (file1_idx != i)
+	{
+	    // Perform diff with first file and read the results
+	    int diff_status = diff_file_internal(&dio);
+	    if (diff_status == FAIL)
+		goto done;
+
+	    diff_read(0, i, &dio);
+	    clear_diffout(&dio.dio_diff);
+	}
+    }
+    diff_T *new_diff = curtab->tp_first_diff;
+
+    if (diff_flags & DIFF_INLINE_CHAR && file1_idx != -1)
+	diff_refine_inline_char_highlight(new_diff, linemap, file1_idx);
+
+    // After the diff, use the linemap to obtain the original line/col of the
+    // changes and cache them in dp.
+    dp->df_changes.ga_len = 0; // this should already be zero
+    for (; new_diff != NULL; new_diff = new_diff->df_next)
+    {
+	diffline_change_T change;
+	CLEAR_FIELD(change);
+	for (int i = 0; i < DB_COUNT; i++)
+	{
+	    if (new_diff->df_lnum[i] == 0)
+		continue;
+	    linenr_T diff_lnum = new_diff->df_lnum[i] - 1; // use zero-index
+	    linenr_T diff_lnum_end = diff_lnum + new_diff->df_count[i];
+
+	    if (diff_lnum >= linemap[i].ga_len)
+	    {
+		change.dc_start[i] = MAXCOL;
+		change.dc_start_lnum_off[i] = INT_MAX;
+	    }
+	    else
+	    {
+		change.dc_start[i] = ((linemap_entry_T*)linemap[i].ga_data)[diff_lnum].byte_start;
+		change.dc_start_lnum_off[i] = ((linemap_entry_T*)linemap[i].ga_data)[diff_lnum].lineoff;
+	    }
+
+	    if (diff_lnum == diff_lnum_end)
+	    {
+		change.dc_end[i] = change.dc_start[i];
+		change.dc_end_lnum_off[i] = change.dc_start_lnum_off[i];
+	    }
+	    else if (diff_lnum_end - 1 >= linemap[i].ga_len)
+	    {
+		change.dc_end[i] = MAXCOL;
+		change.dc_end_lnum_off[i] = INT_MAX;
+	    }
+	    else
+	    {
+		change.dc_end[i] = ((linemap_entry_T*)linemap[i].ga_data)[diff_lnum_end-1].byte_start +
+		    ((linemap_entry_T*)linemap[i].ga_data)[diff_lnum_end-1].num_bytes;
+		change.dc_end_lnum_off[i] = ((linemap_entry_T*)linemap[i].ga_data)[diff_lnum_end-1].lineoff;
+	    }
+	}
+	if (ga_grow(&dp->df_changes, 1) != OK)
+	{
+	    dp->df_changes.ga_len = 0;
+	    goto done;
+	}
+	((diffline_change_T*)(dp->df_changes.ga_data))[dp->df_changes.ga_len] = change;
+	dp->df_changes.ga_len += 1;
+    }
+
+done:
+    diff_algorithm = save_diff_algorithm;
+
+    dp->has_changes = TRUE;
+
+    diff_clear(curtab);
+    curtab->tp_first_diff = orig_diff;
+
+    ga_clear(&file1_str);
+    ga_clear(&file2_str);
+    // No need to clear dio.dio_orig/dio_new because they were referencing
+    // strings that are now cleared.
+    clear_diffout(&dio.dio_diff);
+    for (int i = 0; i < DB_COUNT; i++)
+	ga_clear(&linemap[i]);
+}
+
+/*
+ * Find the difference within a changed line.
+ * Returns TRUE if the line was added, no other buffer has it.
+ */
+    int
+diff_find_change(
+    win_T	*wp,
+    linenr_T	lnum,
+    diffline_T	*diffline)
+{
+    diff_T	*dp;
+    int		idx;
+    int		off;
+
+    idx = diff_buf_idx(wp->w_buffer);
+    if (idx == DB_COUNT)	// cannot happen
+	return FALSE;
+
+    // search for a change that includes "lnum" in the list of diffblocks.
+    FOR_ALL_DIFFBLOCKS_IN_TAB(curtab, dp)
+	if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
+	    break;
+    if (dp->is_linematched)
+    {
+	while (dp && dp->df_next
+			&& lnum == dp->df_count[idx] + dp->df_lnum[idx]
+			&& dp->df_next->df_lnum[idx] == lnum)
+	    dp = dp->df_next;
+    }
+    if (dp == NULL || diff_check_sanity(curtab, dp) == FAIL)
+	return FALSE;
+
+    if (lnum - dp->df_lnum[idx] > INT_MAX)
+	// Integer overflow protection
+	return FALSE;
+    off = lnum - dp->df_lnum[idx];
+
+    if (!(diff_flags & ALL_INLINE_DIFF) || diff_internal_failed())
+    {
+	// Use simple algorithm
+	int	change_start = MAXCOL;	// first col of changed area
+	int	change_end = -1;	// last col of changed area
+	int	ret;
+
+	ret = diff_find_change_simple(wp, lnum, dp, idx, &change_start, &change_end);
+
+	// convert from inclusive end to exclusive end per diffline's contract
+	change_end += 1;
+
+	// Create a mock diffline struct. We always only have one so no need to
+	// allocate memory.
+	idx = diff_buf_idx(wp->w_buffer);;
+	CLEAR_FIELD(simple_diffline_change);
+	diffline->changes = &simple_diffline_change;
+	diffline->num_changes = 1;
+	diffline->bufidx = idx;
+	diffline->lineoff = lnum - dp->df_lnum[idx];
+
+	simple_diffline_change.dc_start[idx] = change_start;
+	simple_diffline_change.dc_end[idx] = change_end;
+	simple_diffline_change.dc_start_lnum_off[idx] = off;
+	simple_diffline_change.dc_end_lnum_off[idx] = off;
+	return ret;
+    }
+
+    // Use inline diff algorithm.
+    // The diff changes are usually cached so we check that first.
+    if (!dp->has_changes)
+	diff_find_change_inline_diff(dp);
+
+    garray_T *changes = &dp->df_changes;
+
+    // Use linear search to find the first change for this line. We could
+    // optimize this to use binary search, but there should usually be a
+    // limited number of inline changes per diff block, and limited number of
+    // diff blocks shown on screen, so it is not necessary.
+    int num_changes = 0;
+    int change_idx = 0;
+    diffline->changes = NULL;
+    for (change_idx = 0; change_idx < changes->ga_len; change_idx++)
+    {
+	diffline_change_T *change = &((diffline_change_T*)dp->df_changes.ga_data)[change_idx];
+	if (change->dc_end_lnum_off[idx] < off)
+	    continue;
+	if (change->dc_start_lnum_off[idx] > off)
+	    break;
+	if (diffline->changes == NULL)
+	    diffline->changes = change;
+	num_changes++;
+    }
+    diffline->num_changes = num_changes;
+    diffline->bufidx = idx;
+    diffline->lineoff = off;
+
+    // Detect simple cases of added lines in the end within a diff block. This
+    // has to be the last change of this diff block, and all other buffers are
+    // considering this to be an addition past their last line. Other scenarios
+    // will be considered a changed line instead.
+    int added = FALSE;
+    if (num_changes == 1 && change_idx == dp->df_changes.ga_len)
+    {
+	added = TRUE;
+	for (int i = 0; i < DB_COUNT; i++)
+	{
+	    if (idx == i)
+		continue;
+	    if (curtab->tp_diffbuf[i] == NULL)
+		continue;
+	    diffline_change_T *change = &((diffline_change_T*)dp->df_changes.ga_data)[dp->df_changes.ga_len-1];
+	    if (change->dc_start_lnum_off[i] != INT_MAX)
+	    {
+		added = FALSE;
+		break;
+	    }
+	}
+    }
+    return added;
+}
+
 #if defined(FEAT_FOLDING) || defined(PROTO)
 /*
  * Return TRUE if line "lnum" is not close to a diff block, this line should
@@ -3418,7 +4059,7 @@
 #ifdef FEAT_FOLDING
 		diff_fold_update(dfree, idx_to);
 #endif
-		vim_free(dfree);
+		clear_diffblock(dfree);
 	    }
 
 	    // mark_adjust() may have made "dp" invalid.  We don't know where
@@ -3881,23 +4522,38 @@
     static linenr_T	prev_lnum = 0;
     static varnumber_T	changedtick = 0;
     static int		fnum = 0;
+    static int		prev_diff_flags = 0;
     static int		change_start = 0;
     static int		change_end = 0;
     static hlf_T	hlID = (hlf_T)0;
+    int			cache_results = TRUE;
     int			filler_lines;
     int			col;
+    diffline_T		diffline;
+
+    CLEAR_FIELD(diffline);
 
     if (in_vim9script()
 	    && (check_for_lnum_arg(argvars,0) == FAIL
 		|| check_for_number_arg(argvars, 1) == FAIL))
 	return;
 
+    if (diff_flags & ALL_INLINE_DIFF)
+    {
+	// Remember the results if using simple since it's recalculated per
+	// call. Otherwise just call diff_find_change() every time since
+	// internally the result is cached interally.
+	cache_results = FALSE;
+    }
+
     lnum = tv_get_lnum(argvars);
     if (lnum < 0)	// ignore type error in {lnum} arg
 	lnum = 0;
-    if (lnum != prev_lnum
+    if (!cache_results
+	    || lnum != prev_lnum
 	    || changedtick != CHANGEDTICK(curbuf)
-	    || fnum != curbuf->b_fnum)
+	    || fnum != curbuf->b_fnum
+	    || diff_flags != prev_diff_flags)
     {
 	// New line, buffer, change: need to get the values.
 	int linestatus = 0;
@@ -3908,28 +4564,60 @@
 	    {
 		change_start = MAXCOL;
 		change_end = -1;
-		if (diff_find_change(curwin, lnum, &change_start, &change_end))
+		if (diff_find_change(curwin, lnum, &diffline))
 		    hlID = HLF_ADD;	// added line
 		else
+		{
 		    hlID = HLF_CHD;	// changed line
+		    if (diffline.num_changes > 0 && cache_results)
+		    {
+			change_start = diffline.changes[0].dc_start[diffline.bufidx];
+			change_end = diffline.changes[0].dc_end[diffline.bufidx];
+		    }
+		}
 	    }
 	    else
 		hlID = HLF_ADD;	// added line
 	}
 	else
 	    hlID = (hlf_T)0;
-	prev_lnum = lnum;
-	changedtick = CHANGEDTICK(curbuf);
-	fnum = curbuf->b_fnum;
+
+	if (cache_results)
+	{
+	    prev_lnum = lnum;
+	    changedtick = CHANGEDTICK(curbuf);
+	    fnum = curbuf->b_fnum;
+	    prev_diff_flags = diff_flags;
+	}
     }
 
     if (hlID == HLF_CHD || hlID == HLF_TXD)
     {
 	col = tv_get_number(&argvars[1]) - 1; // ignore type error in {col}
-	if (col >= change_start && col <= change_end)
-	    hlID = HLF_TXD;			// changed text
+	if (cache_results)
+	{
+	    if (col >= change_start && col < change_end)
+		hlID = HLF_TXD;			// changed text
+	    else
+		hlID = HLF_CHD;			// changed line
+	}
 	else
-	    hlID = HLF_CHD;			// changed line
+	{
+	    hlID = HLF_CHD;
+	    for (int i = 0; i < diffline.num_changes; i++)
+	    {
+		int added = diff_change_parse(&diffline, &diffline.changes[i],
+			&change_start, &change_end);
+		if (col >= change_start && col < change_end)
+		{
+		    hlID = added ? HLF_TXA : HLF_TXD;
+		    break;
+		}
+		if (col < change_start)
+		    // the remaining changes are past this column and not relevant
+		    break;
+	    }
+	}
     }
     rettv->vval.v_number = hlID == (hlf_T)0 ? 0 : (int)hlID;
 # endif
@@ -4008,7 +4696,7 @@
     listitem_T	*li;
     char_u	*str;
 
-    ga_init2(&ga, 512, 4);
+    ga_init2(&ga, 1, 2048);
 
     FOR_ALL_LIST_ITEMS(l, li)
     {
@@ -4020,12 +4708,10 @@
 		continue;
 	}
 	ga_concat(&ga, str);
-	ga_concat(&ga, (char_u *)NL_STR);
+	ga_append(&ga, NL);
 	if (icase)
 	    vim_free(str);
     }
-    if (ga.ga_len > 0)
-	((char *)ga.ga_data)[ga.ga_len] = NUL;
 
     din->din_mmfile.ptr = (char *)ga.ga_data;
     din->din_mmfile.size = ga.ga_len;
diff --git a/src/drawline.c b/src/drawline.c
index 764d0fb..a14dd90 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1223,6 +1223,8 @@
 #ifdef FEAT_DIFF
     int		change_start = MAXCOL;	// first col of changed area
     int		change_end = -1;	// last col of changed area
+    diffline_T	line_changes;
+    int		change_index = -1;
 #endif
     colnr_T	trailcol = MAXCOL;	// start of trailing spaces
     colnr_T	leadcol = 0;		// start of leading spaces
@@ -1471,16 +1473,37 @@
     int linestatus = 0;
     wlv.filler_lines = diff_check_with_linestatus(wp, lnum, &linestatus);
 
+    CLEAR_FIELD(line_changes);
+
     if (wlv.filler_lines < 0 || linestatus < 0)
     {
 	if (wlv.filler_lines == -1 || linestatus == -1)
 	{
-	    if (diff_find_change(wp, lnum, &change_start, &change_end))
+	    if (diff_find_change(wp, lnum, &line_changes))
+	    {
 		wlv.diff_hlf = HLF_ADD;	// added line
-	    else if (change_start == 0)
-		wlv.diff_hlf = HLF_TXD;	// changed text
+	    }
+	    else if (line_changes.num_changes > 0)
+	    {
+		int added = diff_change_parse(
+			&line_changes, &line_changes.changes[0],
+			&change_start, &change_end);
+		if (change_start == 0)
+		{
+		    if (added)
+			wlv.diff_hlf = HLF_TXA;	// added text on changed line
+		    else
+			wlv.diff_hlf = HLF_TXD;	// changed text on changed line
+		}
+		else
+		    wlv.diff_hlf = HLF_CHD;	// unchanged text on changed line
+		change_index = 0;
+	    }
 	    else
+	    {
 		wlv.diff_hlf = HLF_CHD;	// changed line
+		change_index = 0;
+	    }
 	}
 	else
 	    wlv.diff_hlf = HLF_ADD;
@@ -2438,13 +2461,28 @@
 #ifdef FEAT_DIFF
 	    if (wlv.diff_hlf != (hlf_T)0)
 	    {
+		if (line_changes.num_changes > 0
+			&& change_index >= 0
+			&& change_index < line_changes.num_changes - 1)
+		{
+		    if (ptr - line >= line_changes.changes[change_index+1].dc_start[line_changes.bufidx])
+			change_index += 1;
+		}
+		int added = FALSE;
+		if (line_changes.num_changes > 0 && change_index >= 0 && change_index < line_changes.num_changes)
+		{
+		    added = diff_change_parse(&line_changes,
+			    &line_changes.changes[change_index],
+			    &change_start,
+			    &change_end);
+		}
 		// When there is extra text (e.g. virtual text) it gets the
 		// diff highlighting for the line, but not for changed text.
 		if (wlv.diff_hlf == HLF_CHD && ptr - line >= change_start
 							   && wlv.n_extra == 0)
-		    wlv.diff_hlf = HLF_TXD;		// changed text
-		if (wlv.diff_hlf == HLF_TXD
-			&& ((ptr - line > change_end && wlv.n_extra == 0)
+		    wlv.diff_hlf = added ? HLF_TXA : HLF_TXD;	// added/changed text
+		if ((wlv.diff_hlf == HLF_TXD || wlv.diff_hlf == HLF_TXA)
+			&& ((ptr - line >= change_end && wlv.n_extra == 0)
 			       || (wlv.n_extra > 0 && wlv.extra_for_textprop)))
 		    wlv.diff_hlf = HLF_CHD;		// changed line
 		wlv.line_attr = HL_ATTR(wlv.diff_hlf);
@@ -3502,7 +3540,7 @@
 			wlv.char_attr = wlv.sattr.sat_linehl;
 #endif
 # ifdef FEAT_DIFF
-		    if (wlv.diff_hlf == HLF_TXD)
+		    if (wlv.diff_hlf == HLF_TXD || wlv.diff_hlf == HLF_TXA)
 		    {
 			wlv.diff_hlf = HLF_CHD;
 			if (vi_attr == 0 || wlv.char_attr != vi_attr)
diff --git a/src/highlight.c b/src/highlight.c
index 755d75f..6567035 100644
--- a/src/highlight.c
+++ b/src/highlight.c
@@ -241,6 +241,7 @@
 #ifdef FEAT_DIFF
     CENT("DiffText term=reverse cterm=bold ctermbg=Red",
 	 "DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"),
+    "default link DiffTextAdd DiffText",
 #endif
     CENT("PmenuSbar ctermbg=Grey",
 	 "PmenuSbar ctermbg=Grey guibg=Grey"),
diff --git a/src/optiondefs.h b/src/optiondefs.h
index 38e871c..3621635 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -303,7 +303,7 @@
 # define ISP_LATIN1 (char_u *)"@,161-255"
 #endif
 
-# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,y:CurSearch,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,G:CursorLineSign,O:CursorLineFold,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,k:PmenuMatch,<:PmenuMatchSel,[:PmenuKind,]:PmenuKindSel,{:PmenuExtra,}:PmenuExtraSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC,g:MsgArea,h:ComplMatchIns"
+# define HIGHLIGHT_INIT "8:SpecialKey,~:EndOfBuffer,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,y:CurSearch,m:MoreMsg,M:ModeMsg,n:LineNr,a:LineNrAbove,b:LineNrBelow,N:CursorLineNr,G:CursorLineSign,O:CursorLineFold,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,E:DiffTextAdd,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,k:PmenuMatch,<:PmenuMatchSel,[:PmenuKind,]:PmenuKindSel,{:PmenuExtra,}:PmenuExtraSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine,z:StatusLineTerm,Z:StatusLineTermNC,g:MsgArea,h:ComplMatchIns"
 
 // Default python version for pyx* commands
 #if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3)
@@ -845,7 +845,7 @@
 								     |P_NODUP,
 #ifdef FEAT_DIFF
 			    (char_u *)&p_dip, PV_NONE, did_set_diffopt, expand_set_diffopt,
-			    {(char_u *)"internal,filler,closeoff",
+			    {(char_u *)"internal,filler,closeoff,inline:simple",
 								(char_u *)NULL}
 #else
 			    (char_u *)NULL, PV_NONE, NULL, NULL,
diff --git a/src/optionstr.c b/src/optionstr.c
index 517a835..60e28d6 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -30,8 +30,9 @@
 #endif
 #if defined(FEAT_DIFF)
 // Note: Keep this in sync with diffopt_changed()
-static char *(p_dip_values[]) = {"filler", "context:", "iblank", "icase", "iwhite", "iwhiteall", "iwhiteeol", "horizontal", "vertical", "closeoff", "hiddenoff", "foldcolumn:", "followwrap", "internal", "indent-heuristic", "algorithm:", "linematch:", NULL};
+static char *(p_dip_values[]) = {"filler", "context:", "iblank", "icase", "iwhite", "iwhiteall", "iwhiteeol", "horizontal", "vertical", "closeoff", "hiddenoff", "foldcolumn:", "followwrap", "internal", "indent-heuristic", "algorithm:", "inline:", "linematch:", NULL};
 static char *(p_dip_algorithm_values[]) = {"myers", "minimal", "patience", "histogram", NULL};
+static char *(p_dip_inline_values[]) = {"none", "simple", "char", "word", NULL};
 #endif
 static char *(p_nf_values[]) = {"bin", "octal", "hex", "alpha", "unsigned", "blank", NULL};
 static char *(p_ff_values[]) = {FF_UNIX, FF_DOS, FF_MAC, NULL};
@@ -2017,6 +2018,18 @@
 		    numMatches,
 		    matches);
 	}
+	// Within "inline:", we have a subgroup of possible options.
+	int inline_len = (int)STRLEN("inline:");
+	if (xp->xp_pattern - args->oe_set_arg >= inline_len &&
+		STRNCMP(xp->xp_pattern - inline_len, "inline:", inline_len) == 0)
+	{
+	    return expand_set_opt_string(
+		    args,
+		    p_dip_inline_values,
+		    ARRAY_LENGTH(p_dip_inline_values) - 1,
+		    numMatches,
+		    matches);
+	}
 	return FAIL;
     }
 
diff --git a/src/proto/diff.pro b/src/proto/diff.pro
index 93272ac..d4482b1 100644
--- a/src/proto/diff.pro
+++ b/src/proto/diff.pro
@@ -21,7 +21,11 @@
 int diffopt_horizontal(void);
 int diffopt_hiddenoff(void);
 int diffopt_closeoff(void);
-int diff_find_change(win_T *wp, linenr_T lnum, int *startp, int *endp);
+void diff_update_line(linenr_T lnum);
+#ifdef FEAT_DIFF
+int diff_change_parse( diffline_T *diffline, diffline_change_T *change, int *change_start, int *change_end);
+int diff_find_change( win_T *wp, linenr_T lnum, diffline_T *diffline);
+#endif
 int diff_infold(win_T *wp, linenr_T lnum);
 void nv_diffgetput(int put, long count);
 void ex_diffgetput(exarg_T *eap);
diff --git a/src/structs.h b/src/structs.h
index 1a3abcb..33c26dc 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -3571,14 +3571,17 @@
  * and how many lines it occupies in that buffer.  When the lines are missing
  * in the buffer the df_count[] is zero.  This is all counted in
  * buffer lines.
- * There is always at least one unchanged line in between the diffs.
- * Otherwise it would have been included in the diff above or below it.
+ * There is always at least one unchanged line in between the diffs (unless
+ * linematch is used).  Otherwise it would have been included in the diff above
+ * or below it.
  * df_lnum[] + df_count[] is the lnum below the change.  When in one buffer
  * lines have been inserted, in the other buffer df_lnum[] is the line below
  * the insertion and df_count[] is zero.  When appending lines at the end of
  * the buffer, df_lnum[] is one beyond the end!
  * This is using a linked list, because the number of differences is expected
  * to be reasonable small.  The list is sorted on lnum.
+ * Each diffblock also contains a cached list of inline diff of changes within
+ * the block, used for highlighting.
  */
 typedef struct diffblock_S diff_T;
 struct diffblock_S
@@ -3588,6 +3591,37 @@
     linenr_T	df_count[DB_COUNT];	// nr of inserted/changed lines
     int is_linematched;  // has the linematch algorithm ran on this diff hunk to divide it into
 			  // smaller diff hunks?
+
+    int		has_changes;		// has cached list of inline changes
+    garray_T	df_changes;		// list of inline changes (diffline_change_T)
+};
+
+/*
+ * Each entry stores a single inline change within a diff block. Line numbers
+ * are recorded as relative offsets, and columns are byte offsets, not
+ * character counts.
+ * Ranges are [start,end), with the end being exclusive.
+ */
+typedef struct diffline_change_S diffline_change_T;
+struct diffline_change_S
+{
+    colnr_T	dc_start[DB_COUNT];	// byte offset of start of range in the line
+    colnr_T	dc_end[DB_COUNT];	// 1 paste byte offset of end of range in line
+    int		dc_start_lnum_off[DB_COUNT];	// starting line offset
+    int		dc_end_lnum_off[DB_COUNT];	// end line offset
+};
+
+/*
+ * Describes a single line's list of inline changes. Use diff_change_parse() to
+ * parse this.
+ */
+typedef struct diffline_S diffline_T;
+struct diffline_S
+{
+    diffline_change_T *changes;
+    int num_changes;
+    int bufidx;
+    int lineoff;
 };
 #endif
 
diff --git a/src/testdir/dumps/Test_diff_inline_01.dump b/src/testdir/dumps/Test_diff_inline_01.dump
new file mode 100644
index 0000000..9f34257
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d|e|f| |g|h|i| |j|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B+2&#ff404010|c|e|f| |g|H|i| |l|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_02.dump b/src/testdir/dumps/Test_diff_inline_02.dump
new file mode 100644
index 0000000..2fb78a7
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b|c|d|e|f| |g|h|i| |j|k| |n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B|c|e|f| |g|H|i| |l|m| |n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_03.dump b/src/testdir/dumps/Test_diff_inline_03.dump
new file mode 100644
index 0000000..7e6cf2a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c+0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| |g|h+2&#ff404010|i+0&#ffd7ff255| |j+2&#ff404010|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B+2&#ff404010|c+0&#ffd7ff255|e|f| |g|H+2&#ff404010|i+0&#ffd7ff255| |l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_04.dump b/src/testdir/dumps/Test_diff_inline_04.dump
new file mode 100644
index 0000000..ed4f5a2
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|b|c|d|e|f| +0&#ffd7ff255|g+2&#ff404010|h|i| +0&#ffd7ff255|j+2&#ff404010|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|B|c|e|f| +0&#ffd7ff255|g+2&#ff404010|H|i| +0&#ffd7ff255|l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_05.dump b/src/testdir/dumps/Test_diff_inline_05.dump
new file mode 100644
index 0000000..f2d0c7c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_05.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c+0&#ffd7ff255|d+0&#4040ff13|e+0&#ffd7ff255|f| |g|h+2&#ff404010|i+0&#ffd7ff255| |j+2&#ff404010|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B+2&#ff404010|c+0&#ffd7ff255|e|f| |g|H+2&#ff404010|i+0&#ffd7ff255| |l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_06.dump b/src/testdir/dumps/Test_diff_inline_06.dump
new file mode 100644
index 0000000..67f4b5b
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_06.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|s+2#0000000#ff404010|o|m|e|t|e|x|t>a|b|c|d|e+0&#ffd7ff255|f| |g|h+2&#ff404010|i+0&#ffd7ff255| |j+2&#ff404010|k| +0&#ffd7ff255|n| @11||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|B|c|e+0&#ffd7ff255|f| |g|H+2&#ff404010|i+0&#ffd7ff255| |l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| |[|+|]| @6|1|,|9| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|9| @11|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_diff_inline_07.dump b/src/testdir/dumps/Test_diff_inline_07.dump
new file mode 100644
index 0000000..3129968
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_07.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b|c|d+2&#ff404010|e|f| |g|h|i| |j|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B|c|e+2&#ff404010|f| |g|H|i| |l|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_08.dump b/src/testdir/dumps/Test_diff_inline_08.dump
new file mode 100644
index 0000000..baf74b5
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_08.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b|c|d+0&#4040ff13|e+0&#ffd7ff255|f| |g|h|i| |j+2&#ff404010|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|B|c|e|f| |g|H|i| |l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_09.dump b/src/testdir/dumps/Test_diff_inline_09.dump
new file mode 100644
index 0000000..b8dcad6
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_09.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|b|c|d|e|f| +0&#ffd7ff255|g|h|i| |j+2&#ff404010|k| +0&#ffd7ff255|n| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|B|c|e|f| +0&#ffd7ff255|g|H|i| |l+2&#ff404010|m| +0&#ffd7ff255|n| @20
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|z+0#0000000#5fd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_10.dump b/src/testdir/dumps/Test_diff_inline_10.dump
new file mode 100644
index 0000000..27095fb
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_10.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010|p@1|l|e+0&#ffd7ff255|s| |a|n|d| |o+2&#ff404010|r|a|n|g|e+0&#ffd7ff255|s| @16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|r|a|n|g|e+0&#ffd7ff255|s| |a|n|d| |a+2&#ff404010|p@1|l|e+0&#ffd7ff255|s| @16
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_11.dump b/src/testdir/dumps/Test_diff_inline_11.dump
new file mode 100644
index 0000000..a485a9a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_11.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#4040ff13|p@1|l|e|s| |a|n|d| |o+0&#ffd7ff255|r|a|n|g|e|s| @16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|r|a|n|g|e|s| +0&#4040ff13|a|n|d| |a|p@1|l|e|s| +0&#ffd7ff255@16
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_12.dump b/src/testdir/dumps/Test_diff_inline_12.dump
new file mode 100644
index 0000000..b6894f3
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_12.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |s+2&#ff404010|i+0&#ffd7ff255|g|m|a| |i|n| |6|σ+2&#ff404010| +0&#ffd7ff255|a|n|d| |Ὀ|δ+2&#ff404010|υ|σ@1|ε|ύ|ς| +0&#ffd7ff255@6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |S+2&#ff404010|i+0&#ffd7ff255|g|m|a| |i|n| |6|Σ+2&#ff404010| +0&#ffd7ff255|a|n|d| |Ὀ|Δ+2&#ff404010|Υ|Σ@1|Ε|Ύ|Σ| +0&#ffd7ff255@6
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |a+2&#ff404010|n+0&#ffd7ff255|g|s|t|r|o|m| |i|n| |å+2&#ff404010@1| +0&#ffd7ff255@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |A+2&#ff404010|n+0&#ffd7ff255|g|s|t|r|o|m| |i|n| |Å+2&#ff404010|Å| +0&#ffd7ff255@16
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |c+2&#ff404010|o+0&#ffd7ff255|m|p|o|s|i|n|g|:| |i+0&#4040ff13|i⃗+0&#ffd7ff255|I⃗| @16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |C+2&#ff404010|o+0&#ffd7ff255|m|p|o|s|i|n|g|:| |i⃗|I⃗|I⃗+0&#4040ff13| +0&#ffd7ff255@16
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_13.dump b/src/testdir/dumps/Test_diff_inline_13.dump
new file mode 100644
index 0000000..a3ddf8c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_13.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |s|i|g|m|a| |i|n| |6|σ| |a|n|d| |Ὀ|δ|υ|σ@1|ε|ύ|ς| @6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |S|i|g|m|a| |i|n| |6|Σ| |a|n|d| |Ὀ|Δ|Υ|Σ@1|Ε|Ύ|Σ| @6
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |a|n|g|s|t|r|o|m| |i|n| |å@1| @16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |A|n|g|s|t|r|o|m| |i|n| |Å|Å| @16
+| +0#0000e05#a8a8a8255@1|1+2#0000000#ff404010| +0&#ffd7ff255|-| |c|o|m|p|o|s|i|n|g|:| |i+2&#ff404010|i⃗+0&#ffd7ff255|I⃗| @16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|2+2#0000000#ff404010| +0&#ffd7ff255|-| |C|o|m|p|o|s|i|n|g|:| |i⃗+2&#ff404010|I⃗+0&#ffd7ff255@1| @16
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_14.dump b/src/testdir/dumps/Test_diff_inline_14.dump
new file mode 100644
index 0000000..9946527
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_14.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b|c|😅*2&#ff404010|x+&|d+0&#ffd7ff255|e|一*0&#4040ff13| +0&#ffd7ff255@24||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b|c|y+2&#ff404010|😢*&|d+0&#ffd7ff255|e| @26
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|🚀*&|g+&| @30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|二*0#0000000#4040ff13|f+0&#ffd7ff255|🚀*&|g+&| @28
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_15.dump b/src/testdir/dumps/Test_diff_inline_15.dump
new file mode 100644
index 0000000..91ac04b
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_15.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|^+2#0000e05#ff404010|@|3+0#0000000#ffd7ff255|4|^+0#0000e05&|@|5+0#0000000&|^+2#0000e05#ff404010|@|6+0#0000000#ffd7ff255| @23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|2+2&#ff404010|3+0&#ffd7ff255|4|^+0#0000e05&|@|5+0#0000000&| @27
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|6+0#0000000#ffd7ff255| @33
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_char_01.dump b/src/testdir/dumps/Test_diff_inline_char_01.dump
new file mode 100644
index 0000000..ce703ea
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_char_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffd7ff255|r|e|f|i|x|F|o@1|,| |p|r|e|f|i|x|E|n|d| @14||+1&#ffffff0| +0#0000e05#a8a8a8255@1|p+0#0000000#ffd7ff255|r|e|f|i|x|F|o@1|,| |p+0&#4040ff13|r|e|f|i|x|B|a|r|,| |p+0&#ffd7ff255|r|e|f|i|x|E|n|d| @3
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_char_02.dump b/src/testdir/dumps/Test_diff_inline_char_02.dump
new file mode 100644
index 0000000..b707200
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_char_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c+0&#ffd7ff255|d+2&#ff404010|e|f|g|h|i|j|k|l|m|n|o+0&#ffd7ff255| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|?+2&#ff404010|c+0&#ffd7ff255|?+2&#ff404010|e|?|g|?|i|?|k|?@2|o+0&#ffd7ff255| @19
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|1| @27||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|1| @27
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d+0&#ffd7ff255|e|f+2&#ff404010|g|h|i|j|k+0&#ffd7ff255|l|m|n|o| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|?+2&#ff404010@1|d+0&#ffd7ff255|e|?+2&#ff404010@4|k+0&#ffd7ff255|l|m|n|o| @19
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|2| @27||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|2| @27
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d|e|f|g|h|i|j|k|l+0&#ffd7ff255|m|n|o| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|?+2&#ff404010@1|d|e|?@5|l+0&#ffd7ff255|m|n|o| @19
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|3| @27||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r|3| @27
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e+2&#ff404010|s+0&#ffd7ff255|t+2&#ff404010| +0&#ffd7ff255@30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|?+2&#ff404010|s+0&#ffd7ff255|?+2&#ff404010| +0&#ffd7ff255@30
+| +0#0000e05#a8a8a8255@1|m+2#0000000#ff404010|u|l|t|i|l|i|n|e+0&#ffd7ff255| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|?+2#0000000#ff404010@5|i|?|e+0&#ffd7ff255| @25
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_01.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_01.dump
new file mode 100644
index 0000000..8b40257
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|a+2&#ff404010|t| +0&#ffd7ff255|i|s| |b|u|f@1|e|r|1+2&#ff404010|.+0&#ffd7ff255| @6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i+2&#ff404010|s| +0&#ffd7ff255|i|s| |b|u|f@1|e|r|2+2&#ff404010|.+0&#ffd7ff255| @5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i+2&#ff404010|s| +0&#ffd7ff255|i|s| |b|u|f@1|e|r|3+2&#ff404010|.| |L|a|s|t|.+0&#ffd7ff255
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @16||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |r+2&#ff404010|a|n|d|o|m| |t+0&#ffd7ff255|e|x|t| @6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |t|e|x|t| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |m+2&#ff404010|o|r|e| +0&#ffd7ff255@12
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@22||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t| +0&#4040ff13|h|e|r|e|.| +0&#ffd7ff255@11
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @16||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@22||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|u|f@1|e|r|2|/|3| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#4040ff13|n|l|y| |i|n| |b+0&#ffd7ff255|u|f@1|e|r|2|/|3| @4
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@22||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|n+0#0000000#5fd7ff255|o|t| |i|n| |b|u|f@1|e|r|1| @7
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_02.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_02.dump
new file mode 100644
index 0000000..d6358d4
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_02.dump
@@ -0,0 +1,20 @@
+|T+0&#ffffff0|h|a|t| |i|s| |b|u|f@1|e|r|1|.| @8||+1&&| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i|s| |i|s| |b|u|f@1|e|r|2+2&#ff404010|.+0&#ffd7ff255| @5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i|s| |i|s| |b|u|f@1|e|r|3+2&#ff404010|.| |L|a|s|t|.+0&#ffd7ff255
+|a+0&#ffffff0|n|c|h|o|r| @18||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+|S|o|m|e| |r|a|n|d|o|m| |t|e|x|t| @8||+1&&| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |t|e|x|t| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |m+0&#4040ff13|o|r|e| +0&#ffd7ff255@12
+|a+0&#ffffff0|n|c|h|o|r| @18||+1&&| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t| +0&#4040ff13|h|e|r|e|.| +0&#ffd7ff255@11
+|~+0#4040ff13#ffffff0| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+|~+0#4040ff13&| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|u|f@1|e|r|2|/|3| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#4040ff13|n|l|y| |i|n| |b+0&#ffd7ff255|u|f@1|e|r|2|/|3| @4
+|~+0#4040ff13#ffffff0| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|n+0#0000000#5fd7ff255|o|t| |i|n| |b|u|f@1|e|r|1| @7
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_03.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_03.dump
new file mode 100644
index 0000000..21bbfba
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_03.dump
@@ -0,0 +1,20 @@
+|s+0&#ffffff0|o|m|e|t|e|x|t>T|h|a|t| |i|s| |b|u|f@1|e|r|1|.| ||+1&&| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i|s| |i|s| |b|u|f@1|e|r|2+2&#ff404010|.+0&#ffd7ff255| @5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+0#0000000#ffd7ff255|h|i|s| |i|s| |b|u|f@1|e|r|3+2&#ff404010|.| |L|a|s|t|.+0&#ffd7ff255
+|a+0&#ffffff0|n|c|h|o|r| @18||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+|S|o|m|e| |r|a|n|d|o|m| |t|e|x|t| @8||+1&&| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |t|e|x|t| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|S+0#0000000#ffd7ff255|o|m|e| |m+0&#4040ff13|o|r|e| +0&#ffd7ff255@12
+|a+0&#ffffff0|n|c|h|o|r| @18||+1&&| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t| +0&#4040ff13|h|e|r|e|.| +0&#ffd7ff255@11
+|~+0#4040ff13#ffffff0| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0|n|c|h|o|r| @15
+|~+0#4040ff13&| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|u|f@1|e|r|2|/|3| @12||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#4040ff13|n|l|y| |i|n| |b+0&#ffd7ff255|u|f@1|e|r|2|/|3| @4
+|~+0#4040ff13#ffffff0| @23||+1#0000000&| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@21||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|n+0#0000000#5fd7ff255|o|t| |i|n| |b|u|f@1|e|r|1| @7
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+3#0000000&|d|i|f|i|l|e|1| |[|+|]| |1|,|9| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_04.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_04.dump
new file mode 100644
index 0000000..3da504b
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|T+2#0000000#ff404010|h|i|s|+|i|s|=+0&#ffd7ff255|a+2&#ff404010|-+0&#ffd7ff255|s|e|t|e|n|c|e| @5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+2#0000000#ff404010|h|i|s|+|i|s|=+0&#ffd7ff255|a+2&#ff404010|n|o|t|h|e|r|-+0&#ffd7ff255|s|e|t|e|n|c||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+2#0000000#ff404010|h|a|t|+|i|s|=+0&#ffd7ff255|a+2&#ff404010|-+0&#ffd7ff255|s|e|t|e|n|c|e| @4
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_05.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_05.dump
new file mode 100644
index 0000000..0f5ef73
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_05.dump
@@ -0,0 +1,20 @@
+|T+0&#ffffff0|h|i|s|+|i|s|=|a|-|s|e|t|e|n|c|e| @7||+1&&| +0#0000e05#a8a8a8255@1|T+2#0000000#ff404010|h|i|s|++0&#ffd7ff255|i|s|=|a+2&#ff404010|n|o|t|h|e|r|-|s|e|t|e|n|c||+1&#ffffff0| +0#0000e05#a8a8a8255@1|T+2#0000000#ff404010|h|a|t|++0&#ffd7ff255|i|s|=|a+2&#ff404010|-|s|e|t|e|n|c|e| +0&#ffd7ff255@4
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_06.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_06.dump
new file mode 100644
index 0000000..8c37b13
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_06.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d|e|f|g+0&#ffd7ff255|h|i|j|k|Y+2&#ff404010|m|Y@2| +0&#ffd7ff255@6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|X+2&#ff404010@1|d|X@1|g+0&#ffd7ff255|h|i|j|k|l+2&#ff404010|m|n|o|p| +0&#ffd7ff255@5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d|e|f|g+0&#ffd7ff255|h|i|j|k|Y+2&#ff404010|m|Y|o|p| +0&#ffd7ff255@5
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multibuffer_07.dump b/src/testdir/dumps/Test_diff_inline_multibuffer_07.dump
new file mode 100644
index 0000000..0db4f77
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multibuffer_07.dump
@@ -0,0 +1,20 @@
+|a+0&#ffffff0|b|c|d|e|f|g|h|i|j|k|Y|m|Y@2| @8||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|X+2&#ff404010@1|d|X@1|g+0&#ffd7ff255|h|i|j|k|l+2&#ff404010|m+0&#ffd7ff255|n+2&#ff404010|o+0&#ffd7ff255|p| @5||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffd7ff255|b+2&#ff404010|c|d|e|f|g+0&#ffd7ff255|h|i|j|k|Y+2&#ff404010|m+0&#ffd7ff255|Y+2&#ff404010|o+0&#ffd7ff255|p| @5
+|~+0#4040ff13#ffffff0| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|X+3#0000000&|d|i|f|i|l|e|1| @4|1|,|1| @5|A|l@1| |X+1&&|d|i|f|i|l|e|2| @3|1|,|1| @5|A|l@1| |X|d|i|f|i|l|e|3| @3|1|,|1| @5|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_01.dump b/src/testdir/dumps/Test_diff_inline_multiline_01.dump
new file mode 100644
index 0000000..53d6139
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| +0&#4040ff13|t+0&#ffd7ff255|e|s|t| @17
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| +0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| @23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| +0&#ffd7ff255|Y+2&#ff404010|e+0&#ffd7ff255|f| @19
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e| @31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_02.dump b/src/testdir/dumps/Test_diff_inline_multiline_02.dump
new file mode 100644
index 0000000..c7bf4cb
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s+2&#ff404010|o|m|e| +0&#ffd7ff255|t+2&#ff404010|e|s|t| +0&#ffd7ff255@17
+| +0#0000e05#a8a8a8255@1|s+2#0000000#ff404010|o|m|e|t|e|s|t| +0&#ffd7ff255|t+2&#ff404010|e|x|t| +0&#ffd7ff255|f+2&#ff404010|o@1| +0&#ffd7ff255@17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+2#0000000#ff404010|e|x|t|s| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+2#0000000#ff404010|a|z| +0&#ffd7ff255|a+2&#ff404010|b|c| +0&#ffd7ff255|d+2&#ff404010|e|f| +0&#ffd7ff255@23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+2#0000000#ff404010|o@1| +0&#ffd7ff255|b+2&#ff404010|a|r| +0&#ffd7ff255|a+2&#ff404010|b|X| +0&#ffd7ff255|Y+2&#ff404010|e|f| +0&#ffd7ff255@19
+| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e|w|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+2#0000000#ff404010|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_03.dump b/src/testdir/dumps/Test_diff_inline_multiline_03.dump
new file mode 100644
index 0000000..3cc0dbe
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| | +0&#4040ff13@1|i+0&#ffd7ff255|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| +0&#4040ff13|t+0&#ffd7ff255|e|s|t| @17
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| +0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| @23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| +0&#ffd7ff255|Y+2&#ff404010|e+0&#ffd7ff255|f| @19
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e| @31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_04.dump b/src/testdir/dumps/Test_diff_inline_multiline_04.dump
new file mode 100644
index 0000000..4aef70c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| | +0&#4040ff13@1|i+0&#ffd7ff255|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s+2&#ff404010|o|m|e| +0&#ffd7ff255|t+2&#ff404010|e|s|t| +0&#ffd7ff255@17
+| +0#0000e05#a8a8a8255@1|s+2#0000000#ff404010|o|m|e|t|e|s|t| +0&#ffd7ff255|t+2&#ff404010|e|x|t| +0&#ffd7ff255|f|o@1| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+2#0000000#ff404010|e|x|t|s| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+2#0000000#ff404010|a|z| +0&#ffd7ff255|a+2&#ff404010|b|c| +0&#ffd7ff255|d+2&#ff404010|e|f| +0&#ffd7ff255@23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b+2&#ff404010|a|r| +0&#ffd7ff255|a+2&#ff404010|b|X| +0&#ffd7ff255|Y+2&#ff404010|e|f| +0&#ffd7ff255@19
+| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e|w|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+2#0000000#ff404010|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_05.dump b/src/testdir/dumps/Test_diff_inline_multiline_05.dump
new file mode 100644
index 0000000..7ff92f7
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_05.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| |t|e|s|t| @17
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| |d|e+0&#ffd7ff255|f| @23||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| |Y|e+0&#ffd7ff255|f| @19
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e| @31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_06.dump b/src/testdir/dumps/Test_diff_inline_multiline_06.dump
new file mode 100644
index 0000000..9a75667
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_06.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @25||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s+2&#ff404010|o|m|e| |t|e|s|t| +0&#ffd7ff255@17
+| +0#0000e05#a8a8a8255@1|s+2#0000000#ff404010|o|m|e|t|e|s|t| |t|e|x|t| +0&#ffd7ff255|f|o@1| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+2#0000000#ff404010|e|x|t|s| +0&#ffd7ff255@29
+| +0#0000e05#a8a8a8255@1|b+2#0000000#ff404010|a|z| |a|b|c| |d|e|f| | +0&#ffd7ff255@22||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b+2&#ff404010|a|r| |a|b|X| |Y|e|f| @4| +0&#ffd7ff255@14
+| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+2#0000000#ff404010|n|e|w|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @14
+| +0#0000e05#a8a8a8255@1|w+2#0000000#ff404010|o|r|d| +0&#ffd7ff255|a|n|o|t|h|e|r| |w|o|r|d| @17||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e| @19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_07.dump b/src/testdir/dumps/Test_diff_inline_multiline_07.dump
new file mode 100644
index 0000000..de58a6a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_07.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| | +0&#4040ff13@1|i+0&#ffd7ff255|s| | +0&#4040ff13@1|$+0#4040ff13&| +0#0000000#ffd7ff255@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| +0&#4040ff13|t+0&#ffd7ff255|e|s|t|$+2#4040ff13#ff404010| +0#0000000#ffd7ff255@16
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| +2&#ff404010|t+0&#ffd7ff255|e|x|t| +2&#ff404010|f+0&#ffd7ff255|o@1|$+2#4040ff13#ff404010| +0#0000000#ffd7ff255@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+2&#ff404010|$+2#4040ff13&| +0#0000000#ffd7ff255@28
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| +0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| |$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| +2&#ff404010|b+0&#ffd7ff255|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| +0&#ffd7ff255|Y+2&#ff404010|e+0&#ffd7ff255|f| | +0&#4040ff13@3|$+0#4040ff13#ffd7ff255| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|$+0#4040ff13#4040ff13| +0#0000000#ffd7ff255@30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e|$+0#4040ff13&| +0#0000000&@18||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+1#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+3&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_08.dump b/src/testdir/dumps/Test_diff_inline_multiline_08.dump
new file mode 100644
index 0000000..901ea46
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_08.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @2|$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| +0&#4040ff13|t+0&#ffd7ff255|e|s|t|$+0#4040ff13&| +0#0000000&@16
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13|$+0#4040ff13#ffd7ff255| +0#0000000&@28
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| +0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| |$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| +0&#ffd7ff255|Y+2&#ff404010|e+0&#ffd7ff255|f| @4|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|$+0#4040ff13#4040ff13| +0#0000000#ffd7ff255@30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e|$+0#4040ff13&| +0#0000000&@18||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+1#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+3&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_09.dump b/src/testdir/dumps/Test_diff_inline_multiline_09.dump
new file mode 100644
index 0000000..91f59cd
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_09.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| | +0&#4040ff13@1|i+0&#ffd7ff255|s| @2|$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| +0&#4040ff13|t+0&#ffd7ff255|e|s|t|$+0#4040ff13&| +0#0000000&@16
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13|$+0#4040ff13#ffd7ff255| +0#0000000&@28
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| +0&#ffd7ff255|d+2&#ff404010|e+0&#ffd7ff255|f| |$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| +0&#ffd7ff255|Y+2&#ff404010|e+0&#ffd7ff255|f| @4|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|$+0#4040ff13#4040ff13| +0#0000000#ffd7ff255@30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e|$+0#4040ff13&| +0#0000000&@18||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+1#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+3&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_multiline_10.dump b/src/testdir/dumps/Test_diff_inline_multiline_10.dump
new file mode 100644
index 0000000..212c247
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_multiline_10.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| @2|i|s| @2|$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|h|i|s| |i|s| |s|o|m|e| |t|e|s|t|$+0#4040ff13&| +0#0000000&@16
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffd7ff255|o|m|e|t|e|s|t| |t|e|x|t| |f|o@1|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|t+0#0000000#ffd7ff255|e|x|t|s+0&#4040ff13|$+0#4040ff13#ffd7ff255| +0#0000000&@28
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffd7ff255|a|z+2&#ff404010| +0&#ffd7ff255|a|b|c+2&#ff404010| |d|e+0&#ffd7ff255|f| |$+0#4040ff13&| +0#0000000&@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1| |b|a|r+2&#ff404010| +0&#ffd7ff255|a|b|X+2&#ff404010| |Y|e+0&#ffd7ff255|f| @4|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|$+0#4040ff13&| +0#0000000&@30||+1&#ffffff0| +0#0000e05#a8a8a8255@1|o+0#0000000#ffd7ff255|n|e|w|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@13
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffd7ff255|o|r|d| |a|n|o|t|h|e|r| |w|o|r|d|$+0#4040ff13&| +0#0000000&@16||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|d@1|i|t|i|o|n|a|l| |l|i|n|e|$+0#4040ff13&| +0#0000000&@18||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+1#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+3&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_word_01.dump b/src/testdir/dumps/Test_diff_inline_word_01.dump
new file mode 100644
index 0000000..c7b7bdb
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_word_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1|+|b+2&#ff404010|a|r| +0&#ffd7ff255|t|e|s|t| @22||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#ffd7ff255|o@1|+|b+2&#ff404010|a|z| +0&#ffd7ff255|t|e|s|t| @22
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_inline_word_02.dump b/src/testdir/dumps/Test_diff_inline_word_02.dump
new file mode 100644
index 0000000..db6865d
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_inline_word_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|f+2#0000000#ff404010|o@1|+|b|a|r| +0&#ffd7ff255|t|e|s|t| @22||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+2#0000000#ff404010|o@1|+|b|a|z| +0&#ffd7ff255|t|e|s|t| @22
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim
index b3a89a0..8842454 100644
--- a/src/testdir/gen_opt_test.vim
+++ b/src/testdir/gen_opt_test.vim
@@ -182,10 +182,12 @@
       \		'closeoff', 'hiddenoff', 'foldcolumn:0', 'foldcolumn:12',
       \		'followwrap', 'internal', 'indent-heuristic', 'algorithm:myers',
       \		'icase,iwhite', 'algorithm:minimal', 'algorithm:patience',
-      \		'algorithm:histogram', 'linematch:5'],
+      \		'algorithm:histogram', 'inline:none', 'inline:simple',
+      \		'inline:char', 'inline:word', 'inline:char,inline:word', 'linematch:5'],
       \		['xxx', 'foldcolumn:', 'foldcolumn:x', 'foldcolumn:xxx',
       \		'linematch:', 'linematch:x', 'linematch:xxx', 'algorithm:',
-      \		'algorithm:xxx', 'context:', 'context:x', 'context:xxx']],
+      \		'algorithm:xxx', 'context:', 'context:x', 'context:xxx',
+      \		'inline:xxx']],
       \ 'display': [['', 'lastline', 'truncate', 'uhex', 'lastline,uhex'],
       \		['xxx']],
       \ 'eadirection': [['', 'both', 'ver', 'hor'], ['xxx', 'ver,hor']],
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index b62266b..6c87da9 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
Binary files differ
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 6a561ac..2b90459 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -612,10 +612,11 @@
   call assert_equal([], getcompletion('set completepopup=bogusname:', 'cmdline'))
   set previewpopup& completepopup&
 
-  " diffopt: special handling of algorithm:<alg_list>
+  " diffopt: special handling of algorithm:<alg_list> and inline:<inline_type>
   call assert_equal('filler', getcompletion('set diffopt+=', 'cmdline')[0])
   call assert_equal([], getcompletion('set diffopt+=iblank,foldcolumn:', 'cmdline'))
   call assert_equal('patience', getcompletion('set diffopt+=iblank,algorithm:pat*', 'cmdline')[0])
+  call assert_equal('char', getcompletion('set diffopt+=iwhite,inline:ch*', 'cmdline')[0])
 
   " highlight: special parsing, including auto-completing highlight groups
   " after ':'
@@ -705,7 +706,7 @@
   call assert_equal([], getcompletion('set diffopt-=', 'cmdline'))
   " Test all possible values
   call assert_equal(['filler', 'context:', 'iblank', 'icase', 'iwhite', 'iwhiteall', 'iwhiteeol', 'horizontal',
-        \ 'vertical', 'closeoff', 'hiddenoff', 'foldcolumn:', 'followwrap', 'internal', 'indent-heuristic', 'algorithm:', 'linematch:'],
+        \ 'vertical', 'closeoff', 'hiddenoff', 'foldcolumn:', 'followwrap', 'internal', 'indent-heuristic', 'algorithm:', 'inline:', 'linematch:'],
         \ getcompletion('set diffopt=', 'cmdline'))
   set diffopt&
 
diff --git a/src/version.c b/src/version.c
index db9588e..946c11e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1243,
+/**/
     1242,
 /**/
     1241,
diff --git a/src/vim.h b/src/vim.h
index 55b9011..29c3cb8 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1517,7 +1517,8 @@
     , HLF_ADD	    // Added diff line
     , HLF_CHD	    // Changed diff line
     , HLF_DED	    // Deleted diff line
-    , HLF_TXD	    // Text Changed in diff line
+    , HLF_TXD	    // Text Changed in changed diff line
+    , HLF_TXA	    // Text Added in changed diff line
     , HLF_CONCEAL   // Concealed text
     , HLF_SC	    // Sign column
     , HLF_SPB	    // SpellBad
@@ -1551,7 +1552,7 @@
 // When changing this also adjust the default for 'highlight'.
 #define HL_FLAGS {'8', '~', '@', 'd', 'e', 'h', 'i', 'l', 'y', 'm', 'M', \
 		  'n', 'a', 'b', 'N', 'G', 'O', 'r', 's', 'S', 'c', 't', 'v', 'V', \
-		  'w', 'W', 'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
+		  'w', 'W', 'f', 'F', 'A', 'C', 'D', 'T', 'E', '-', '>', \
 		  'B', 'P', 'R', 'L', \
 		  '+', '=', 'k', '<','[', ']', '{', '}', 'x', 'X', \
 		  '*', '#', '_', '!', '.', 'o', 'q', \
