ncurses 5.6 - patch 20080927
[ncurses.git] / ncurses / tty / tty_display.h
index 8382c823f06ab72df27813efc21c268c18ecafba..4c45a08450ed974988e20e973f5d03a97189ad1d 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -29,6 +29,9 @@
 #ifndef TTY_DISPLAY_H
 #define TTY_DISPLAY_H 1
 
 #ifndef TTY_DISPLAY_H
 #define TTY_DISPLAY_H 1
 
+/*
+ * $Id: tty_display.h,v 1.6 2005/01/01 23:41:12 tom Exp $
+ */
 extern NCURSES_EXPORT(bool) _nc_tty_beep (void);
 extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void);
 extern NCURSES_EXPORT(bool) _nc_tty_cursor (int);
 extern NCURSES_EXPORT(bool) _nc_tty_beep (void);
 extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void);
 extern NCURSES_EXPORT(bool) _nc_tty_cursor (int);
@@ -111,11 +114,11 @@ struct tty_display_data {
                : ((enter_insert_mode && exit_insert_mode) \
                  ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \
                  : ((insert_character != 0) \
                : ((enter_insert_mode && exit_insert_mode) \
                  ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \
                  : ((insert_character != 0) \
-                   ? (D->_ich1_cost * count) \
+                   ? ((D->_ich1_cost + D->_ip_cost) * count) \
                    : INFINITY)))
 
 #if USE_XMC_SUPPORT
                    : INFINITY)))
 
 #if USE_XMC_SUPPORT
-#define UpdateAttrs(c) if (D->_current_attr != AttrOf(c)) { \
+#define UpdateAttrs(c) if (!SameAttrOf(D->_current_attr, AttrOf(c))) { \
                                attr_t chg = D->_current_attr; \
                                vidattr(AttrOf(c)); \
                                if (magic_cookie_glitch > 0 \
                                attr_t chg = D->_current_attr; \
                                vidattr(AttrOf(c)); \
                                if (magic_cookie_glitch > 0 \
@@ -128,7 +131,7 @@ struct tty_display_data {
                                } \
                        }
 #else
                                } \
                        }
 #else
-#define UpdateAttrs(c) if (D->_current_attr != AttrOf(c)) \
+#define UpdateAttrs(c) if (!SameAttrOf(D->_current_attr, AttrOf(c))) \
                                vidattr(AttrOf(c));
 #endif
 
                                vidattr(AttrOf(c));
 #endif