I'm confused about something. With the release binary of 7.4 on windows, for

   echo exists("$xyzzy")

the following two give different results (xyzzy is not in the shell's environment).

   xyzzy=x vim
   xyzzy= vim

This would seem to indicate that ":exists" is not able to detect if a variable does not exist in the environment. But that's not the real issue.

Since vim executes a wide variety of commands, it should be possible to unset env variables, either fixing unlet or some other mechanism. And coming up with a way to detect not in env, should be trivial; all this discussion is a spec issue.

-ernie

On 2/2/2014 7:43 PM, ZyX wrote:
On Monday, February 3, 2014 7:22:28 AM UTC+4, Andre Sihera wrote:
On 03/02/14 11:57, ZyX wrote:

`exists()` does not have to be changed. Neither does result of accessing 
non-existent. I am only talking about `:unlet`.


Before you sit there in your arrogance and blast every suggestion

that is put before you, why don't you READ people's posts.



How can you have an "unlet" that removes it from the environment
when the non-existent variable isn't detectable with ViM's current
behaviour?
1. It is. Just use `exists()`.
2. It is. Use `system('python -c "import os; print (\"VAR\" in os.environ)"')`.

The unlet command is *useless* unless you also have a
way to actually detect a non-existent variable from a purely empty
one. And that isn't possible in ViM as all usages of non-existent
variables in ViM are the same as those on "defined but empty"
variables.
Without `exists()` this would be useless for my purpose (restore environment 
after it was altered). Fortunately exists() work.

Well, how do you propose to solve it?
`:unlet $ENV` should remove environment from `envp` global (on POSIX systems). I guess 
there is an equivalent for Windows. If no means of such removal are not known it should 
act like `:let $ENV=""`.


--
--
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].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui