diff --git a/src/channel.c b/src/channel.c
index d6ab030..9a98c3a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -132,7 +132,7 @@
 }
 
     int
-ch_log_active()
+ch_log_active(void)
 {
     return log_fd != NULL;
 }
@@ -1462,7 +1462,7 @@
  * Write any lines waiting to be written to a channel.
  */
     void
-channel_write_any_lines()
+channel_write_any_lines(void)
 {
     channel_T	*channel;
 
@@ -1653,7 +1653,7 @@
 }
 
 /*
- * Consume "len" bytes from the head of "channel"/"part".
+ * Consume "len" bytes from the head of "node".
  * Caller must check these bytes are available.
  */
     void
@@ -4495,7 +4495,7 @@
  * Called when Vim is exiting: kill all jobs that have the "stoponexit" flag.
  */
     void
-job_stop_on_exit()
+job_stop_on_exit(void)
 {
     job_T	*job;
 
@@ -4509,7 +4509,7 @@
  * job_check_ended() should be called once in a while.
  */
     int
-has_pending_job()
+has_pending_job(void)
 {
     job_T	    *job;
 
diff --git a/src/edit.c b/src/edit.c
index 73ed472..0ba2627 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2770,7 +2770,7 @@
  * 'completeopt' value.
  */
     void
-completeopt_was_set()
+completeopt_was_set(void)
 {
     compl_no_insert = FALSE;
     compl_no_select = FALSE;
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index e0a392d..e6ef381 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1174,7 +1174,7 @@
  * Return the time in msec until the next timer is due.
  */
     long
-check_due_timer()
+check_due_timer(void)
 {
     timer_T	*timer;
     long	this_due;
diff --git a/src/ops.c b/src/ops.c
index ed291d0..44cd473 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -5819,14 +5819,14 @@
  * Prepare for reading viminfo registers when writing viminfo later.
  */
     void
-prepare_viminfo_registers()
+prepare_viminfo_registers(void)
 {
      y_read_regs = (yankreg_T *)alloc_clear(NUM_REGISTERS
 						    * (int)sizeof(yankreg_T));
 }
 
     void
-finish_viminfo_registers()
+finish_viminfo_registers(void)
 {
     int		i;
     int		j;
diff --git a/src/screen.c b/src/screen.c
index ea557b9..f55dba6 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -416,7 +416,7 @@
  * it belongs. If highlighting was changed a redraw is needed.
  */
     void
-redraw_after_callback()
+redraw_after_callback(void)
 {
     if (State == HITRETURN || State == ASKMORE)
 	; /* do nothing */
@@ -10252,7 +10252,7 @@
  * Clear the mode message.
  */
     void
-clearmode()
+clearmode(void)
 {
     msg_pos_mode();
     if (Recording)
diff --git a/src/version.c b/src/version.c
index 530e363..01b9c4f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1924,
+/**/
     1923,
 /**/
     1922,
