diff options
| author | Miles Bader | 2005-08-26 09:51:52 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-08-26 09:51:52 +0000 |
| commit | d4cccb140682cfa548a8658f905764ceb4a38cb2 (patch) | |
| tree | 5230af18ee25b37efed50fa38cac1eefb47d03fc /src/term.c | |
| parent | 5e10f34207ff594cd6570928bc0292a7b53297b8 (diff) | |
| parent | f3f01d5df3156fb408b43da0c670796c37ed084f (diff) | |
| download | emacs-d4cccb140682cfa548a8658f905764ceb4a38cb2.tar.gz emacs-d4cccb140682cfa548a8658f905764ceb4a38cb2.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-78
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 514-518)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 104-105)
- Update from CVS
Diffstat (limited to 'src/term.c')
| -rw-r--r-- | src/term.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/src/term.c b/src/term.c index c8c34ffee39..eb575c1792e 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Terminal control module for terminals described by TERMCAP | 1 | /* Terminal control module for terminals described by TERMCAP |
| 2 | Copyright (C) 1985, 86, 87, 93, 94, 95, 98, 2000, 2001, 2002, 2005 | 2 | Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1998, 2000, 2001, |
| 3 | Free Software Foundation, Inc. | 3 | 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -451,7 +451,17 @@ set_terminal_modes () | |||
| 451 | { | 451 | { |
| 452 | if (FRAME_TERMCAP_P (XFRAME (selected_frame))) | 452 | if (FRAME_TERMCAP_P (XFRAME (selected_frame))) |
| 453 | { | 453 | { |
| 454 | OUTPUT_IF (TS_termcap_modes); | 454 | if (TS_termcap_modes) |
| 455 | OUTPUT (TS_termcap_modes); | ||
| 456 | else | ||
| 457 | { | ||
| 458 | /* Output enough newlines to scroll all the old screen contents | ||
| 459 | off the screen, so it won't be overwritten and lost. */ | ||
| 460 | int i; | ||
| 461 | for (i = 0; i < FRAME_LINES (XFRAME (selected_frame)); i++) | ||
| 462 | putchar ('\n'); | ||
| 463 | } | ||
| 464 | |||
| 455 | OUTPUT_IF (TS_cursor_visible); | 465 | OUTPUT_IF (TS_cursor_visible); |
| 456 | OUTPUT_IF (TS_keypad_mode); | 466 | OUTPUT_IF (TS_keypad_mode); |
| 457 | losecursor (); | 467 | losecursor (); |
| @@ -2019,24 +2029,20 @@ turn_on_face (f, face_id) | |||
| 2019 | 2029 | ||
| 2020 | if (TN_max_colors > 0) | 2030 | if (TN_max_colors > 0) |
| 2021 | { | 2031 | { |
| 2022 | char *p; | 2032 | char *ts, *p; |
| 2023 | 2033 | ||
| 2024 | if (fg >= 0 && TS_set_foreground) | 2034 | ts = standout_mode ? TS_set_background : TS_set_foreground; |
| 2035 | if (fg >= 0 && ts) | ||
| 2025 | { | 2036 | { |
| 2026 | if (standout_mode) | 2037 | p = tparam (ts, NULL, 0, (int) fg); |
| 2027 | p = tparam (TS_set_background, NULL, 0, (int) fg); | ||
| 2028 | else | ||
| 2029 | p = tparam (TS_set_foreground, NULL, 0, (int) fg); | ||
| 2030 | OUTPUT (p); | 2038 | OUTPUT (p); |
| 2031 | xfree (p); | 2039 | xfree (p); |
| 2032 | } | 2040 | } |
| 2033 | 2041 | ||
| 2034 | if (bg >= 0 && TS_set_background) | 2042 | ts = standout_mode ? TS_set_foreground : TS_set_background; |
| 2043 | if (bg >= 0 && ts) | ||
| 2035 | { | 2044 | { |
| 2036 | if (standout_mode) | 2045 | p = tparam (ts, NULL, 0, (int) bg); |
| 2037 | p = tparam (TS_set_foreground, NULL, 0, (int) bg); | ||
| 2038 | else | ||
| 2039 | p = tparam (TS_set_background, NULL, 0, (int) bg); | ||
| 2040 | OUTPUT (p); | 2046 | OUTPUT (p); |
| 2041 | xfree (p); | 2047 | xfree (p); |
| 2042 | } | 2048 | } |