diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 20b2457..d4c725c 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1467,7 +1467,7 @@
 
 	// First time inside the ":while"/":for": get line normally.
 	if (cp->getline == NULL)
-	    line = getcmdline(c, 0L, indent, options);
+	    line = getcmdline(c, 0L, indent, 0);
 	else
 	    line = cp->getline(c, cp->cookie, indent, options);
 	if (line != NULL && store_loop_line(cp->lines_gap, line) == OK)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index bffdf65..b4316d8 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1554,10 +1554,10 @@
  */
     char_u *
 getcmdline(
-    int		firstc,
-    long	count,		// only used for incremental search
-    int		indent,		// indent for inside conditionals
-    int		do_concat UNUSED)
+    int		  firstc,
+    long	  count,	// only used for incremental search
+    int		  indent,	// indent for inside conditionals
+    getline_opt_T do_concat UNUSED)
 {
     return getcmdline_int(firstc, count, indent, TRUE);
 }
diff --git a/src/normal.c b/src/normal.c
index f925aa1..165b185 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4388,7 +4388,7 @@
 
     // When using 'incsearch' the cursor may be moved to set a different search
     // start position.
-    cap->searchbuf = getcmdline(cap->cmdchar, cap->count1, 0, TRUE);
+    cap->searchbuf = getcmdline(cap->cmdchar, cap->count1, 0, 0);
 
     if (cap->searchbuf == NULL)
     {
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index d6f1911..d56893a 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -1,6 +1,6 @@
 /* ex_getln.c */
 void cmdline_init(void);
-char_u *getcmdline(int firstc, long count, int indent, int do_concat);
+char_u *getcmdline(int firstc, long count, int indent, getline_opt_T do_concat);
 char_u *getcmdline_prompt(int firstc, char_u *prompt, int attr, int xp_context, char_u *xp_arg);
 int check_opt_wim(void);
 int text_and_win_locked(void);
diff --git a/src/register.c b/src/register.c
index 6a4bc2c..2a5f119 100644
--- a/src/register.c
+++ b/src/register.c
@@ -97,7 +97,7 @@
 {
     char_u	*new_line;
 
-    new_line = getcmdline('=', 0L, 0, TRUE);
+    new_line = getcmdline('=', 0L, 0, 0);
     if (new_line == NULL)
 	return NUL;
     if (*new_line == NUL)	// use previous line
diff --git a/src/userfunc.c b/src/userfunc.c
index f79e4cd..d4d28c5 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -180,7 +180,7 @@
     char_u *theline;
 
     if (eap->getline == NULL)
-	theline = getcmdline(':', 0L, indent, getline_options);
+	theline = getcmdline(':', 0L, indent, 0);
     else
 	theline = eap->getline(':', eap->cookie, indent, getline_options);
     if (theline != NULL)
diff --git a/src/version.c b/src/version.c
index 505d3f1..b752bc4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3930,
+/**/
     3929,
 /**/
     3928,
