diff options
| author | Joakim Verona | 2013-04-11 08:30:29 +0200 |
|---|---|---|
| committer | Joakim Verona | 2013-04-11 08:30:29 +0200 |
| commit | 59e6916b93fa902aee35ddc7272556a53dab946e (patch) | |
| tree | a8e51285d946300be9e1ca02d98843a8f5265eeb /src | |
| parent | a1002a150a8497832b98f167cb4ecd807f1684e7 (diff) | |
| parent | f07accae655f61468f3441dc48b61b5f125b601f (diff) | |
| download | emacs-59e6916b93fa902aee35ddc7272556a53dab946e.tar.gz emacs-59e6916b93fa902aee35ddc7272556a53dab946e.zip | |
auto upstream
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/frame.c | 16 | ||||
| -rw-r--r-- | src/keyboard.c | 11 |
3 files changed, 25 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 402792b5460..ff6b9508d62 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2013-04-10 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * frame.c (do_switch_frame): Mark the TTY frame we switch to as | ||
| 4 | garbaged only if it is not already the top frame on its TTY. This | ||
| 5 | prevents flickering due to constant redrawing of TTY frames when | ||
| 6 | there are GUI frames open in the same session. (Bug#13864) | ||
| 7 | |||
| 8 | 2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 9 | |||
| 10 | * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead | ||
| 11 | of marking the idle timers directly. | ||
| 12 | |||
| 1 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> | 13 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 14 | ||
| 3 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash | 15 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash |
diff --git a/src/frame.c b/src/frame.c index 2fe398296ed..ccd50122f50 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -834,10 +834,18 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor | |||
| 834 | 834 | ||
| 835 | if (FRAME_TERMCAP_P (XFRAME (frame)) || FRAME_MSDOS_P (XFRAME (frame))) | 835 | if (FRAME_TERMCAP_P (XFRAME (frame)) || FRAME_MSDOS_P (XFRAME (frame))) |
| 836 | { | 836 | { |
| 837 | if (FRAMEP (FRAME_TTY (XFRAME (frame))->top_frame)) | 837 | Lisp_Object top_frame = FRAME_TTY (XFRAME (frame))->top_frame; |
| 838 | /* Mark previously displayed frame as now obscured. */ | 838 | |
| 839 | SET_FRAME_VISIBLE (XFRAME (FRAME_TTY (XFRAME (frame))->top_frame), 2); | 839 | /* Don't mark the frame garbaged and/or obscured if we are |
| 840 | SET_FRAME_VISIBLE (XFRAME (frame), 1); | 840 | switching to the frame that is already the top frame of that |
| 841 | TTY. */ | ||
| 842 | if (!EQ (frame, top_frame)) | ||
| 843 | { | ||
| 844 | if (FRAMEP (top_frame)) | ||
| 845 | /* Mark previously displayed frame as now obscured. */ | ||
| 846 | SET_FRAME_VISIBLE (XFRAME (top_frame), 2); | ||
| 847 | SET_FRAME_VISIBLE (XFRAME (frame), 1); | ||
| 848 | } | ||
| 841 | FRAME_TTY (XFRAME (frame))->top_frame = frame; | 849 | FRAME_TTY (XFRAME (frame))->top_frame = frame; |
| 842 | } | 850 | } |
| 843 | 851 | ||
diff --git a/src/keyboard.c b/src/keyboard.c index ab599512085..dbd3717c428 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -4208,16 +4208,7 @@ timer_start_idle (void) | |||
| 4208 | timer_last_idleness_start_time = timer_idleness_start_time; | 4208 | timer_last_idleness_start_time = timer_idleness_start_time; |
| 4209 | 4209 | ||
| 4210 | /* Mark all idle-time timers as once again candidates for running. */ | 4210 | /* Mark all idle-time timers as once again candidates for running. */ |
| 4211 | for (timers = Vtimer_idle_list; CONSP (timers); timers = XCDR (timers)) | 4211 | call0 (intern ("internal-timer-start-idle")); |
| 4212 | { | ||
| 4213 | Lisp_Object timer; | ||
| 4214 | |||
| 4215 | timer = XCAR (timers); | ||
| 4216 | |||
| 4217 | if (!VECTORP (timer) || ASIZE (timer) != 9) | ||
| 4218 | continue; | ||
| 4219 | ASET (timer, 0, Qnil); | ||
| 4220 | } | ||
| 4221 | } | 4212 | } |
| 4222 | 4213 | ||
| 4223 | /* Record that Emacs is no longer idle, so stop running idle-time timers. */ | 4214 | /* Record that Emacs is no longer idle, so stop running idle-time timers. */ |