Subject: bug#21885: closed (Re: bug#21885: 24.5; Transposing things with a negative argument)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 13 Nov 2015 09:49:03 +0000

Your bug report

#21885: 24.5; Transposing things with a negative argument

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21885: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21885
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21885: 24.5; Transposing things with a negative argument
From: Eli Zaretskii <[email-masked]>
To: Eli Barzilay <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked]
Date: Fri, 13 Nov 2015 11:47:54 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Thu, 12 Nov 2015 14:27:07 -0500
> From: Eli Barzilay <[email-masked]>
> Cc: Stephen Leake <[email-masked]>, [email-masked], 
> 	martin rudalics <[email-masked]>
> 
> On Thu, Nov 12, 2015 at 1:24 PM, Eli Zaretskii <[email-masked]> wrote:
> >> From: Stephen Leake <[email-masked]>
> >> Date: Thu, 12 Nov 2015 12:11:42 -0600
> >> Cc: [email-masked]
> >>
> >> Eli Barzilay <[email-masked]> writes:
> >>
> >> > In the past (IIRC, up to around v24.3) transposing things (chars,
> >> > words, sexprs, lines) would always leave the point after the
> >> > transposed thing. ...  This is no longer happenning.
> > [...]
> >
> > I think I know the answer: the difference is visible only if you
> > invoke C-t with a negative argument, as in "C-- C-t".
> 
> Yes, exactly -- and yes, this is the same bug as #20698.  I looked at
> the code a bit more since then, and I think that my patch is a fine fix.

Thanks, pushed.

Subject: 24.5; Transposing things with a negative argument
From: Eli Barzilay <[email-masked]>
To: [email-masked]
Date: Thu, 12 Nov 2015 03:12:07 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

In the past (IIRC, up to around v24.3) transposing things (chars,
words, sexprs, lines) would always leave the point after the
transposed thing.  This means that I could always use a `C--' prefix
to "drag" the current thing backwards in the same way that the default
action drags it forwards.  This is no longer happenning.

After a few trials the thing that seems to fix it is adding this line
at the end of the `transpose-subr' definition:

    (goto-char (+ (car pos2) (- (cdr pos1) (car pos1))))

To be clear, this is not a backward incompatible change -- it fixes
the *current* incompatible change.

Patch file attached.

-- 
                    ((x=>x(x))(x=>x(x)))                   Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!