   "Execute an `evil-exchange' command."
   (evil-mc-with-region-or-execute-macro region nil
     (goto-char region-start)
-    (evil-exchange region-start region-end region-type)))
+    (funcall 'evil-exchange region-start region-end region-type)))
 
 (defun evil-mc-execute-with-region-or-macro (cmd)
   "Execute CMD with the current register and region.


(defun evil-mc-execute-evil-snipe ()
  "Execute an `evil-snipe' command."
  (evil-snipe-repeat (evil-mc-get-command-keys-count)))

(defun evil-mc-execute-evil-commentary ()
  "Execute an `evil-commentary' command."
  (evil-mc-with-region-or-execute-macro region nil
    (when (eq region-type 'char) (goto-char region-start))
    (evil-commentary region-start region-end)))

(defun evil-mc-execute-evil-join ()
  "Execute an `evil-join' command."

                                                         state-variables
                                                         clear-variables)
                                    cursor-list))))
              (setq evil-mc-cursor-list cursor-list)))))
      (evil-mc-clear-command))))

