aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2001-03-02 13:31:52 +0000
committerEli Zaretskii2001-03-02 13:31:52 +0000
commitff12cd1d433d4344d6f0496c92e92a3e497700f9 (patch)
treea0f8924b94f8d97dd811902ab52de3518592af3a
parent214378eca1d48adcdb0d38a5361cfee9cea9203e (diff)
downloademacs-ff12cd1d433d4344d6f0496c92e92a3e497700f9.tar.gz
emacs-ff12cd1d433d4344d6f0496c92e92a3e497700f9.zip
(Fmsdos_remember_default_colors): If default-frame-alist
specifies (reverse . t), reverse the initial screen colors. (IT_set_frame_parameters): If the property is foreground-color, but we are reversing the colors, set bg_set, not fg_set. Likewise for setting background-color and reversing: set fg_set. Set unspecified-fg and unspecified-bg correctly when (reverse . t) is in effect.
-rw-r--r--src/msdos.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/msdos.c b/src/msdos.c
index 6312d5dc2c0..ad7d8b13032 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -2312,8 +2312,20 @@ DEFUN ("msdos-remember-default-colors", Fmsdos_remember_default_colors,
2312 CHECK_FRAME (frame, 0); 2312 CHECK_FRAME (frame, 0);
2313 f= XFRAME (frame); 2313 f= XFRAME (frame);
2314 2314
2315 initial_screen_colors[0] = FRAME_FOREGROUND_PIXEL (f); 2315 /* This function is called after applying default-frame-alist to the
2316 initial_screen_colors[1] = FRAME_BACKGROUND_PIXEL (f); 2316 initial frame. At that time, if reverse-colors option was
2317 specified in default-frame-alist, it was already applied, and
2318 frame colors are reversed. We need to account for that. */
2319 if (EQ (Fcdr (Fassq (Qreverse, f->param_alist)), Qt))
2320 {
2321 initial_screen_colors[0] = FRAME_BACKGROUND_PIXEL (f);
2322 initial_screen_colors[1] = FRAME_FOREGROUND_PIXEL (f);
2323 }
2324 else
2325 {
2326 initial_screen_colors[0] = FRAME_FOREGROUND_PIXEL (f);
2327 initial_screen_colors[1] = FRAME_BACKGROUND_PIXEL (f);
2328 }
2317} 2329}
2318 2330
2319void 2331void
@@ -2415,14 +2427,15 @@ IT_set_frame_parameters (f, alist)
2415 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, 2427 Finternal_set_lisp_face_attribute (Qdefault, QCbackground,
2416 val, frame); 2428 val, frame);
2417 prop = Qbackground_color; 2429 prop = Qbackground_color;
2430 bg_set = 1;
2418 } 2431 }
2419 else 2432 else
2420 { 2433 {
2421 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, 2434 Finternal_set_lisp_face_attribute (Qdefault, QCforeground,
2422 val, frame); 2435 val, frame);
2436 fg_set = 1;
2423 } 2437 }
2424 redraw = 1; 2438 redraw = 1;
2425 fg_set = 1;
2426 if (termscript) 2439 if (termscript)
2427 fprintf (termscript, "<FGCOLOR %lu>\n", new_color); 2440 fprintf (termscript, "<FGCOLOR %lu>\n", new_color);
2428 } 2441 }
@@ -2445,14 +2458,15 @@ IT_set_frame_parameters (f, alist)
2445 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, 2458 Finternal_set_lisp_face_attribute (Qdefault, QCforeground,
2446 val, frame); 2459 val, frame);
2447 prop = Qforeground_color; 2460 prop = Qforeground_color;
2461 fg_set = 1;
2448 } 2462 }
2449 else 2463 else
2450 { 2464 {
2451 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, 2465 Finternal_set_lisp_face_attribute (Qdefault, QCbackground,
2452 val, frame); 2466 val, frame);
2467 bg_set = 1;
2453 } 2468 }
2454 redraw = 1; 2469 redraw = 1;
2455 bg_set = 1;
2456 if (termscript) 2470 if (termscript)
2457 fprintf (termscript, "<BGCOLOR %lu>\n", new_color); 2471 fprintf (termscript, "<BGCOLOR %lu>\n", new_color);
2458 } 2472 }
@@ -2483,19 +2497,17 @@ IT_set_frame_parameters (f, alist)
2483 if (!fg_set) 2497 if (!fg_set)
2484 { 2498 {
2485 XSETFRAME (frame, f); 2499 XSETFRAME (frame, f);
2486 Finternal_set_lisp_face_attribute (Qdefault, QCbackground, 2500 Finternal_set_lisp_face_attribute (Qdefault, QCforeground,
2487 tty_color_name (f, orig_fg), 2501 tty_color_name (f, orig_bg),
2488 frame); 2502 frame);
2489 store_frame_param (f, Qbackground_color, frame_fg);
2490 redraw = 1; 2503 redraw = 1;
2491 } 2504 }
2492 if (!bg_set) 2505 if (!bg_set)
2493 { 2506 {
2494 XSETFRAME (frame, f); 2507 XSETFRAME (frame, f);
2495 Finternal_set_lisp_face_attribute (Qdefault, QCforeground, 2508 Finternal_set_lisp_face_attribute (Qdefault, QCbackground,
2496 tty_color_name (f, orig_bg), 2509 tty_color_name (f, orig_fg),
2497 frame); 2510 frame);
2498 store_frame_param (f, Qforeground_color, frame_bg);
2499 redraw = 1; 2511 redraw = 1;
2500 } 2512 }
2501 } 2513 }