Some refactoring could help make the emerge code more maintainable. I have written a trivial patch that encapsulates the spinner code into an object. This patch only reorganizes code and should not cause any regressions or changes in functionality.
Created attachment 65629 [details, diff] refactor-emerge-spinner.patch
See referenced URL from gentoo-portage-dev ml archives for a more complete patch against portage-2.1.0_alpha20050718. I will close this as WONTFIX since it does not fix anything. :)