First of all, I'm somebody who compares different pieces of software at the same time and afterwards unmerges everything I don't need any more.
I also try around with experimental ebuilds a.s.o.
The consequence is I often emerge software that I don't want to keep on my system for long - I actually wish it would be cleaned after the next update using emerge --depclean.
So, there is the emerge --oneshot parameter for exact that use. However, I sometimes forget to set it, though I'm not sure I want to keep the software.
So why not add an env variable, maybe within make.conf that allows to change the behavior of emerge to NOT record emerges in worldfile by DEFAULT.
Another parameter to emerge (maybe emerge -2 $EBUILD or emerge -0 $EUILD ) would be needed then to specify "i want to record this package within my world file".
Even if I forgot to set the specify parameter on a wanted piece of software emerge --depclean warns me before unmerging it.
You can set EMERGE_DEFAULT_OPTS="--oneshot" in make.conf.
How about if we also add a --select=<y|n> option, to complement --deselect? We could make --select=n equivalent to --oneshot, and --select=y would be the opposite.
it took me a few minutes to think about, but that sounds perfect.
--select=y would then be the method adding the atom to the worldfile and part of the default emerge process.
specifing "--select" on command line would override a specified --oneshot (i.e. within EMERGE_DEFAULT_OPTS) then and record the emerged atom after a successful merge.
If I understood you right and that's what you meant, I'd be perfectly fine with the idea.
This is fixed in svn r14615.
This is fixed in 220.127.116.11 and 2.2_rc47.
*** Bug 707924 has been marked as a duplicate of this bug. ***