diff src/normal.c @ 6661:950e24f26ef8 v7.4.655

updated for version 7.4.655 Problem: Text deleted by "dit" depends on indent of closing tag. (Jan Parthey) Solution: Do not adjust oap->end in do_pending_operator(). (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Thu, 05 Mar 2015 19:57:49 +0100
parents e527af42e108
children bc62d1988bf2
line wrap: on
line diff
--- a/src/normal.c
+++ b/src/normal.c
@@ -9198,6 +9198,14 @@ nv_object(cap)
 		flag = current_block(cap->oap, cap->count1, include, '<', '>');
 		break;
 	case 't': /* "at" = a tag block (xml and html) */
+		/* Do not adjust oap->end in do_pending_operator()
+		 * otherwise there are different results for 'dit'
+		 * (note leading whitespace in last line):
+		 * 1) <b>      2) <b>
+		 *    foobar      foobar
+		 *    </b>            </b>
+		 */
+		cap->retval |= CA_NO_ADJ_OP_END;
 		flag = current_tagblock(cap->oap, cap->count1, include);
 		break;
 	case 'p': /* "ap" = a paragraph */