the emerge manual page says: USE variables may be specified on the command line to override those specified in the default locations, letting you avoid using some depen- dencies you may not want to have. USE flags specified on the command line are NOT remembered. For example, USE="-X -gnome" emerge mc will emerge mc with those USE settings. If you want those USE settings to be more permanent, you can put them in /etc/portage/package.use instead. This seems to be incorrect. This is not how emerge processes the command line, it is feature of bourne-compatible shells (sh/ksh/bash/zsh/???) who set up USE environment variable with given content only for the 'emerge' command. This does not work in csh/tcsh and the 'emerge' does not process the 'USE="value ..."' command line option (unlike 'make' command). Please, correct me if I'm wrong, or correct the 'emerge' manual page (or add the functionality) if I'm right.
Reproduced on tcsh.
We should probably note in the docs that package.use is the preferred way to alter USE for a specific package (so that it persist for the next time the package is merged). We can update the doc to say `env USE="-X -gnome" emerge mc` so that it's shell independent.
that would be correct, even with the comment that bourne-compatible shells can set variables on command line without the 'env' command. (even if package.use is preferred, I often play with setting different USE and running 'emrge -pv <package>' to see what would it do. repeated editing package.use would be superflous this way).
This bug seems to be fixed.