Support :browse for commands that use an error file argument. (Lech Lorens)
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 4e0e169..52f1cbc 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -904,7 +904,7 @@
 EX(CMD_suspend,		"suspend",	ex_stop,
 			TRLBAR|BANG|CMDWIN),
 EX(CMD_sview,		"sview",	ex_splitview,
-			NEEDARG|RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
+			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
 EX(CMD_swapname,	"swapname",	ex_swapname,
 			TRLBAR|CMDWIN),
 EX(CMD_syntax,		"syntax",	ex_syntax,
diff --git a/src/quickfix.c b/src/quickfix.c
index 8fef225..c2543a1 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2951,6 +2951,18 @@
 	|| eap->cmdidx == CMD_laddfile)
 	wp = curwin;
 
+#ifdef FEAT_BROWSE
+    if (cmdmod.browse)
+    {
+	char_u *browse_file = do_browse(0, (char_u *)_("Error file"), eap->arg,
+				   NULL, NULL, BROWSE_FILTER_ALL_FILES, NULL);
+	if (browse_file == NULL)
+	    return;
+	set_string_option_direct((char_u *)"ef", -1, browse_file, OPT_FREE, 0);
+	vim_free(browse_file);
+    }
+    else
+#endif
     if (*eap->arg != NUL)
 	set_string_option_direct((char_u *)"ef", -1, eap->arg, OPT_FREE, 0);