aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorMiles Bader2005-08-26 09:51:52 +0000
committerMiles Bader2005-08-26 09:51:52 +0000
commitd4cccb140682cfa548a8658f905764ceb4a38cb2 (patch)
tree5230af18ee25b37efed50fa38cac1eefb47d03fc /src/term.c
parent5e10f34207ff594cd6570928bc0292a7b53297b8 (diff)
parentf3f01d5df3156fb408b43da0c670796c37ed084f (diff)
downloademacs-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.c34
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
5This file is part of GNU Emacs. 5This 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 }