Attached is a patch to change the default behaviour of 'project-shell'.
My use case is:
- Edit some file in some project.
- 'M-x project-shell'
- Do something, then "C-x 0"
- Oops forgot to read output.
- 'M-x project-shell'
- See the same buffer.
Right now 'project-shell' opens a new buffer every time it is invoked. Now I
have to find it in the buffer list. Putting previous behaviour on universal
argument will in addition enable this workflow
- Edit some file in some project.
- 'M-x project-shell'
- 'C-u M-x project-shell'
- Now emacs is split it two, with two separate shell processes
In addition, I let default name be *'project-root-dir'-shell* to signify this
shell buffer to be unique from other shell buffers invoked by 'M-x shell'.