Yegappan wrote:

> > > > > Neovim has support for getting the Vim exit code using the
> > > > > v:exiting variable:
> > > > >
> > > > > https://github.com/neovim/neovim/pull/5651
> > > > >
> > > > > This is useful with the VimLeavePre and VimLeave autocommands.
> > > > > Vim usually exits with exit code 0 or 1. But a user can use the
> > ":cquit"
> > > > > command to exit with different values. Should we port this to Vim?
> > > >
> > > > I suppose it could be useful for the autocommands.
> > > > The help isn't very clear about when the value is valid.
> > > > There are four autocommand events related to exiting.
> > > > How about "QuitPre" ?
> > > >
> > >
> > > It looks like the v:exiting variable is set only for the VimLeavePre
> > > and VimLeave autocmds. For the QuitPre and ExitPre autocmds,
> > > the value is set to v:null.
> > >
> > >
> > > >
> > > > Also, v:exiting suggests it's a flag about whether Vim will exit.
> > > > But the help says it's the exit value.  Shouldn't it be v:exitvalue
> > > > then?
> > > >
> > >
> > > I agree. It should be named as v:exitvalue or v:exitval. But then it
> > > will be different from NeoVim and the plugin authors need to handle
> > > the difference.
> > >
> > >
> > > >
> > > > There are situations where Vim may exit, but it is cancelled (when
> > using
> > > > a prompt or dialog).  What happens then?
> > > >
> > > >
> > > In these cases, the VimLeavePre and VimLeave autocmds are not invoked.
> > > The v:exiting value is set to a number only when the VimLeavePre and
> > > VimLeave autocmds are invoked.
> >
> > Would be good to add all this to the help.
> >
> > I suppose there is no good reason to do this differently than neovim,
> > unless some have made remarks it's not good enough.
>
> We can keep the same name (v:exiting). But one thing I noticed is the
> type of this variable. Initially the type of the variable is "Special" and
> the value is v:null. When exiting Vim, the type is changed to "Number"
> and the value is an integer (exit code). Will changing the variable type
> from Special to Number cause a problem?

Yeah, I don't like that very much.  It's like a language where a number
is an Object, so it can be null to indicate it wasn't set.  But in Vim
we have real numbers, so it doesn't fit well.

Using -1 for "not set" works better.  But then it's different from
neovim...


-- 
    [clop clop]
ARTHUR:  Old woman!
DENNIS:  Man!
ARTHUR:  Man, sorry.  What knight lives in that castle over there?
DENNIS:  I'm thirty seven.
ARTHUR:  What?
DENNIS:  I'm thirty seven -- I'm not old!
                                  The Quest for the Holy Grail (Monty Python)

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202011271023.0ARANOQW2657843%40masaka.moolenaar.net.

Raspunde prin e-mail lui