updated for version 7.3.538
Problem:    'efm' does not handle Tabs in pointer lines.
Solution:   Add Tab support. Improve tests. (Lech Lorens)
diff --git a/src/quickfix.c b/src/quickfix.c
index c6e409c..bbcebe4 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -247,7 +247,7 @@
 			{'t', "."},
 			{'m', ".\\+"},
 			{'r', ".*"},
-			{'p', "[- .]*"},
+			{'p', "[- 	.]*"},
 			{'v', "\\d\\+"},
 			{'s', ".\\+"}
 		    };
@@ -677,11 +677,23 @@
 		}
 		if ((i = (int)fmt_ptr->addr[7]) > 0)		/* %p */
 		{
+		    char_u	*match_ptr;
+
 		    if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
 			continue;
-		    col = (int)(regmatch.endp[i] - regmatch.startp[i] + 1);
-		    if (*((char_u *)regmatch.startp[i]) != TAB)
-			use_viscol = TRUE;
+		    col = 0;
+		    for (match_ptr = regmatch.startp[i];
+				   match_ptr != regmatch.endp[i]; ++match_ptr)
+		    {
+			++col;
+			if (*match_ptr == TAB)
+			{
+			    col += 7;
+			    col -= col % 8;
+			}
+		    }
+		    ++col;
+		    use_viscol = TRUE;
 		}
 		if ((i = (int)fmt_ptr->addr[8]) > 0)		/* %v */
 		{
diff --git a/src/testdir/test10.in b/src/testdir/test10.in
index 50ef86e..2d0d546 100644
--- a/src/testdir/test10.in
+++ b/src/testdir/test10.in
Binary files differ
diff --git a/src/testdir/test10.ok b/src/testdir/test10.ok
index 01d47e8..76a02f4 100644
--- a/src/testdir/test10.ok
+++ b/src/testdir/test10.ok
@@ -1,23 +1,23 @@
 start of testfile
-line 2  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 3  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 4  xxxAxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 5  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 6  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 7  xxxxxxxxxxBxxxxxxxxxxxxxxxxxxx
-line 8  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 9  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-Cine 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-Dine 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
-line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line  2
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line  3
+	xxxxxxxxxxAxxxxxxxxxxxxxxxxxxx    line  4
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line  5
+	xxxxxxxxxxxxxxxxxLINE 6, COL 19   line  6
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line  7
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line  8
+	NO COLUMN SPECIFIEDxxxxxxxxxxx    line  9
+	AGAIN NO COLUMNxxxxxxxxxxxxxxx    line 10
+COL 1	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line 11
+	COL 2xxxxxxxxxxxxxxxxxxxxxxxxx    line 12
+	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line 13
+	xxxxxxxxCOL 10xxxxxxxxxxxxxxxx    line 14
+	xVCOL 10xxxxxxxxxxxxxxxxxxxxxx    line 15
+	Ixxxxxxxxxxxxxxxxxxxxxxxxxxxxx    line 16
+	xxxx. SPACE POINTERxxxxxxxxxxx    line 17
+	xxxxx. DOT POINTERxxxxxxxxxxxx    line 18
+	xxxxxx. DASH POINTERxxxxxxxxxx    line 19
+	xxxxxxx. TAB-SPACE POINTERxxxx    line 20
+	xxxxxxxx:cf Xerrorfile1xxxxxxx    line 21
+	xxxxxxxx:cf Xerrorfile2xxxxxxx    line 22
 end of testfile
diff --git a/src/version.c b/src/version.c
index 0794bed..4f3ef5b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    538,
+/**/
     537,
 /**/
     536,