updated for version 7.4.082
Problem: Using "gf" in a changed buffer suggests adding "!", which is not
possible. (Tim Chase)
Solution: Pass a flag to check_changed() wether adding ! make sense.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 76cc8f6..8f85911 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3253,8 +3253,10 @@
if ( ((!other_file && !(flags & ECMD_OLDBUF))
|| (curbuf->b_nwindows == 1
&& !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
- && check_changed(curbuf, p_awa, !other_file,
- (flags & ECMD_FORCEIT), FALSE))
+ && check_changed(curbuf, (p_awa ? CCGD_AW : 0)
+ | (other_file ? 0 : CCGD_MULTWIN)
+ | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0)
+ | (eap == NULL ? 0 : CCGD_EXCMD)))
{
if (fnum == 0 && other_file && ffname != NULL)
(void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
@@ -7664,7 +7666,7 @@
# ifdef FEAT_WINDOWS
++emsg_off;
# endif
- split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
+ split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD);
# ifdef FEAT_WINDOWS
--emsg_off;
# else