 (defun svn-status-find-file-other-window ()
   "Open the file in the other window for editing."
   (interactive)
+  (svn-status-ensure-cursor-on-file)
   (find-file-other-window (svn-status-line-info->filename
                            (svn-status-get-line-information))))
 
 (defun svn-status-view-file-other-window ()
   "Open the file in the other window for viewing."
   (interactive)
+  (svn-status-ensure-cursor-on-file)
   (view-file-other-window (svn-status-line-info->filename
                            (svn-status-get-line-information))))
 

  "If point is on a directory, run `svn-status' on that directory.
Otherwise run `find-file'."
  (interactive)
  (let ((line-info (svn-status-get-line-information)))
    (if (svn-status-line-info->directory-p line-info)
        (svn-status (svn-status-line-info->full-path line-info))

                                 (svn-status-line-info->hide-because-unmodified info))
      (message "No file on this line"))))

(defun svn-status-ensure-cursor-on-file ()
  (unless (svn-status-get-line-information)
    (error "No file on the current line")))

(defun svn-status-directory-containing-point (allow-self)
  "Find the (full path of) directory containing the file under point.

