aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xdisp.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 9fcead69e7e..f418bd2321c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -488,6 +488,10 @@ int line_number_displayed;
488 488
489static int line_number_display_limit; 489static int line_number_display_limit;
490 490
491/* line width to consider when repostioning for line number display */
492
493static int line_number_display_limit_width;
494
491/* Number of lines to keep in the message log buffer. t means 495/* Number of lines to keep in the message log buffer. t means
492 infinite. nil means don't log at all. */ 496 infinite. nil means don't log at all. */
493 497
@@ -11346,7 +11350,7 @@ decode_mode_spec (w, c, field_width, precision)
11346 int limit = BUF_BEGV (b); 11350 int limit = BUF_BEGV (b);
11347 int limit_byte = BUF_BEGV_BYTE (b); 11351 int limit_byte = BUF_BEGV_BYTE (b);
11348 int position; 11352 int position;
11349 int distance = (height * 2 + 30) * 200; 11353 int distance = (height * 2 + 30) * line_number_display_limit_width;
11350 11354
11351 if (startpos - distance > limit) 11355 if (startpos - distance > limit)
11352 { 11356 {
@@ -11359,7 +11363,7 @@ decode_mode_spec (w, c, field_width, precision)
11359 - (height * 2 + 30), 11363 - (height * 2 + 30),
11360 &position); 11364 &position);
11361 /* If we couldn't find the lines we wanted within 11365 /* If we couldn't find the lines we wanted within
11362 200 chars per line, 11366 line_number_display_limit_width chars per line,
11363 give up on line numbers for this window. */ 11367 give up on line numbers for this window. */
11364 if (position == limit_byte && limit == startpos - distance) 11368 if (position == limit_byte && limit == startpos - distance)
11365 { 11369 {
@@ -12042,6 +12046,12 @@ If the buffer is bigger than this, the line number does not appear\n\
12042in the mode line."); 12046in the mode line.");
12043 line_number_display_limit = 1000000; 12047 line_number_display_limit = 1000000;
12044 12048
12049 DEFVAR_INT ("line-number-display-limit-width", &line_number_display_limit_width,
12050 "*Maximum line width (in characters) for line number display.\n\
12051If the average length of the lines near point is bigger than this, then the\n\
12052line number may be omitted from the mode line.");
12053 line_number_display_limit_width = 200;
12054
12045 DEFVAR_BOOL ("highlight-nonselected-windows", &highlight_nonselected_windows, 12055 DEFVAR_BOOL ("highlight-nonselected-windows", &highlight_nonselected_windows,
12046 "*Non-nil means highlight region even in nonselected windows."); 12056 "*Non-nil means highlight region even in nonselected windows.");
12047 highlight_nonselected_windows = 0; 12057 highlight_nonselected_windows = 0;