• Stefan Monnier's avatar
    * lisp/rect.el: Make it possible to move bounds past EOL or into TABs. · 7e74ad02
    Stefan Monnier authored
    (operate-on-rectangle): Use apply-on-rectangle.
    (rectangle--mark-crutches): New var.
    (rectangle--pos-cols, rectangle--col-pos, rectangle--point-col)
    (rectangle--crutches, rectangle--reset-crutches): New functions.
    (apply-on-rectangle): Obey crutches.  Avoid setq.
    Fix missing final iteration if end is at EOB&BOL.
    (rectangle-mark-mode-map): Add remap bindings for
    exchange-point-and-mark and char/line movements.
    (rectangle--*-char): New function.
    (rectangle-exchange-point-and-mark, rectangle-right-char)
    (rectangle-left-char, rectangle-forward-char)
    (rectangle-backward-char, rectangle-next-line)
    (rectangle-previous-line): New commands.
    (rectangle--place-cursor): New function.
    (rectangle--highlight-for-redisplay): Use it.  Use apply-on-rectangle.
    7e74ad02
NEWS 154 KB