emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master cf498e5: Remove no-longer-used cursor_in_echo_area


From: Paul Eggert
Subject: [Emacs-diffs] master cf498e5: Remove no-longer-used cursor_in_echo_area code
Date: Sat, 07 Feb 2015 03:29:04 +0000

branch: master
commit cf498e5b9a73329edea0bdbf1bd8dfe06fdd75e2
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Remove no-longer-used cursor_in_echo_area code
    
    * dispnew.c (set_window_cursor_after_update, update_frame_1):
    Remove checks for negative cursor_in_echo_area, since this var is
    a boolean, and has been a boolean for some time.  Simplify.
    * dispnew.c (init_display):
    * xdisp.c (message3_nolog, vmessage): Use bool for boolean.
---
 src/ChangeLog |    9 ++++
 src/dispnew.c |  135 +++++++++++++++++++++++----------------------------------
 src/xdisp.c   |    4 +-
 3 files changed, 66 insertions(+), 82 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 15d8d27..cd72f98 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2015-02-07  Paul Eggert  <address@hidden>
+
+       Remove no-longer-used cursor_in_echo_area code
+       * dispnew.c (set_window_cursor_after_update, update_frame_1):
+       Remove checks for negative cursor_in_echo_area, since this var is
+       a boolean, and has been a boolean for some time.  Simplify.
+       * dispnew.c (init_display):
+       * xdisp.c (message3_nolog, vmessage): Use bool for boolean.
+
 2015-02-05  Stefan Monnier  <address@hidden>
 
        * eval.c (Ffunction): Handle the new (:documentation ...) form.
