     
 
     (lwarn '(rosemacs) :debug "Done parsing rostopic list")
+    (setq ros-all-topics 
+	  (sort* (remove-duplicates (vconcat ros-topics ros-subscribed-topics) :test 'equal) 'string<))
     ;; Start the next round of topic updates
     (when ros-topic-update-interval
       (ros-update-topic-list-internal))
     (kill-buffer (process-buffer process))))
 
 
-
-
-
-
-(defun regenerate-ros-topic-completions ()
-  "Use the current value of ros-topics to regenerate the variable ros-topic-completions."
-  (setq ros-topic-completions 
-	(sort* (vconcat
-		(mapcar (lambda (topic)
-			  (string-match "^/*\\(.*\\)" topic)
-			  (match-string 1 topic))
-			ros-topics))
-		'string<)))
 
 (defun remove-ros-topic (topic)
   "Remove this topic and all associated entries from topic list, completion list, hertz processes, publication rates"
   (message "removing ros topic %s" topic)
   (stop-hz-tracker topic) 
   (setq ros-topics (delete topic ros-topics))
-  (regenerate-ros-topic-completions)
   )
 
 (defun stop-hz-tracker (topic)

(define-key ros-keymap "t" 'echo-ros-topic)
(define-key ros-keymap "h" 'add-hz-update)
(define-key ros-keymap "H" 'remove-hz-update)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    (start-hz-tracker topic))
  (push topic ros-topics)
  (setq ros-topics (sort* ros-topics 'string<))
  
  )


