         (warn "Can't relaunch since process %s is still running" proc)
       (save-excursion
         (set-buffer buf)
+        (erase-buffer)
         (start-process (buffer-name buf) buf "roslaunch" ros-launch-path)
         (rosemacs/add-event (format "Ros launch of %s" ros-launch-path))
         )

(define-key ros-launch-keymap "q" 'rosemacs/kill-process-buffer)
(define-key ros-launch-keymap "r" 'rosemacs/relaunch-current-process)
(define-key ros-launch-keymap "x" 'rosemacs/kill-and-relaunch)




q kills the process and the associated buffer
r relaunches once the previous roslaunch has been killed
x terminates the currently active launch, then relaunches once it has cleanly shutdown
f opens the launch file

All roslaunches of the launch file are appended to the same buffer (until you kill that buffer).
The page delimiter in this buffer matches the start, so you can use forward/backward pagewise navigation.
