updated for version 7.4b.020
Problem:    "g~ap" changes first character of next paragraph. (Manuel Ortega)
Solution:   Avoid subtracting (0 - 1) from todo.  (Mike Williams)
diff --git a/src/testdir/test82.in b/src/testdir/test82.in
index 63a81e7..8503f54 100644
--- a/src/testdir/test82.in
+++ b/src/testdir/test82.in
@@ -1,4 +1,5 @@
 Tests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)
+Also test "g~ap".
 
 STARTTEST
 :so small.vim
@@ -88,6 +89,15 @@
 :for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
 :for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
 :call append(0, printf('%d checks passed', b:passed))
+:"
+:" test that g~ap changes one paragraph only.
+:new
+iabcd
+
+defggg0g~ap:let lns = getline(1,3)
+:q!
+:call append(line('$'), lns)
+:"
 :wq! test.out
 ENDTEST
 
diff --git a/src/testdir/test82.ok b/src/testdir/test82.ok
index fa65883..3f1866a 100644
--- a/src/testdir/test82.ok
+++ b/src/testdir/test82.ok
@@ -1,2 +1,5 @@
 3732 checks passed
 
+ABCD
+
+defg