Subject: bug#25777: 25.1; [PATCH] `rectangle--pos-cols' should not move point

From: Noam Postavsky <[email-masked]>
Date: Mon, 27 Feb 2017 13:50:02 -0500

On Mon, Feb 27, 2017 at 12:51 PM, Drew Adams <[email-masked]> wrote:
> Just as, for Emacs 24.5, I reused some code from rect.el to
> do what I need to get the rectangle columns, so I reused
> the corresponding code from Emacs 25.
>
> Look at function `apply-on-rectangle'.  In Emacs 25 it calls
> `rectangle--pos-cols' to get the rectangle columns - and so
> do I.  In Emacs 24.5 it also does just what I do (I stole
> the code) to obtain those columns.

In both 24.5 and 25.1, apply-on-rectangle wraps its body in
save-excursion, and in both versions the body contains no nested
save-excursions. So it looks to me like the regression is in your code
which decides not to call save-excursion when running on Emacs 25.

   (if modelinepos-rect-p
        (if (fboundp 'rectangle--pos-cols) ; Emacs 25+
            (let ((rpc  (rectangle--pos-cols (region-beginning) (region-end))))
              (abs (- (car rpc) (cdr rpc))))
          (let ((start  (region-beginning))
                (end    (region-end))
                startcol endcol)
            (save-excursion ...