   (message "Evaluating function at point")
   (save-excursion
     (zomp-mark-current)
-    (zomp-tl-eval-region)))
+    (zomp-tl-eval-region))
+  (zomp-tl-move-point-to-end))
 
 (defun zomp-tl-eval-current-and-goto-next ()
   (interactive)

     (zomp-toplevel)
     (get-buffer-process zomp-toplevel-buffer-name))))

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

  (message "Evaluating buffer")
  (process-send-region (zomp-get-toplevel-buffer 'create) (buffer-end -1) (buffer-end 1))
  (process-send-string (zomp-get-toplevel-buffer) "
")
  (zomp-tl-move-point-to-end))

(defun zomp-tl-run-test ()
  (interactive)
  (message "Running function test")
  (zomp-tl-move-point-to-end)
  (zomp-tl-do "!run test"))

(defun zomp-run (&optional prefix)
