       (save-excursion
 	(update-ros-topic-buffer-helper)))))
 
-(defun ros-topic-get-stamp-string ()
-  (goto-char (point-min))
-  (let ((pos (re-search-forward "^\\(Last updated.*\\)$" nil t)))
-    (if pos
-	(match-string 1)
-      "Last updated: <>")))
+
 
 (defun update-ros-topic-buffer-helper ()
   (set-buffer ros-topic-buffer)
-  (let ((old-stamp (ros-topic-get-stamp-string)))
+  (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))

                 (end-pt (match-end 0)))
            (when found-finish
              (rosemacs/parse-node-list start-pt (match-beginning 0))
              (delete-region (point-min) end-pt)))))
    ))

(defun rosemacs/track-nodes (interval)
  (interactive "nEnter rosnode update interval in seconds (0 to stop tracking)")
  (let ((name "*rosnode-tracker*"))
    (let ((old-proc (get-process name)))
      (when old-proc

          (rosemacs-list-diffs rosemacs/nodes sorted-nodes)
        (setq rosemacs/nodes sorted-nodes
              rosemacs/nodes-vec (vconcat rosemacs/nodes))
        (update-ros-node-buffer)
        (when added
          (lwarn '(rosemacs) :debug "New nodes: %s" added)
          (rosemacs/add-event (format "New nodes: %s" added)))
