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':