diff options
| author | Eli Zaretskii | 2001-03-02 13:31:52 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2001-03-02 13:31:52 +0000 |
| commit | ff12cd1d433d4344d6f0496c92e92a3e497700f9 (patch) | |
| tree | a0f8924b94f8d97dd811902ab52de3518592af3a | |
| parent | 214378eca1d48adcdb0d38a5361cfee9cea9203e (diff) | |
| download | emacs-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.c | 32 |
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 | ||
| 2319 | void | 2331 | void |
| @@ -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 | } |