Ideally, the call to savepkglist should be made if save = "yes", but also interactively if save = "default" or save = "ask". The problem is that q is an internal function, not to be modified...
A proper mechanism would then allow savePkg = FALSE or a similar mechanism to make it more generic.