In agreement with Nick, the program does work as directed. However, a case should be made against the long held Stata position that _merge is inviolable.
In situations where one repeatedly merges data sets with known characteristics, the old _merge variable is a major nuisance. One so often forgets to drop it only to have your program crash.
One way to solve such a problem (as I perceive it to be) is to put an option in -merge- that allows dropping _merge if it already exists. That is, you would have to deliberately use the option. For example, option = Drop_merge:
merge a b using c,dr
That would keep everyone happy and would prevent problems like those described below.
In fact, I would even go further and make dropping _merge the default, for if you really want to keep the variable you should rename it.
Fred Wolfe
Here "bug" means that the program didn't work the way
you thought it should.
The way that -extrname- works is a feature really, and
it's standard behaviour.
-merge- by default leaves a variable _merge in memory.
As Daniel reports, it will complain if this exists when you try
another -merge-, which is one thing done within -extrname-.
In essence, you are supposed to -drop- _merge or rename it if you want
to keep
the information. This is documented at e.g. [R] -merge-.
<<winmail.dat>>