       (switch-to-buffer flusspferd-buffer-name)))
 
 (provide 'flusspferd)
+;;; flusspferd.el ends here

  :type '(string))

(defun flusspferd-is-running-p ()
  "Checks if Flusspferd is already running"
  (comint-check-proc flusspferd-buffer-name))

(defun flusspferd-switch-to ()
  "Switch to Flusspferd buffer"
  (interactive)
  (switch-to-buffer flusspferd-buffer-name))

(defmacro flusspferd-defun-and-go (name arglist docstring &rest body)
  "defun a function with name NAME and NAME-and-go which calls
 (switch-to-buffer flusspferd-buffer-name) when finished."
  (let ((name-and-go (intern (concat (symbol-name name) "-and-go")))
        (new-docstring
         (concat docstring " Switches to Flusspferd buffer when finished.")))

     :active (flusspferd-helper-mark-active)]
    ["Evaluate Buffer" flusspferd-eval-buffer t]
    ["Evaluate Line" flusspferd-eval-line t :active (not (and (eolp) (bolp)))]
    ["Evaluate Last Function Definition" flusspferd-eval-last-defun t]
    "--"
    ["Go to Flusspferd buffer" flusspferd-switch-to
     :visible (flusspferd-is-running-p)
