 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; shell interaction
 
-(defvar zomp-shell-buffer-name "*zomp-shell*"
+(defvar zomp-shell-buffer-name-base "zomp-shell"
+  "The base name of the buffer in which the zomp shell runs")
+
+(defvar zomp-shell-buffer-name (format "*%s*" zomp-shell-buffer-name-base)
   "The name of the buffer in which the zomp shell runs")
 
 (defvar zomp-build-architecture "i386"

    (select-window original-window)))

(defun zomp-make-buffer-local-shell ()
  (make-variable-buffer-local 'zomp-shell-buffer-name)
  (setq zomp-shell-buffer-name (format "*zomp-shell<%s>*" (buffer-name))))

(defun zomp-start-or-show-shell (&optional prefix)
  "Shows the shell in a buffer and starts it if it wasn't

         (if (not (zomp-get-shell-buffer))
             (zomp-shell)
           (let ((oldwin (selected-window)))
             (display-buffer (get-buffer zomp-shell-buffer-name)))))
        (t
         (zomp-make-buffer-local-shell)
         (unless (zomp-get-shell-buffer)
