diff --git a/src/fold.c b/src/fold.c
index 9597ab8..a186bef 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -1970,7 +1970,7 @@
 	long count = (long)(lnume - lnum + 1);
 
 	vim_snprintf((char *)buf, FOLD_TEXT_LEN,
-		     ngettext("+--%3ld line folded ",
+		     NGETTEXT("+--%3ld line folded ",
 					       "+--%3ld lines folded ", count),
 		     count);
 	text = buf;
@@ -1998,7 +1998,7 @@
     /* Ignore leading and trailing white space in 'commentstring'. */
     cms_start = skipwhite(curbuf->b_p_cms);
     cms_slen = (int)STRLEN(cms_start);
-    while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
+    while (cms_slen > 0 && VIM_ISWHITE(cms_start[cms_slen - 1]))
 	--cms_slen;
 
     /* locate "%s" in 'commentstring', use the part before and after it. */
@@ -2009,7 +2009,7 @@
 	cms_slen = (int)(cms_end - cms_start);
 
 	/* exclude white space before "%s" */
-	while (cms_slen > 0 && vim_iswhite(cms_start[cms_slen - 1]))
+	while (cms_slen > 0 && VIM_ISWHITE(cms_start[cms_slen - 1]))
 	    --cms_slen;
 
 	/* skip "%s" and white space after it */
@@ -2033,7 +2033,7 @@
 
 	    /* May remove 'commentstring' start.  Useful when it's a double
 	     * quote and we already removed a double quote. */
-	    for (p = s; p > str && vim_iswhite(p[-1]); --p)
+	    for (p = s; p > str && VIM_ISWHITE(p[-1]); --p)
 		;
 	    if (p >= str + cms_slen
 			   && STRNCMP(p - cms_slen, cms_start, cms_slen) == 0)
@@ -2058,7 +2058,7 @@
 	}
 	if (len != 0)
 	{
-	    while (vim_iswhite(s[len]))
+	    while (VIM_ISWHITE(s[len]))
 		++len;
 	    STRMOVE(s, s + len);
 	}
