Mercurial > emacs
comparison src/xdisp.c @ 15381:91662157e604
(redisplay_internal): Use `Vterminal_frame' and other
termcap frame code on MSDOS as well.
(display_text_line) [HAVE_FACES]: Support faces on MSDOS.
(decode_mode_spec): Return frame name on MSDOS like for termcap frames.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 10 Jun 1996 20:50:01 +0000 |
parents | 4bfe3c580496 |
children | 274f64e997f0 |
comparison
equal
deleted
inserted
replaced
15380:8b01836a6b06 | 15381:91662157e604 |
---|---|
836 if (popup_activated ()) | 836 if (popup_activated ()) |
837 return; | 837 return; |
838 #endif | 838 #endif |
839 | 839 |
840 #ifdef MULTI_FRAME | 840 #ifdef MULTI_FRAME |
841 if (FRAME_TERMCAP_P (selected_frame) | 841 if ((FRAME_TERMCAP_P (selected_frame) || FRAME_MSDOS_P (selected_frame)) |
842 && previous_terminal_frame != selected_frame) | 842 && previous_terminal_frame != selected_frame) |
843 { | 843 { |
844 /* Since frames on an ASCII terminal share the same display area, | 844 /* Since frames on an ASCII terminal share the same display area, |
845 displaying a different frame means redisplay the whole thing. */ | 845 displaying a different frame means redisplay the whole thing. */ |
846 windows_or_buffers_changed++; | 846 windows_or_buffers_changed++; |
1071 buffer_shared = 0; | 1071 buffer_shared = 0; |
1072 | 1072 |
1073 FOR_EACH_FRAME (tail, frame) | 1073 FOR_EACH_FRAME (tail, frame) |
1074 { | 1074 { |
1075 FRAME_PTR f = XFRAME (frame); | 1075 FRAME_PTR f = XFRAME (frame); |
1076 if (! FRAME_TERMCAP_P (f) || f == selected_frame) | 1076 if (! FRAME_TERMCAP_P (f) && ! FRAME_MSDOS_P (f) |
1077 || f == selected_frame) | |
1077 { | 1078 { |
1078 | 1079 |
1079 /* Mark all the scroll bars to be removed; we'll redeem the ones | 1080 /* Mark all the scroll bars to be removed; we'll redeem the ones |
1080 we want when we redisplay their windows. */ | 1081 we want when we redisplay their windows. */ |
1081 if (condemn_scroll_bars_hook) | 1082 if (condemn_scroll_bars_hook) |
1120 if (!FRAMEP (XCONS (tail)->car)) | 1121 if (!FRAMEP (XCONS (tail)->car)) |
1121 continue; | 1122 continue; |
1122 | 1123 |
1123 f = XFRAME (XCONS (tail)->car); | 1124 f = XFRAME (XCONS (tail)->car); |
1124 | 1125 |
1125 if ((! FRAME_TERMCAP_P (f) || f == selected_frame) | 1126 if (((! FRAME_TERMCAP_P (f) && ! FRAME_MSDOS_P (f)) |
1127 || f == selected_frame) | |
1126 && FRAME_VISIBLE_P (f)) | 1128 && FRAME_VISIBLE_P (f)) |
1127 { | 1129 { |
1128 pause |= update_frame (f, 0, 0); | 1130 pause |= update_frame (f, 0, 0); |
1129 if (!pause) | 1131 if (!pause) |
1130 { | 1132 { |
1154 | 1156 |
1155 mini_window = FRAME_MINIBUF_WINDOW (selected_frame); | 1157 mini_window = FRAME_MINIBUF_WINDOW (selected_frame); |
1156 mini_frame = XFRAME (WINDOW_FRAME (XWINDOW (mini_window))); | 1158 mini_frame = XFRAME (WINDOW_FRAME (XWINDOW (mini_window))); |
1157 | 1159 |
1158 if (mini_frame != selected_frame | 1160 if (mini_frame != selected_frame |
1159 && ! FRAME_TERMCAP_P (mini_frame)) | 1161 && ! FRAME_TERMCAP_P (mini_frame) && ! FRAME_MSDOS_P (mini_frame)) |
1160 pause |= update_frame (mini_frame, 0, 0); | 1162 pause |= update_frame (mini_frame, 0, 0); |
1161 } | 1163 } |
1162 } | 1164 } |
1163 | 1165 |
1164 /* If frame does not match, prevent doing single-line-update next time. | 1166 /* If frame does not match, prevent doing single-line-update next time. |
2812 | 2814 |
2813 #ifdef HAVE_FACES | 2815 #ifdef HAVE_FACES |
2814 /* Did we hit a face change? Figure out what face we should | 2816 /* Did we hit a face change? Figure out what face we should |
2815 use now. We also hit this the first time through the | 2817 use now. We also hit this the first time through the |
2816 loop, to see what face we should start with. */ | 2818 loop, to see what face we should start with. */ |
2817 if (pos >= next_face_change && (FRAME_WINDOW_P (f))) | 2819 if (pos >= next_face_change |
2820 && (FRAME_WINDOW_P (f) || FRAME_MSDOS_P (f))) | |
2818 current_face = compute_char_face (f, w, pos, | 2821 current_face = compute_char_face (f, w, pos, |
2819 region_beg, region_end, | 2822 region_beg, region_end, |
2820 &next_face_change, pos + 50, 0); | 2823 &next_face_change, pos + 50, 0); |
2821 #endif | 2824 #endif |
2822 | 2825 |
3724 case 'F': | 3727 case 'F': |
3725 /* %F displays the frame name. */ | 3728 /* %F displays the frame name. */ |
3726 #ifdef MULTI_FRAME | 3729 #ifdef MULTI_FRAME |
3727 if (!NILP (f->title)) | 3730 if (!NILP (f->title)) |
3728 return (char *) XSTRING (f->title)->data; | 3731 return (char *) XSTRING (f->title)->data; |
3729 if (f->explicit_name || FRAME_TERMCAP_P (f)) | 3732 if (f->explicit_name || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) |
3730 return (char *) XSTRING (f->name)->data; | 3733 return (char *) XSTRING (f->name)->data; |
3731 #endif | 3734 #endif |
3732 return "Emacs"; | 3735 return "Emacs"; |
3733 | 3736 |
3734 case 'f': | 3737 case 'f': |