]> code.delx.au - gnu-emacs/blobdiff - src/indent.c
* src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
[gnu-emacs] / src / indent.c
index ee2e9c6fb71c99e1b6801546a6f287f512fc0d8f..bc59239f20fb8b37e03fda75a265a4af3959cba3 100644 (file)
@@ -6,8 +6,8 @@ This file is part of GNU Emacs.
 
 GNU Emacs is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -1995,7 +1995,7 @@ whether or not it is currently displayed in some window.  */)
   struct text_pos pt;
   struct window *w;
   Lisp_Object old_buffer;
-  EMACS_INT old_charpos IF_LINT (= 0), old_bytepos IF_LINT (= 0);
+  EMACS_INT old_charpos UNINIT, old_bytepos UNINIT;
   Lisp_Object lcols;
   void *itdata = NULL;
 
@@ -2036,8 +2036,8 @@ whether or not it is currently displayed in some window.  */)
       bool disp_string_at_start_p = 0;
       ptrdiff_t nlines = XINT (lines);
       int vpos_init = 0;
-      double start_col;
-      int start_x IF_LINT (= 0);
+      double start_col UNINIT;
+      int start_x UNINIT;
       int to_x = -1;
 
       bool start_x_given = !NILP (cur_col);
@@ -2178,6 +2178,7 @@ whether or not it is currently displayed in some window.  */)
       if (nlines <= 0)
        {
          it.vpos = vpos_init;
+         it.current_y = 0;
          /* Do this even if LINES is 0, so that we move back to the
             beginning of the current line as we ought.  */
          if ((nlines < 0 && IT_CHARPOS (it) > 0)
@@ -2187,6 +2188,7 @@ whether or not it is currently displayed in some window.  */)
       else if (overshoot_handled)
        {
          it.vpos = vpos_init;
+         it.current_y = 0;
          move_it_by_lines (&it, min (PTRDIFF_MAX, nlines));
        }
       else
@@ -2200,6 +2202,7 @@ whether or not it is currently displayed in some window.  */)
              while (IT_CHARPOS (it) <= it_start)
                {
                  it.vpos = 0;
+                 it.current_y = 0;
                  move_it_by_lines (&it, 1);
                }
              if (nlines > 1)
@@ -2208,6 +2211,7 @@ whether or not it is currently displayed in some window.  */)
          else  /* it_start = ZV */
            {
              it.vpos = 0;
+             it.current_y = 0;
              move_it_by_lines (&it, min (PTRDIFF_MAX, nlines));
              /* We could have some display or overlay string at ZV,
                 in which case it.vpos will be nonzero now, while