The fix for bug 187449 has a small, confusing side effect: Let's assume we are on a new, fresh system without vim/gvim/nvi installed. Expected behaviour: A user wants to install app-editors/vim and assumes that /usr/bin/vi points to vim, since the symlink was not set before. Actual behaviour: The user installs app-editors/vim. app-editors/vim depends on app-editors/vim-core. app-editors/vim-core uses the vim.eclass. Thus when vim-core gets installed, update_vim_symlinks() is called. During this call, /usr/bin/vim (or any other vim clone, for that matter) does not exist yet, causing the eselect call to set the symlink to /bin/busybox. Two possible solutions: (1) Don't call update_vim_symlinks() when ${PN} == "vim-core". (2) Add an elog message to inform the users.
I think that (1) sounds reasonable, and I've implemented this in my latest rewrite of vim.eclass.