diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index f1944ca..4627f3d 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -13,7 +13,7 @@
 " 	2024 Jan 23 by Vim Project (add :[23]match commands)
 " 	2024 Jan 25 by Vim Project (WinNewPre autocommand)
 " 	2024 Jan 27 by Vim Project (add foreach() function)
-" 	2024 Jan 28 by Vim Project (improve line-continuation matching)
+" 	2024 Jan 28 by Vim Project (improve line-continuation matching & string interpolation)
 " Version:	9.0-25
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
diff --git a/src/getchar.c b/src/getchar.c
index 3427a9f..49a24f0 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1339,12 +1339,12 @@
 }
 
 /*
- * Record a <Nop> key.
+ * Record an <Ignore> key.
  */
     void
-gotchars_nop(void)
+gotchars_ignore(void)
 {
-    char_u nop_buf[3] = { K_SPECIAL, KS_EXTRA, KE_NOP };
+    char_u nop_buf[3] = { K_SPECIAL, KS_EXTRA, KE_IGNORE };
     gotchars(nop_buf, 3);
 }
 
@@ -3666,9 +3666,9 @@
 #endif
     if (timedout && c == ESC)
     {
-	// When recording there will be no timeout.  Add a <Nop> after the ESC
-	// to avoid that it forms a key code with following characters.
-	gotchars_nop();
+	// When recording there will be no timeout.  Add an <Ignore> after the
+	// ESC to avoid that it forms a key code with following characters.
+	gotchars_ignore();
     }
 
     --vgetc_busy;
diff --git a/src/normal.c b/src/normal.c
index fd89b00..8a10b86 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -568,10 +568,10 @@
 	    ++no_mapping;
 	    // Vim may be in a different mode when the user types the next key,
 	    // but when replaying a recording the next key is already in the
-	    // typeahead buffer, so record a <Nop> before that to prevent the
-	    // vpeekc() above from applying wrong mappings when replaying.
+	    // typeahead buffer, so record an <Ignore> before that to prevent
+	    // the vpeekc() above from applying wrong mappings when replaying.
 	    ++no_u_sync;
-	    gotchars_nop();
+	    gotchars_ignore();
 	    --no_u_sync;
 	}
     }
diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro
index b122a14..1473879 100644
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -30,7 +30,7 @@
 int typebuf_typed(void);
 int typebuf_maplen(void);
 void del_typebuf(int len, int offset);
-void gotchars_nop(void);
+void gotchars_ignore(void);
 void ungetchars(int len);
 int save_typebuf(void);
 void save_typeahead(tasave_T *tp);
diff --git a/src/testdir/test_registers.vim b/src/testdir/test_registers.vim
index 367d914..cb4cee7 100644
--- a/src/testdir/test_registers.vim
+++ b/src/testdir/test_registers.vim
@@ -868,6 +868,8 @@
   call timer_start(10, {-> feedkeys(",bar\<Esc>q", 't')})
   call feedkeys('qrct[', 'xt!')
   call assert_equal(',bar[blah]', getline(1))
+  call assert_equal("ct[\<Ignore>,bar\<Esc>", @r)
+  call assert_equal('ct[<Ignore>,bar<Esc>', keytrans(@r))
   undo
   call assert_equal('foo[blah]', getline(1))
   call feedkeys('@r', 'xt!')
diff --git a/src/version.c b/src/version.c
index 841d018..b78abea 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    60,
+/**/
     59,
 /**/
     58,
