#include "dispextern.h"
#include "window.h"
+#ifdef HAVE_TERMCAP_H
+#include <termcap.h>
+#endif
+
#include "cm.h"
#ifdef HAVE_X_WINDOWS
#include "xterm.h"
#define OUTPUT1(a) tputs (a, 1, cmputc)
#define OUTPUTL(a, lines) tputs (a, lines, cmputc)
-#define OUTPUT_IF(a) \
- if (a) \
- tputs (a, (int) (FRAME_HEIGHT (XFRAME (selected_frame)) \
- - curY), cmputc); \
- else \
- (void) 0
+#define OUTPUT_IF(a) \
+ do { \
+ if (a) \
+ tputs (a, (int) (FRAME_HEIGHT (XFRAME (selected_frame)) \
+ - curY), cmputc); \
+ } while (0)
-#define OUTPUT1_IF(a) if (a) tputs (a, 1, cmputc); else (void) 0
+#define OUTPUT1_IF(a) do { if (a) tputs (a, 1, cmputc); } while (0)
/* Function to use to ring the bell. */
/* We must skip glyphs to be padded for a wide character. */
if (! CHAR_GLYPH_PADDING_P (*src))
{
- struct frame *sf = XFRAME (selected_frame);
-
c = src->u.ch.code;
if (! GLYPH_CHAR_VALID_P (c))
{
int face_id;
{
struct face *face = FACE_FROM_ID (f, face_id);
- Lisp_Object entry;
xassert (face != NULL);
MultiLeft = tgetstr ("LE", address);
MultiRight = tgetstr ("RI", address);
- /* SVr4/ANSI color suppert. */
+ /* SVr4/ANSI color suppert. If "op" isn't available, don't support
+ color because we can't switch back to the default foreground and
+ background. */
TS_orig_pair = tgetstr ("op", address);
- TS_set_foreground = tgetstr ("AF", address);
- TS_set_background = tgetstr ("AB", address);
- if (!TS_set_foreground)
+ if (TS_orig_pair)
{
- /* SVr4. */
- TS_set_foreground = tgetstr ("Sf", address);
- TS_set_background = tgetstr ("Sb", address);
+ TS_set_foreground = tgetstr ("AF", address);
+ TS_set_background = tgetstr ("AB", address);
+ if (!TS_set_foreground)
+ {
+ /* SVr4. */
+ TS_set_foreground = tgetstr ("Sf", address);
+ TS_set_background = tgetstr ("Sb", address);
+ }
+ TN_max_colors = tgetnum ("Co");
+ TN_max_pairs = tgetnum ("pa");
}
- TN_max_colors = tgetnum ("Co");
- TN_max_pairs = tgetnum ("pa");
MagicWrap = tgetflag ("xn");
/* Since we make MagicWrap terminals look like AutoWrap, we need to have