diff --git a/runtime/tutor/Makefile b/runtime/tutor/Makefile
index d195051..188c989 100644
--- a/runtime/tutor/Makefile
+++ b/runtime/tutor/Makefile
@@ -8,7 +8,8 @@
 all: tutor.ja.sjis tutor.ja.euc \
 	tutor.ko.euc \
 	tutor.ru tutor.ru.cp1251 \
-	tutor.gr tutor.gr.cp737
+	tutor.gr tutor.gr.cp737 \
+	tutor.hu
 
 tutor.ja.sjis: tutor.ja.utf-8
 	nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
@@ -30,3 +31,6 @@
 
 tutor.gr.cp737: tutor.gr.utf-8
 	iconv -f UTF-8 -t cp737 tutor.gr.utf-8 > tutor.gr.cp737
+
+tutor.hu: tutor.hu.utf-8
+	iconv -f UTF-8 -t ISO-8859-2 tutor.hu.utf-8 > tutor.hu
diff --git a/src/ops.c b/src/ops.c
index 3fe69fc..cf7bdb1 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1002,18 +1002,18 @@
 #endif
 
 /*
- * start or stop recording into a yank register
+ * Start or stop recording into a yank register.
  *
- * return FAIL for failure, OK otherwise
+ * Return FAIL for failure, OK otherwise.
  */
     int
 do_record(c)
     int c;
 {
-    char_u	*p;
-    static int	regname;
-    struct yankreg *old_y_previous, *old_y_current;
-    int		retval;
+    char_u	    *p;
+    static int	    regname;
+    struct yankreg  *old_y_previous, *old_y_current;
+    int		    retval;
 
     if (Recording == FALSE)	    /* start recording */
     {
@@ -1031,9 +1031,9 @@
     else			    /* stop recording */
     {
 	/*
-	 * Get the recorded key hits.  K_SPECIAL and CSI will be escaped, so
-	 * that the register can be put into the typeahead buffer without
-	 * translation.
+	 * Get the recorded key hits.  K_SPECIAL and CSI will be escaped, this
+	 * needs to be removed again to put it in a register.  exec_reg then
+	 * adds the escaping back later.
 	 */
 	Recording = FALSE;
 	MSG("");
@@ -1417,13 +1417,14 @@
 }
 
 /*
- * If "regname" is a special register, return a pointer to its value.
+ * If "regname" is a special register, return TRUE and store a pointer to its
+ * value in "argp".
  */
     int
 get_spec_reg(regname, argp, allocated, errmsg)
     int		regname;
     char_u	**argp;
-    int		*allocated;
+    int		*allocated;	/* return: TRUE when value was allocated */
     int		errmsg;		/* give error message when failing */
 {
     int		cnt;
diff --git a/src/option.c b/src/option.c
index d7bd928..6177daf 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5275,7 +5275,7 @@
  * The string is copied into allocated memory.
  * if ("opt_idx" == -1) "name" is used, otherwise "opt_idx" is used.
  * When "set_sid" is zero set the scriptID to current_SID.  When "set_sid" is
- * SID_NONE don't set the scriptID.  Otherwose set the scriptID to "set_sid".
+ * SID_NONE don't set the scriptID.  Otherwise set the scriptID to "set_sid".
  */
 /*ARGSUSED*/
     void
@@ -7144,6 +7144,8 @@
 	if (curbuf->b_p_swf && p_uc)
 	    ml_open_file(curbuf);		/* create the swap file */
 	else
+	    /* no need to reset curbuf->b_may_swap, ml_open_file() will check
+	     * buf->b_p_swf */
 	    mf_close_file(curbuf, TRUE);	/* remove the swap file */
     }
 
