           (rosemacs-list-diffs rosemacs/nodes sorted-nodes)
         (setq rosemacs/nodes sorted-nodes
               rosemacs/nodes-vec (vconcat rosemacs/nodes))
-        (save-excursion
-          (set-buffer (get-buffer-create "*ros-nodes*"))
-          (let ((old-stamp (ros-topic-get-stamp-string)))
-            (erase-buffer)
-            (princ (format "Master uri: %s\n" (getenv "ROS_MASTER_URI"))
-                   (current-buffer))
-            (princ (format "%s\n\n" old-stamp) (current-buffer)))
-          (dolist (n rosemacs/nodes)
-            (insert n)
-            (insert "\n"))
-          (let ((time-stamp-pattern "5/^Last updated: <%02H:%02M:%02S"))
-            (time-stamp))
-          )
+        (update-ros-node-buffer)
         (when added
           (lwarn '(rosemacs) :debug "New nodes: %s" added)
           (rosemacs/add-event (format "New nodes: %s" added)))

          (set-process-query-on-exit-flag proc nil)
          (set-process-filter proc 'rosemacs/rosnode-filter)))
      )))

(defun rosemacs/display-nodes ()
  (interactive)

      (save-excursion
	(update-ros-topic-buffer-helper)))))



(defun update-ros-topic-buffer-helper ()
  (set-buffer ros-topic-buffer)
  (let ((old-stamp (rosemacs/get-stamp-string)))
    (erase-buffer)
    (princ (format "Master uri: %s\n" (getenv "ROS_MASTER_URI")) ros-topic-buffer)
    (princ old-stamp ros-topic-buffer))
