diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 405af2f..9fc2f5a 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Dec 14
+*insert.txt*    For Vim version 7.0aa.  Last change: 2005 Dec 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -965,6 +965,8 @@
 <CR> and <Enter>: Accept the currently selected match
 <Up>:             Select the previous match, as if CTRL-P was used
 <Down>:           Select the next match, as if CTRL-N was used
+<PageUp>:	  Select a match several entries back
+<PageDown>:	  Select a match several entries further
 
 The colors of the menu can be changed with these highlight groups:
 Pmenu		normal item  |hl-Pmenu|
diff --git a/src/fileio.c b/src/fileio.c
index 0cfbc22..5b083f9 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7483,6 +7483,8 @@
  * :autocmd bufleave	     *		set tw=79 nosmartindent ic infercase
  *
  * :autocmd * *.c		show all autocommands for *.c files.
+ *
+ * Mostly a {group} argument can optionally appear before <event>.
  */
     void
 do_autocmd(arg, forceit)
@@ -8168,11 +8170,26 @@
 }
 
 #if defined(FEAT_AUTOCMD) || defined(PROTO)
+/*
+ * Return TRUE when there is a CursorHold autocommand defined.
+ */
     int
 has_cursorhold()
 {
     return (first_autopat[(int)EVENT_CURSORHOLD] != NULL);
 }
+
+/*
+ * Return TRUE if the CursorHold event can be triggered.
+ */
+    int
+trigger_cursorhold()
+{
+    return (!did_cursorhold
+	    && has_cursorhold()
+	    && !Recording
+	    && get_real_state() == NORMAL_BUSY);
+}
 #endif
 
     static int
diff --git a/src/gui.c b/src/gui.c
index 32416cb..75085ce 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -2653,8 +2653,7 @@
     if (gui_mch_wait_for_chars(p_ut) == OK)
 	retval = OK;
 #ifdef FEAT_AUTOCMD
-    else if (!did_cursorhold && has_cursorhold()
-					   && get_real_state() == NORMAL_BUSY)
+    else if (trigger_cursorhold())
     {
 	char_u	buf[3];
 
@@ -4639,7 +4638,7 @@
 			u_sync();
 
 		    del_bytes((long)(regmatch.endp[0] - regmatch.startp[0]),
-								       FALSE);
+								FALSE, FALSE);
 		    ins_str(repl_text);
 		}
 	    }
diff --git a/src/os_unix.c b/src/os_unix.c
index 6165e9f..73693b6 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -342,11 +342,8 @@
 	if (WaitForChar(p_ut) == 0)
 	{
 #ifdef FEAT_AUTOCMD
-	    if (!did_cursorhold
-		    && has_cursorhold()
-		    && get_real_state() == NORMAL_BUSY
-		    && maxlen >= 3
-		    && !typebuf_changed(tb_change_cnt))
+	    if (trigger_cursorhold() && maxlen >= 3
+					   && !typebuf_changed(tb_change_cnt))
 	    {
 		buf[0] = K_SPECIAL;
 		buf[1] = KS_EXTRA;
diff --git a/src/os_win32.c b/src/os_win32.c
index 91bc87e..08df912 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1383,8 +1383,7 @@
 	if (!WaitForChar(p_ut))
 	{
 #ifdef FEAT_AUTOCMD
-	    if (!did_cursorhold && has_cursorhold()
-			    && get_real_state() == NORMAL_BUSY && maxlen >= 3)
+	    if (trigger_cursorhold() && maxlen >= 3)
 	    {
 		buf[0] = K_SPECIAL;
 		buf[1] = KS_EXTRA;
