]> git.eshelyaron.com Git - emacs.git/commitdiff
Correct patch from 2021-11-12 on src/fileio.c
authorAlan Mackenzie <acm@muc.de>
Sat, 13 Nov 2021 12:58:23 +0000 (12:58 +0000)
committerAlan Mackenzie <acm@muc.de>
Sat, 13 Nov 2021 12:58:23 +0000 (12:58 +0000)
* src/fileio.c (restore_window_points): Reverse commit
974192413f8a81171b8fd28dfd5c081ce06d3dec and instead replace a < by a <=.
This ensures that if w->mpoint is at the top of the middle region being
replaced, it gets adjusted and stays at the top after the reinsertion.

src/fileio.c

index a7b1649fae874a28b77c43c17588b2ddd830ff88..4015448ecee5ad0b42aad27f5797b3718f1cacd5 100644 (file)
@@ -3827,20 +3827,17 @@ restore_window_points (Lisp_Object window_markers, ptrdiff_t inserted,
        Lisp_Object car = XCAR (window_markers);
        Lisp_Object marker = XCAR (car);
        Lisp_Object oldpos = XCDR (car);
-       ptrdiff_t newpos;
        if (MARKERP (marker) && FIXNUMP (oldpos)
            && XFIXNUM (oldpos) > same_at_start
-           && XFIXNUM (oldpos) < same_at_end)
+           && XFIXNUM (oldpos) <= same_at_end)
          {
            ptrdiff_t oldsize = same_at_end - same_at_start;
            ptrdiff_t newsize = inserted;
            double growth = newsize / (double)oldsize;
-           newpos = same_at_start
-             + growth * (XFIXNUM (oldpos) - same_at_start);
+           ptrdiff_t newpos
+             = same_at_start + growth * (XFIXNUM (oldpos) - same_at_start);
+           Fset_marker (marker, make_fixnum (newpos), Qnil);
          }
-       else
-         newpos = XFIXNUM (oldpos);
-       Fset_marker (marker, make_fixnum (newpos), Qnil);
       }
 }