     (when fn
       (ros-package-for-path fn))))
 
+(defun get-buffer-ros-package ()
+  (or ros-buffer-package
+      (setq ros-buffer-package (ros-package-for-buffer (current-buffer)))))
+
 (defun ros-current-pkg-modeline-entry ()
+  (interactive)
   (let ((pkg (or ros-buffer-package (ros-package-for-buffer (current-buffer)))))
     (unless ros-buffer-package
       (if pkg

FIND-DIRED but with a ros package instead of a directory as
parameter."
  (interactive (list (ros-completing-read-package
                      nil (unless (eq ros-buffer-package :none)
                            ros-buffer-package))
                     (read-string "Run find (within args): " ros-find-args
                                  '(ros-find-args-history . 1))))
  (find-dired (ros-package-path ros-pkg) args))

(define-key ros-keymap "h" 'add-hz-update)
(define-key ros-keymap "H" 'remove-hz-update)
(define-key ros-keymap "T" 'ros-topic-info)
(define-key ros-keymap "g" 'ros-rgrep-package)


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