Hi Jan, 2016-5-17(Tue) 22:54:40 UTC+9 Jan: > On Tuesday, 17 May, 2016 at 14:49:04 BST, h_east wrote: > >2016-5-17(Tue) 21:49:39 UTC+9 Jan: > >> 1. Edit two new files: "vim -u NONE 1 2" > >> 2. ":set hidden" > >> 3. ":next" to file 2 > >> 4. Modify file (but don't save) > >> 5. ":last" > >> > >> Why does it complain with "E37: No write since last change (add ! to > >> override)"? I'm not actually changing away from the buffer, and even if I > >> were, "hidden" is set. > > > >Yeah, This is obviously a bug. > >I'll begin an investigation to correct from now. > > Cool, thanks! > > It can be simplified by opening just one file and doing :first/:last on it.
I got it. Please confirm attached patch. Next, I'll write a test. But a bit sleepy :-) -- Best regards, Hirohito Higashi (a.k.a. h_east) -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 4ddfbe4..f0742b4 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -2544,11 +2544,11 @@ do_argfile(exarg_T *eap, int argn) other = otherfile(p); vim_free(p); } - if ((!P_HID(curbuf) || !other) + if (curwin->w_arg_idx == argn || ((!P_HID(curbuf) || !other) && check_changed(curbuf, CCGD_AW | (other ? 0 : CCGD_MULTWIN) | (eap->forceit ? CCGD_FORCEIT : 0) - | CCGD_EXCMD)) + | CCGD_EXCMD))) return; }
