There's one problem, though: when called with C-u, the piece of behavior
which reads as "create a new inferior shell buffer even if one already
exists" now creates buffers uniquely named according to uniquify's rules,
which seems to mean
*shell*
emacs-master/*shell*
vc/emacs-master/*shell*
instead of what one might expect, like
emacs-master/*shell*
emacs-master/*shell*<2>
emacs-master/*shell*<3>
For consistency with C-x p v (project-vc-dir) that creates buffers named
*vc-dir*<myproject>
shouldn't C-x p s (project-shell) create buffers with the same style:
*shell*<myproject><1>
*shell*<myproject><2>
*shell*<myproject><3>
Perhaps the solution is not to go through uniquify for this, but then we
project-shell can't really be consistent with project-vc-dir.
'project-shell' already constructs buffer names using own style,
so it could switch to another style compatible with
uniquify-buffer-name-style, then construct buffer names
like "*shell*<myproject>" and allow uniquify to append
a numeric suffix <1>, <2>, <3>.