On Tue, May 14, 2024 at 4:10 AM Michael Soyka <mssr...@gmail.com> wrote:
>
> Chris,
>
> Thank you for the explanation but I don't think it explains everything.
> See below.
>
> On 05/13/2024 4:15 PM, Christian Brabandt wrote:
> > On Mo, 13 Mai 2024, Michael Soyka wrote:
> >
> >> Yes, your are right- the bwipeout command succeeds without the double
> >> quotes in vim9script.  Thanks for the solution!
> >>
> >> Given that, what feature of vim9script causes the error when double
> >> quotes are used?  In legacy vimscript, it doesn't matter if double
> >> quotes are present or not.  Perhaps this should be added to
> >> vim9-differences documentation.
> > [...]
> >>                  bwipeout "%"
> > There is a slight difference here. Remember that `"` is the comment
> > character in legacy Vim Script, so what Vim actually sees and runs is:
> >
> >                  :bwipeout
> Yes, I completely overlooked the end-of-line comment possibility and
> your explanation makes perfect sense.  When in doubt, RTFM!
> >
> > On Vim9 Script, I think it sees the whole argument "%" and expands to
> > the current buffer name. So by coincidence it behaves the same, but just
> > because :bw will wipe the current buffer if no argument has been given.
>
> Actually, if I disassemble the Vim9-script function (what I should have
> done earlier), what I see is :
>
>      EXEC bwipeout "%"
>
> and, if executed according to legacy rules, would be equivalent to 'EXEC
> bwipeout' and that should succeed but instead it fails with error E94.
> On the other hand, if it substitutes the buffer name, that should also
> succeed but it fails with E94.

I think (but actually I don't write Vim9 scripts myself yet so this is
pure untested theory) that at this point Vim, under Vim9 rules, looks
for a buffer actually named "%" with two double-quotes and a
percent-sign between them, i.e. the equivalent of something like
(IIUC)

       :legacy bwipeout \"\%\"

…and of course it doesn't find it.

Best regards,
Tony.

-- 
-- 
You received this message from the "vim_dev" 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_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CAJkCKXsB%3D%2BWooQ-iwSz0znt50qgwVV70%3DY04XBm%3DXiVoyDjgHw%40mail.gmail.com.

Raspunde prin e-mail lui