diff --git a/src/main.c b/src/main.c
index c0b8b25..3426dce 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2948,7 +2948,7 @@
 	mch_msg(_("\n   or:"));
     }
 #ifdef VMS
-    mch_msg(_("where case is ignored prepend / to make flag upper case"));
+    mch_msg(_("\nWhere case is ignored prepend / to make flag upper case"));
 #endif
 
     mch_msg(_("\n\nArguments:\n"));
@@ -2981,8 +2981,10 @@
 #endif
     main_msg(_("-C\t\t\tCompatible with Vi: 'compatible'"));
     main_msg(_("-N\t\t\tNot fully Vi compatible: 'nocompatible'"));
-    main_msg(_("-V[N]\t\tVerbose level"));
+    main_msg(_("-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"));
+#ifdef FEAT_EVAL
     main_msg(_("-D\t\t\tDebugging mode"));
+#endif
     main_msg(_("-n\t\t\tNo swap file, use memory only"));
     main_msg(_("-r\t\t\tList swap files and exit"));
     main_msg(_("-r (with file name)\tRecover crashed session"));
@@ -3006,9 +3008,11 @@
     main_msg(_("-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"));
 #endif
     main_msg(_("--noplugin\t\tDon't load plugin scripts"));
+#ifdef FEAT_WINDOWS
     main_msg(_("-p[N]\t\tOpen N tab pages (default: one for each file)"));
     main_msg(_("-o[N]\t\tOpen N windows (default: one for each file)"));
     main_msg(_("-O[N]\t\tLike -o but split vertically"));
+#endif
     main_msg(_("+\t\t\tStart at end of file"));
     main_msg(_("+<lnum>\t\tStart at line <lnum>"));
     main_msg(_("--cmd <command>\tExecute <command> before loading any vimrc file"));
diff --git a/src/proto/menu.pro b/src/proto/menu.pro
index 32a1665..a816bc5 100644
--- a/src/proto/menu.pro
+++ b/src/proto/menu.pro
@@ -1,22 +1,22 @@
 /* menu.c */
-extern void ex_menu __ARGS((exarg_T *eap));
-extern char_u *set_context_in_menu_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit));
-extern char_u *get_menu_name __ARGS((expand_T *xp, int idx));
-extern char_u *get_menu_names __ARGS((expand_T *xp, int idx));
-extern char_u *menu_name_skip __ARGS((char_u *name));
-extern int get_menu_index __ARGS((vimmenu_T *menu, int state));
-extern int menu_is_menubar __ARGS((char_u *name));
-extern int menu_is_popup __ARGS((char_u *name));
-extern int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
-extern int menu_is_toolbar __ARGS((char_u *name));
-extern int menu_is_separator __ARGS((char_u *name));
-extern int check_menu_pointer __ARGS((vimmenu_T *root, vimmenu_T *menu_to_check));
-extern void gui_create_initial_menus __ARGS((vimmenu_T *menu));
-extern void gui_update_menus __ARGS((int modes));
-extern int gui_is_menu_shortcut __ARGS((int key));
-extern void gui_show_popupmenu __ARGS((void));
-extern void gui_mch_toggle_tearoffs __ARGS((int enable));
-extern void ex_emenu __ARGS((exarg_T *eap));
-extern vimmenu_T *gui_find_menu __ARGS((char_u *path_name));
-extern void ex_menutranslate __ARGS((exarg_T *eap));
+void ex_menu __ARGS((exarg_T *eap));
+char_u *set_context_in_menu_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit));
+char_u *get_menu_name __ARGS((expand_T *xp, int idx));
+char_u *get_menu_names __ARGS((expand_T *xp, int idx));
+char_u *menu_name_skip __ARGS((char_u *name));
+int get_menu_index __ARGS((vimmenu_T *menu, int state));
+int menu_is_menubar __ARGS((char_u *name));
+int menu_is_popup __ARGS((char_u *name));
+int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
+int menu_is_toolbar __ARGS((char_u *name));
+int menu_is_separator __ARGS((char_u *name));
+int check_menu_pointer __ARGS((vimmenu_T *root, vimmenu_T *menu_to_check));
+void gui_create_initial_menus __ARGS((vimmenu_T *menu));
+void gui_update_menus __ARGS((int modes));
+int gui_is_menu_shortcut __ARGS((int key));
+void gui_show_popupmenu __ARGS((void));
+void gui_mch_toggle_tearoffs __ARGS((int enable));
+void ex_emenu __ARGS((exarg_T *eap));
+vimmenu_T *gui_find_menu __ARGS((char_u *path_name));
+void ex_menutranslate __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
diff --git a/src/ui.c b/src/ui.c
index 96785be..c2a224d 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -2734,7 +2734,7 @@
 	    /* When dragging the mouse, while the text has been scrolled up as
 	     * far as it goes, moving the mouse in the top line should scroll
 	     * the text down (done later when recomputing w_topline). */
-	    if (mouse_dragging
+	    if (mouse_dragging > 0
 		    && curwin->w_cursor.lnum
 				       == curwin->w_buffer->b_ml.ml_line_count
 		    && curwin->w_cursor.lnum == curwin->w_topline)
