diff --git a/src/ex_getln.c b/src/ex_getln.c
index 6376a5f..48d40cf 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1318,12 +1318,12 @@
 		c = get_expr_register();
 		if (c == '=')
 		{
-		    // Need to save and restore ccline.  And set "textlock"
+		    // Need to save and restore ccline.  And set "textwinlock"
 		    // to avoid nasty things like going to another buffer when
 		    // evaluating an expression.
-		    ++textlock;
+		    ++textwinlock;
 		    p = get_expr_line();
-		    --textlock;
+		    --textwinlock;
 
 		    if (p != NULL)
 		    {
@@ -2548,17 +2548,17 @@
 
 /*
  * Return TRUE when the text must not be changed and we can't switch to
- * another window or buffer.  Used when editing the command line, evaluating
+ * another window or buffer.  TRUE when editing the command line, evaluating
  * 'balloonexpr', etc.
  */
     int
-text_locked(void)
+text_and_win_locked(void)
 {
 #ifdef FEAT_CMDWIN
     if (cmdwin_type != 0)
 	return TRUE;
 #endif
-    return textlock != 0;
+    return textwinlock != 0;
 }
 
 /*
@@ -2578,10 +2578,22 @@
     if (cmdwin_type != 0)
 	return e_cmdwin;
 #endif
+    if (textwinlock != 0)
+	return e_textwinlock;
     return e_textlock;
 }
 
 /*
+ * Return TRUE when the text must not be changed and/or we cannot switch to
+ * another window.  TRUE while evaluating 'completefunc'.
+ */
+    int
+text_locked(void)
+{
+    return text_and_win_locked() || textlock != 0;
+}
+
+/*
  * Check if "curbuf_lock" or "allbuf_lock" is set and return TRUE when it is
  * and give an error message.
  */
@@ -3560,11 +3572,11 @@
     regname = may_get_selection(regname);
 #endif
 
-    // Need to  set "textlock" to avoid nasty things like going to another
+    // Need to  set "textwinlock" to avoid nasty things like going to another
     // buffer when evaluating an expression.
-    ++textlock;
+    ++textwinlock;
     i = get_spec_reg(regname, &arg, &allocated, TRUE);
-    --textlock;
+    --textwinlock;
 
     if (i)
     {
