This function makes a new named buffer that can run shell commands. But it only works properly when no argument is passed. When an argument is passed or set through the interactive clause, I would like that the buffer name takes the argument value for the name rather than the current (generate-new-buffer-name "foo")
.
(defun galaxy-shell (&optional bufrnm)
"TODO"
(interactive "s Buffer_name: ")
(let ( (bufrnm (generate-new-buffer-name "foo")) )
(shell bufrnm)))