Function: rrm/repaint

rrm/repaint is a natively compiled function defined in rectangular-region-mode.el.

Signature

(rrm/repaint)

Documentation

Start from the anchor and draw a rectangle between it and point.

Source Code

;; Defined in /nix/store/5q7a78ihkz25lf4xmxaa9m7b2ym63m36-emacs-packages-deps/share/emacs/site-lisp/elpa/multiple-cursors-20260419.931/rectangular-region-mode.el
(defun rrm/repaint ()
  "Start from the anchor and draw a rectangle between it and point."
  (if (not rectangular-region-mode)
      (remove-hook 'post-command-hook #'rrm/repaint t)
    ;; else
    (defvar annoying-arrows-mode)
    (rrm/remove-rectangular-region-overlays)
    (let* ((annoying-arrows-mode nil)
           (point-column (current-column))
           (point-line (mc/line-number-at-pos))
           (anchor-column (save-excursion (goto-char rrm/anchor) (current-column)))
           (anchor-line (save-excursion (goto-char rrm/anchor) (mc/line-number-at-pos)))
           ;; (left-column (if (< point-column anchor-column) point-column anchor-column))
           ;; (right-column (if (> point-column anchor-column) point-column anchor-column))
           (navigation-step (if (< point-line anchor-line) 1 -1)))
      (move-to-column anchor-column)
      (set-mark (point))
      (move-to-column point-column)
      (mc/save-excursion
       (while (not (= anchor-line (mc/line-number-at-pos)))
         (forward-line navigation-step)
         (move-to-column anchor-column)
         (when (= anchor-column (current-column))
           (set-mark (point))
           (move-to-column point-column)
           (when (= point-column (current-column))
             (mc/create-fake-cursor-at-point))))))))