diff --git a/src/dispnew.c b/src/dispnew.c
index 3c8117e..a178291 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -3904,45 +3904,35 @@ set_window_cursor_after_update (struct window *w)
     {
       cx = cy = vpos = hpos = 0;
 
-      if (cursor_in_echo_area >= 0)
+      /* If the mini-buffer is several lines high, find the last
+        line that has any text on it.  Note: either all lines
+        are enabled or none.  Otherwise we wouldn't be able to
+        determine Y.  */
+      struct glyph_row *last_row = NULL;
+      int yb = window_text_bottom_y (w);
+
+      for (struct glyph_row *row = w->current_matrix->rows;
+          row->enabled_p && (!last_row || MATRIX_ROW_BOTTOM_Y (row) <= yb);
+          row++)
+       if (row->used[TEXT_AREA] && row->glyphs[TEXT_AREA][0].charpos >= 0)
+         last_row = row;
+
+      if (last_row)
        {
-         /* If the mini-buffer is several lines high, find the last
-            line that has any text on it.  Note: either all lines
-            are enabled or none.  Otherwise we wouldn't be able to
-            determine Y.  */
-         struct glyph_row *row, *last_row;
-         struct glyph *glyph;
-         int yb = window_text_bottom_y (w);
-
-         last_row = NULL;
-         row = w->current_matrix->rows;
-         while (row->enabled_p
-                && (last_row == NULL
-                    || MATRIX_ROW_BOTTOM_Y (row) <= yb))
-           {
-             if (row->used[TEXT_AREA]
-                 && row->glyphs[TEXT_AREA][0].charpos >= 0)
-               last_row = row;
-             ++row;
-           }
+         struct glyph *start = last_row->glyphs[TEXT_AREA];
+         struct glyph *last = start + last_row->used[TEXT_AREA] - 1;
 
-         if (last_row)
-           {
-             struct glyph *start = last_row->glyphs[TEXT_AREA];
-             struct glyph *last = start + last_row->used[TEXT_AREA] - 1;
-
-             while (last > start && last->charpos < 0)
-               --last;
+         while (last > start && last->charpos < 0)
+           --last;
 
-             for (glyph = start; glyph < last; ++glyph)
-               {
-                 cx += glyph->pixel_width;
-                 ++hpos;
-               }
-
-             cy = last_row->y;
-             vpos = MATRIX_ROW_VPOS (last_row, w->current_matrix);
+         for (struct glyph *glyph = start; glyph < last; glyph++)
+           {
+             cx += glyph->pixel_width;
+             hpos++;
            }
+
+         cy = last_row->y;
+         vpos = MATRIX_ROW_VPOS (last_row, w->current_matrix);
        }
     }
   else
@@ -4557,58 +4547,43 @@ update_frame_1 (struct frame *f, bool force_p, bool 
inhibit_id_p,
          && EQ (FRAME_MINIBUF_WINDOW (f), echo_area_window))
        {
          int top = WINDOW_TOP_EDGE_LINE (XWINDOW (FRAME_MINIBUF_WINDOW (f)));
-         int row, col;
+         int col;
 
-         if (cursor_in_echo_area < 0)
+         /* Put cursor at the end of the prompt.  If the mini-buffer
+            is several lines high, find the last line that has
+            any text on it.  */
+         int row = FRAME_TOTAL_LINES (f);
+         do
            {
-             /* Negative value of cursor_in_echo_area means put
-                 cursor at beginning of line.  */
-             row = top;
+             row--;
              col = 0;
-           }
-         else
-           {
-             /* Positive value of cursor_in_echo_area means put
-                cursor at the end of the prompt.  If the mini-buffer
-                is several lines high, find the last line that has
-                any text on it.  */
-             row = FRAME_TOTAL_LINES (f);
-             do
-               {
-                 --row;
-                 col = 0;
 
-                 if (MATRIX_ROW_ENABLED_P (current_matrix, row))
-                   {
-                     /* Frame rows are filled up with spaces that
-                        must be ignored here.  */
-                     struct glyph_row *r = MATRIX_ROW (current_matrix,
-                                                       row);
-                     struct glyph *start = r->glyphs[TEXT_AREA];
-                     struct glyph *last = start + r->used[TEXT_AREA];
-
-                     while (last > start
-                            && (last - 1)->charpos < 0)
-                       --last;
-
-                     col = last - start;
-                   }
+             if (MATRIX_ROW_ENABLED_P (current_matrix, row))
+               {
+                 /* Frame rows are filled up with spaces that
+                    must be ignored here.  */
+                 struct glyph_row *r = MATRIX_ROW (current_matrix, row);
+                 struct glyph *start = r->glyphs[TEXT_AREA];
+
+                 col = r->used[TEXT_AREA];
+                 while (0 < col && start[col - 1].charpos < 0)
+                   col--;
                }
-             while (row > top && col == 0);
+           }
+         while (row > top && col == 0);
 
-             /* Make sure COL is not out of range.  */
-             if (col >= FRAME_CURSOR_X_LIMIT (f))
+         /* Make sure COL is not out of range.  */
+         if (col >= FRAME_CURSOR_X_LIMIT (f))
+           {
+             /* If we have another row, advance cursor into it.  */
+             if (row < FRAME_TOTAL_LINES (f) - 1)
                {
-                 /* If we have another row, advance cursor into it.  */
-                 if (row < FRAME_TOTAL_LINES (f) - 1)
-                   {
-                     col = FRAME_LEFT_SCROLL_BAR_COLS (f);
-                     row++;
-                   }
-                 /* Otherwise move it back in range.  */
-                 else
-                   col = FRAME_CURSOR_X_LIMIT (f) - 1;
+                 col = FRAME_LEFT_SCROLL_BAR_COLS (f);
+                 row++;
                }
+             /* Otherwise move it back in range.  */
+             else
+               col = FRAME_CURSOR_X_LIMIT (f) - 1;
            }
 
          cursor_to (f, row, col);
@@ -5954,7 +5929,7 @@ init_display (void)
   space_glyph.charpos = -1;
 
   inverse_video = 0;
-  cursor_in_echo_area = 0;
+  cursor_in_echo_area = false;
 
   /* Now is the time to initialize this; it's used by init_sys_modes
      during startup.  */
diff --git a/src/xdisp.c b/src/xdisp.c
index 5c3e641..ef9d72d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -10116,7 +10116,7 @@ message3_nolog (Lisp_Object m)
 
          fwrite (SDATA (s), SBYTES (s), 1, stderr);
        }
-      if (cursor_in_echo_area == 0)
+      if (!cursor_in_echo_area)
        fprintf (stderr, "\n");
       fflush (stderr);
     }
@@ -10258,7 +10258,7 @@ vmessage (const char *m, va_list ap)
            putc ('\n', stderr);
          noninteractive_need_newline = 0;
          vfprintf (stderr, m, ap);
-         if (cursor_in_echo_area == 0)
+         if (!cursor_in_echo_area)
            fprintf (stderr, "\n");
          fflush (stderr);
        }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]