Michael Schaap wrote:

> When editing a read-only file, ":confirm w" only works the first time 
> you use it in a session. The second time you try to use it, you simply 
> get an error message, as if you didn't use ":confirm".
> The same problem occurs when using ":set confirm".
> 
> To recreate:
> 
> $ echo Hello > hello.txt
> $ chmod 400 hello.txt
> $ vim -u NONE hello.txt
> :set nocompatible " or you won't be able to overwrite at all
> A, World<Esc>
> :confirm w
> 'readonly' option is set for "qq".
> Do you wish to write anyway?
> (Y)es, [N]o: y
> A!<Esc>
> :confirm w
> E505: "qq" is read-only (add ! to override)
> 
> This is using 7.0.203, but it has been happening for quite a while. An 
> old 6.3 does the same thing.
> 
> – Michael

What happens when 'readonly' is set is that the ":confirm" asks you if
you want to override it.  If you select "yes" then it will behave as if
you did ":w!".  If you do the same with 'readonly' off you don't get the
prompt, but writing fails for ":w", only ":w!" works.

Note that when 'readonly' is set then ":w" results in E45, while a
read-only file gives E505.  They are two different things, but both are
overruled with ":w!".  We don't have a separate "!" for each situation.

Perhaps the E505 should also trigger ":confirm w" to ask for writing
anyway.  That's more difficult, but would be what you expect.

-- 
hundred-and-one symptoms of being an internet addict:
222. You send more than 20 personal e-mails a day.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Reply via email to