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);