If I use the abbrevs package and define a \newabbrev using the following code
\newabbrev\gb{Great Britain}
and use it in the following example (taken from the xspace package documentation):
\gb, a small island off the coast of France
I get "Great Britain , a small island off the coast of France", which has a superfluous space inserted before the comma
In the xspace package documentation, they also defines an abbreviation for "Great Britain", but using \newcommand instead of \newabbrev, and they are also having the problem with the superfluous space before the comma. They solve it by putting the macro \xspace after the full name, i.e. Great Britain\xspace. When I follow their example and redefine the abbreviation as
\newabbrev\gb{Great Britain\xspace}
it has the opposite effect, i.e., an extra superfluous space is added before the comma (which I can't illustrate here). I have also tried to insert \@ before xspace (which I found out you could do in this quite similar question), but that has no effect.
Any idéa of how to prevent an abbreviation defined with \newabbrev to insert a space after the abbreviation has been used? The reason I'm using the abbrevs package is because it provides a way of using one expansion of the abbreviation the first time it is used, and another expansion the resting times. I could just as well change to some other package that allowed me to do the same thing.

abbrevsworks as advertised. :( – egreg Jun 14 '12 at 13:00