diff options
| -rw-r--r-- | lisp/frame.el | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lisp/frame.el b/lisp/frame.el index 4b23cb20ac4..3f31a2973c6 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -2231,8 +2231,10 @@ See also `toggle-frame-maximized'." | |||
| 2231 | (make-obsolete-variable | 2231 | (make-obsolete-variable |
| 2232 | 'window-system-version "it does not give useful information." "24.3") | 2232 | 'window-system-version "it does not give useful information." "24.3") |
| 2233 | 2233 | ||
| 2234 | ;; These variables should trigger redisplay of the current buffer. | 2234 | ;; Variables which should trigger redisplay of the current buffer. |
| 2235 | (setq redisplay--variables | 2235 | (setq redisplay--variables (make-hash-table :test 'eq :size 10)) |
| 2236 | (mapc (lambda (var) | ||
| 2237 | (puthash var 1 redisplay--variables)) | ||
| 2236 | '(line-spacing | 2238 | '(line-spacing |
| 2237 | overline-margin | 2239 | overline-margin |
| 2238 | line-prefix | 2240 | line-prefix |
diff --git a/src/xdisp.c b/src/xdisp.c index dbc2d840d44..30dfac55601 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -623,7 +623,8 @@ bset_update_mode_line (struct buffer *b) | |||
| 623 | void | 623 | void |
| 624 | maybe_set_redisplay (Lisp_Object symbol) | 624 | maybe_set_redisplay (Lisp_Object symbol) |
| 625 | { | 625 | { |
| 626 | if (!NILP (Fassoc_string (symbol, Vredisplay__variables, Qnil))) | 626 | if (HASH_TABLE_P (Vredisplay__variables) |
| 627 | && hash_lookup (XHASH_TABLE (Vredisplay__variables), symbol, NULL) >= 0) | ||
| 627 | { | 628 | { |
| 628 | bset_update_mode_line (current_buffer); | 629 | bset_update_mode_line (current_buffer); |
| 629 | current_buffer->prevent_redisplay_optimizations_p = true; | 630 | current_buffer->prevent_redisplay_optimizations_p = true; |
| @@ -31478,7 +31479,7 @@ display table takes effect; in this case, Emacs does not consult | |||
| 31478 | Vredisplay__mode_lines_cause = Fmake_hash_table (0, NULL); | 31479 | Vredisplay__mode_lines_cause = Fmake_hash_table (0, NULL); |
| 31479 | 31480 | ||
| 31480 | DEFVAR_LISP ("redisplay--variables", Vredisplay__variables, | 31481 | DEFVAR_LISP ("redisplay--variables", Vredisplay__variables, |
| 31481 | doc: /* A list of variables changes to which trigger a thorough redisplay. */); | 31482 | doc: /* A hash-table of variables changing which triggers a thorough redisplay. */); |
| 31482 | Vredisplay__variables = Qnil; | 31483 | Vredisplay__variables = Qnil; |
| 31483 | } | 31484 | } |
| 31484 | 31485 | ||