Mercurial > emacs
comparison src/msdos.c @ 97771:f8bd5f0db6f3
(Fmsdos_remember_default_colors): Don't reverse frame colors under -rv.
(IT_set_frame_parameters): Don't swap foreground and background colors
if `(reverse . t)' is present in the frame properties.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Wed, 27 Aug 2008 19:07:07 +0000 |
parents | 926ec8434a52 |
children | bc27b61d82f8 |
comparison
equal
deleted
inserted
replaced
97770:673a18ae9bfa | 97771:f8bd5f0db6f3 |
---|---|
2186 Lisp_Object frame; | 2186 Lisp_Object frame; |
2187 { | 2187 { |
2188 struct frame *f; | 2188 struct frame *f; |
2189 | 2189 |
2190 CHECK_FRAME (frame); | 2190 CHECK_FRAME (frame); |
2191 f= XFRAME (frame); | 2191 f = XFRAME (frame); |
2192 | 2192 |
2193 /* This function is called after applying default-frame-alist to the | 2193 /* This function is called after applying default-frame-alist to the |
2194 initial frame. At that time, if reverse-colors option was | 2194 initial frame. At that time, if reverse-colors option was |
2195 specified in default-frame-alist, it was already applied, and | 2195 specified in default-frame-alist, it was already applied, and |
2196 frame colors are reversed. We need to account for that. */ | 2196 frame colors are reversed. */ |
2197 if (EQ (Fcdr (Fassq (Qreverse, f->param_alist)), Qt)) | 2197 initial_screen_colors[0] = FRAME_FOREGROUND_PIXEL (f); |
2198 { | 2198 initial_screen_colors[1] = FRAME_BACKGROUND_PIXEL (f); |
2199 initial_screen_colors[0] = FRAME_BACKGROUND_PIXEL (f); | |
2200 initial_screen_colors[1] = FRAME_FOREGROUND_PIXEL (f); | |
2201 } | |
2202 else | |
2203 { | |
2204 initial_screen_colors[0] = FRAME_FOREGROUND_PIXEL (f); | |
2205 initial_screen_colors[1] = FRAME_BACKGROUND_PIXEL (f); | |
2206 } | |
2207 } | 2199 } |
2208 | 2200 |
2209 void | 2201 void |
2210 IT_set_frame_parameters (f, alist) | 2202 IT_set_frame_parameters (f, alist) |
2211 struct frame *f; | 2203 struct frame *f; |
2231 if (EQ (alist, Vdefault_frame_alist) | 2223 if (EQ (alist, Vdefault_frame_alist) |
2232 && initial_screen_colors[0] != -1 && initial_screen_colors[1] != -1) | 2224 && initial_screen_colors[0] != -1 && initial_screen_colors[1] != -1) |
2233 { | 2225 { |
2234 FRAME_FOREGROUND_PIXEL (f) = initial_screen_colors[0]; | 2226 FRAME_FOREGROUND_PIXEL (f) = initial_screen_colors[0]; |
2235 FRAME_BACKGROUND_PIXEL (f) = initial_screen_colors[1]; | 2227 FRAME_BACKGROUND_PIXEL (f) = initial_screen_colors[1]; |
2228 init_frame_faces (f); | |
2236 } | 2229 } |
2237 orig_fg = FRAME_FOREGROUND_PIXEL (f); | 2230 orig_fg = FRAME_FOREGROUND_PIXEL (f); |
2238 orig_bg = FRAME_BACKGROUND_PIXEL (f); | 2231 orig_bg = FRAME_BACKGROUND_PIXEL (f); |
2239 frame_fg = Fcdr (Fassq (Qforeground_color, f->param_alist)); | 2232 frame_fg = Fcdr (Fassq (Qforeground_color, f->param_alist)); |
2240 frame_bg = Fcdr (Fassq (Qbackground_color, f->param_alist)); | 2233 frame_bg = Fcdr (Fassq (Qbackground_color, f->param_alist)); |
2295 { | 2288 { |
2296 FRAME_FOREGROUND_PIXEL (f) = new_color; | 2289 FRAME_FOREGROUND_PIXEL (f) = new_color; |
2297 /* Make sure the foreground of the default face for this | 2290 /* Make sure the foreground of the default face for this |
2298 frame is changed as well. */ | 2291 frame is changed as well. */ |
2299 XSETFRAME (frame, f); | 2292 XSETFRAME (frame, f); |
2300 if (need_to_reverse) | 2293 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, |
2301 { | 2294 val, frame); |
2302 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, | 2295 fg_set = 1; |
2303 val, frame); | |
2304 prop = Qbackground_color; | |
2305 bg_set = 1; | |
2306 } | |
2307 else | |
2308 { | |
2309 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, | |
2310 val, frame); | |
2311 fg_set = 1; | |
2312 } | |
2313 redraw = 1; | 2296 redraw = 1; |
2314 if (tty->termscript) | 2297 if (tty->termscript) |
2315 fprintf (tty->termscript, "<FGCOLOR %lu>\n", new_color); | 2298 fprintf (tty->termscript, "<FGCOLOR %lu>\n", new_color); |
2316 } | 2299 } |
2317 } | 2300 } |
2326 { | 2309 { |
2327 FRAME_BACKGROUND_PIXEL (f) = new_color; | 2310 FRAME_BACKGROUND_PIXEL (f) = new_color; |
2328 /* Make sure the background of the default face for this | 2311 /* Make sure the background of the default face for this |
2329 frame is changed as well. */ | 2312 frame is changed as well. */ |
2330 XSETFRAME (frame, f); | 2313 XSETFRAME (frame, f); |
2331 if (need_to_reverse) | 2314 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, |
2332 { | 2315 val, frame); |
2333 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, | 2316 bg_set = 1; |
2334 val, frame); | |
2335 prop = Qforeground_color; | |
2336 fg_set = 1; | |
2337 } | |
2338 else | |
2339 { | |
2340 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, | |
2341 val, frame); | |
2342 bg_set = 1; | |
2343 } | |
2344 redraw = 1; | 2317 redraw = 1; |
2345 if (tty->termscript) | 2318 if (tty->termscript) |
2346 fprintf (tty->termscript, "<BGCOLOR %lu>\n", new_color); | 2319 fprintf (tty->termscript, "<BGCOLOR %lu>\n", new_color); |
2347 } | 2320 } |
2348 } | 2321 } |
2437 sf->output_method = output_termcap; | 2410 sf->output_method = output_termcap; |
2438 return; | 2411 return; |
2439 } | 2412 } |
2440 | 2413 |
2441 tty = FRAME_TTY (sf); | 2414 tty = FRAME_TTY (sf); |
2415 current_kboard->Vwindow_system = Qpc; | |
2416 sf->output_method = output_msdos_raw; | |
2442 if (init_needed) | 2417 if (init_needed) |
2443 { | 2418 { |
2444 if (!tty->termscript && getenv ("EMACSTEST")) | 2419 if (!tty->termscript && getenv ("EMACSTEST")) |
2445 tty->termscript = fopen (getenv ("EMACSTEST"), "wt"); | 2420 tty->termscript = fopen (getenv ("EMACSTEST"), "wt"); |
2446 if (tty->termscript) | 2421 if (tty->termscript) |
2509 | 2484 |
2510 if (tty->termscript && screen_size) | 2485 if (tty->termscript && screen_size) |
2511 fprintf (tty->termscript, "<SCREEN SAVED (dimensions=%dx%d)>\n", | 2486 fprintf (tty->termscript, "<SCREEN SAVED (dimensions=%dx%d)>\n", |
2512 screen_size_X, screen_size_Y); | 2487 screen_size_X, screen_size_Y); |
2513 | 2488 |
2489 init_frame_faces (sf); | |
2514 init_needed = 0; | 2490 init_needed = 0; |
2515 } | 2491 } |
2516 current_kboard->Vwindow_system = Qpc; | |
2517 sf->output_method = output_msdos_raw; | |
2518 init_frame_faces (sf); | |
2519 #endif | 2492 #endif |
2520 } | 2493 } |
2521 | 2494 |
2522 void | 2495 void |
2523 initialize_msdos_display (struct terminal *term) | 2496 initialize_msdos_display (struct terminal *term) |