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,
