46234Re: Bug: ":confirm w" only works once
- Feb 28, 2007On 2/27/07, Michael Schaap <vim@...> wrote:
> Hi,You see this behaviour because the first :confirm w(or ':w!',
> 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
> :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.
for this matter) resets the 'ro' option. This is the reason the 2nd
':confirm w' doesn't ask anything. You can see yourself if you do
'set ro?' before and after first ':confirm w'.
... (Y)es, [N]o: y
As you see, the 'ro' option has been reset. This is
the reason the following ':confirm w' does not ask for
AFAIK, vim always behaved this way -- that is,
the ':w!' would reset the ro flag.
But notice that inserting text into 'ro' file does not reset the 'ro'
flag by itself.
It warns (modifying the readonly file). but the 'ro' flag remains. After
:w!, 'ro' flag is reset.
- << Previous post in topic Next post in topic >>