and it displayed a line number. */
int line_number_displayed;
+/* Nonzero if display_mode_line needs to handle %c. */
+int column_number_displayed;
+
/* Maximum buffer size for which to display line numbers. */
int line_number_display_limit;
\f
frame_garbaged = 0;
}
- if (clip_changed || windows_or_buffers_changed)
+ if (clip_changed || windows_or_buffers_changed || column_number_displayed)
update_mode_lines++;
/* Detect case that we need to write a star in the mode line. */
/* If window not full width, must redo its mode line
if the window to its side is being redone */
|| (!just_this_one && width < FRAME_WIDTH (f) - 1)
- || INTEGERP (w->base_line_pos))
+ || INTEGERP (w->base_line_pos) || column_number_displayed)
&& height != XFASTINT (w->height))
display_mode_line (w);
if (! line_number_displayed
register FRAME_PTR f = XFRAME (WINDOW_FRAME (w));
line_number_displayed = 0;
+ column_number_displayed = 0;
get_display_line (f, vpos, left);
display_mode_element (w, vpos, left, 0, right, right,
break;
case 'c':
+ column_number_displayed = 1;
sprintf (decode_mode_spec_buf, "%d", current_column ());
return decode_mode_spec_buf;