diff options
| author | Kim F. Storm | 2006-07-10 23:52:38 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2006-07-10 23:52:38 +0000 |
| commit | 01327edf8885f4ab47d33681582c41879f842217 (patch) | |
| tree | eb3f00c43493694d67f7b5868577665cbb235b9a /src | |
| parent | c876e7b757f20e8be135e3b4b0fb27784345bdbb (diff) | |
| download | emacs-01327edf8885f4ab47d33681582c41879f842217.tar.gz emacs-01327edf8885f4ab47d33681582c41879f842217.zip | |
(Fredisplay): Add FORCE argument to force redisplay when
input is available. Fix test for redisplay_dont_pause non-nil.
Specbind redisplay-dont-pause to t if FORCE non-nil.
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispnew.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 857ae40ee34..17c5f05053f 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -6532,19 +6532,26 @@ sit_for (sec, usec, reading, display, initial_display) | |||
| 6532 | } | 6532 | } |
| 6533 | 6533 | ||
| 6534 | 6534 | ||
| 6535 | DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 0, 0, | 6535 | DEFUN ("redisplay", Fredisplay, Sredisplay, 0, 1, 0, |
| 6536 | doc: /* Perform redisplay. | 6536 | doc: /* Perform redisplay if no input is available. |
| 6537 | If input is available before this starts, redisplay is preempted | 6537 | If optional arg FORCE is non-nil, perform a full redisplay even if |
| 6538 | unless `redisplay-dont-pause' is non-nil. */) | 6538 | input is available. */) |
| 6539 | () | 6539 | (force) |
| 6540 | Lisp_Object force; | ||
| 6540 | { | 6541 | { |
| 6542 | int count; | ||
| 6543 | |||
| 6541 | swallow_events (Qt); | 6544 | swallow_events (Qt); |
| 6542 | if ((detect_input_pending_run_timers (Qt) | 6545 | if ((detect_input_pending_run_timers (Qt) |
| 6543 | && NILP (Qredisplay_dont_pause)) | 6546 | && NILP (force) && !redisplay_dont_pause) |
| 6544 | || !NILP (Vexecuting_kbd_macro)) | 6547 | || !NILP (Vexecuting_kbd_macro)) |
| 6545 | return Qnil; | 6548 | return Qnil; |
| 6546 | 6549 | ||
| 6550 | count = SPECPDL_INDEX (); | ||
| 6551 | if (!NILP (force) && !redisplay_dont_pause) | ||
| 6552 | specbind (Qredisplay_dont_pause, Qt); | ||
| 6547 | redisplay_preserve_echo_area (2); | 6553 | redisplay_preserve_echo_area (2); |
| 6554 | unbind_to (count, Qnil); | ||
| 6548 | return Qt; | 6555 | return Qt; |
| 6549 | } | 6556 | } |
| 6550 | 6557 | ||