diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-08-30 15:58:28 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-08-30 15:58:28 +0200 |
commit | 379fb76b080521f7c09265ec3264b9e698923518 (patch) | |
tree | 412bef14f2a40f30daf3d42393189c1c34c22989 /src/ex_docmd.c | |
parent | dd5d18eadffadc723ff7d3e208a2973d267a6dde (diff) |
patch 8.1.0337: :file fails in quickfix commandv8.1.0337
Problem: :file fails in quickfix command.
Solution: Allow :file without argument when curbuf_lock is set. (Jason
Franklin)
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r-- | src/ex_docmd.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index c8a1c3f238..5b53785cc5 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2039,12 +2039,15 @@ do_one_cmd( errormsg = (char_u *)_(get_text_locked_msg()); goto doend; } + /* Disallow editing another buffer when "curbuf_lock" is set. - * Do allow ":edit" (check for argument later). - * Do allow ":checktime" (it's postponed). */ + * Do allow ":checktime" (it is postponed). + * Do allow ":edit" (check for an argument later). + * Do allow ":file" with no arguments (check for an argument later). */ if (!(ea.argt & CMDWIN) - && ea.cmdidx != CMD_edit && ea.cmdidx != CMD_checktime + && ea.cmdidx != CMD_edit + && ea.cmdidx != CMD_file && !IS_USER_CMDIDX(ea.cmdidx) && curbuf_locked()) goto doend; @@ -2130,6 +2133,10 @@ do_one_cmd( else ea.arg = skipwhite(p); + // ":file" cannot be run with an argument when "curbuf_lock" is set + if (ea.cmdidx == CMD_file && *ea.arg != NUL && curbuf_locked()) + goto doend; + /* * Check for "++opt=val" argument. * Must be first, allow ":w ++enc=utf8 !cmd" |