'Appends given ``values`` to environment variable ``name``.
If the environment variable already exists, values are added after it,
and otherwise a new environment variable is created.
Values are, by default, joined together using the operating system
path separator (``;`` on Windows, ``:`` elsewhere). This can be changed
by giving a separator after the values like ``separator=value``. No
other configuration parameters are accepted.
Examples (assuming ``NAME`` and ``NAME2`` do not exist initially):
| Append To Environment Variable | NAME     | first  |       |
| Should Be Equal                | %{NAME}  | first  |       |
| Append To Environment Variable | NAME     | second | third |
| Should Be Equal                | %{NAME}  | first${:}second${:}third |
| Append To Environment Variable | NAME2    | first  | separator=-     |
| Should Be Equal                | %{NAME2} | first  |                 |
| Append To Environment Variable | NAME2    | second | separator=-     |
| Should Be Equal                | %{NAME2} | first-second             |
New in Robot Framework 2.8.4.'

def append_to_environment_variable(self, name, *values, **config):

    sentinel = object()
    initial = self.get_environment_variable(name, sentinel)
    if (initial is not sentinel):
        values = ((initial,) + values)
    separator = config.pop('separator', os.pathsep)
    if config:
        config = ['='.join(i) for i in sorted(config.items())]
        self._error(('Configuration    %s    not    accepted.' % seq2str(config, lastsep='    or    ')))
    self.set_environment_variable(name, separator.join(values))
