 forward."
   (interactive)
   (if (use-region-p)
-      (if (> (point) (mark)) ;; mc/mark-all-in-region doesn't like
-          (mc/mark-all-in-region (mark) (point))
-        (mc/mark-all-in-region (point) (mark)))
+      (mc/mark-all-in-region (region-beginning) (region-end))
     (isearch-forward)))
 
 ;; Designed to be bound to Alt-F4 to match standard Windows behaviour

  "If there is an active region, kill it. Otherwise, kill the preceding word."
  (interactive "p")
  (if (use-region-p)
      (kill-region (point) (mark))
    (backward-kill-word arg)))

;; Designed to be bound to C-k -- it keeps its standard behaviour when

  "If there is an active region, kill it. Otherwise, kill the following line."
  (interactive "p")
  (if (use-region-p)
      (kill-region (region-beginning) (region-end))
    (kill-line arg)))

;; Designed to be bound to C-x k -- similar to standard behacvior, but
