This isn't exactly what you asked for, but how about a custom command, such
as Set, that calls a function to do the option set in a try/catch? If it
succeeds, great. If it fails, you can just ignore it or use an echomsg or
something.

You won't know when a feature was introduced, but you also won't have to
have existence checks around everything.

Salman

On Sun, Jun 18, 2023, 14:29 Tony Mechelynck <antoine.mechely...@gmail.com>
wrote:

> On Sun, Jun 18, 2023 at 7:15 PM Enan Ajmain <3nan.ajm...@gmail.com> wrote:
> >
> > In the beginning, I used a simple vimrc, basically ":se nu", etc.  Those
> > features were available in all available Vim installations.  Later when
> > I got into tweaking, I used nightly builds of Vim, so I always had the
> > latest features.  But nowadays I have to work in a few ssh machines,
> > some of which have slightly older versions of Vim.  Which means some of
> > my settings emit errors.
> >
> > The proper way to handle this is with ":has()" and ":exists()".  For
> > checking the existence of things like functions, autocommand events,
> > variables, etc., they work fine.  Even for options, I can use exists().
> > But what about option values?  Let's say I want to set 'wildoptions' to
> > use 'popupmenu'.  This was introduced in a late patch of 8.2.  The only
> > way I can include this setting with sanity check is by using ":if
> > has('patch-8.2.4325')".  The problem is: I had to find the patch number
> > by using "git grep --log=pum".
> >
> > Is there an easier way to find the patch number where an option was
> > introduced?  Perhaps with ":helpgrep"?
> >
> > --
> > Enan
>
> See
>   :help version5.txt
>   :help version6.txt
>   :help version7.txt
>   :help version8.txt
>   :help version9.txt
>
> Each of these begins with a section explaining what was new in version
> n.0, then lower down there are a series of sections about versions
> n.1, n.2 etc., each containing a series of short paragraphs about each
> new patch concerning that section.
>
> I suppose that anything added earlier than version 5.0 can now be
> assumed to be "always present". For later features, the simplest is,
> as you said, to take advantage, when possible, of the has() and
> exists() functions. Only when neither of these gives the clear-cut
> result you need, will you have to resort to checking by patch number,
> after having searched (possibly with the Normal-mode / command) some
> or all of the five helpfiles mentioned above.
>
> Best regards,
> Tony.
>
> --
> --
> 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 vim_use+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/vim_use/CAJkCKXsMg_Kk77G785oVt4jXaTFkiUvFWUZ6-4-e5SML08QjGQ%40mail.gmail.com
> .
>

-- 
-- 
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 vim_use+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/CANuxnEc55LripVVmdt3BkZRu6h1qu5KPo_4MrR%2BKnEeeCYOQog%40mail.gmail.com.

Reply via email to