Sync up with XEmacs 21.4.17.
[chise/xemacs-chise.git.1] / src / redisplay-tty.c
index fe79a12..849d974 100644 (file)
@@ -76,11 +76,11 @@ EXTERN_C void tputs (const char *, int, void (*)(int));
   } while (0)
 #define OUTPUT1_IF(c, a) OUTPUTN_IF (c, a, 1)
 
-static void tty_output_emchar_dynarr (struct window *w,
-                                     struct display_line *dl,
-                                     Emchar_dynarr *buf, int xpos,
-                                     face_index findex,
-                                     int cursor);
+static void tty_output_charc_dynarr (struct window *w,
+                                    struct display_line *dl,
+                                    Charc_dynarr *buf, int xpos,
+                                    face_index findex,
+                                    int cursor);
 static void tty_output_bufbyte_string (struct window *w,
                                       struct display_line *dl,
                                       Bufbyte *str, Bytecount len,
@@ -99,13 +99,13 @@ static void term_get_fkeys (Lisp_Object keymap, char **address);
  Non-Mule tty's don't have fonts (that we use at least), so everything
  is considered to be fixed width -- in other words, we return LEN.
  Under Mule, however, a character can still cover more than one
- column, so we use emchar_string_displayed_columns().
+ column, so we use charc_string_displayed_columns().
  ****************************************************************************/
 static int
-tty_text_width (struct frame *f, struct face_cachel *cachel, const Emchar *str,
-               Charcount len)
+tty_text_width (struct frame *f, struct face_cachel *cachel,
+               const Charc *str, Charcount len)
 {
-  return emchar_string_displayed_columns (str, len);
+  return charc_string_displayed_columns (str, len);
 }
 
 /*****************************************************************************
@@ -196,7 +196,7 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
                          int cursor_height)
 {
   struct frame *f = XFRAME (w->frame);
-  Emchar_dynarr *buf = Dynarr_new (Emchar);
+  Charc_dynarr *buf = Dynarr_new (Charc);
 
   struct display_block *db = Dynarr_atp (dl->display_blocks, block);
   rune_dynarr *rba = db->runes;
@@ -236,18 +236,18 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
       rb = Dynarr_atp (rba, elt);
 
       if (rb->findex == findex && rb->type == RUNE_CHAR
-         && rb->object.chr.ch != '\n'
+         && (!CHARC_ASCII_EQ (rb->object.cglyph, '\n'))
          && (rb->cursor_type != CURSOR_ON
              || NILP (w->text_cursor_visible_p)))
        {
-         Dynarr_add (buf, rb->object.chr.ch);
+         Dynarr_add (buf, rb->object.cglyph);
          elt++;
        }
       else
        {
          if (Dynarr_length (buf))
            {
-             tty_output_emchar_dynarr (w, dl, buf, xpos, findex, 0);
+             tty_output_charc_dynarr (w, dl, buf, xpos, findex, 0);
              xpos = rb->xpos;
            }
          Dynarr_reset (buf);
@@ -257,13 +257,12 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
              findex = rb->findex;
              xpos = rb->xpos;
 
-             if (rb->object.chr.ch == '\n')
+             if (CHARC_ASCII_EQ (rb->object.cglyph, '\n'))
                {
                  /* Clear in case a cursor was formerly here. */
-
-                 Dynarr_add (buf, ' ');
-                 tty_output_emchar_dynarr (w, dl, buf, rb->xpos,
-                                           DEFAULT_INDEX, 0);
+                 Dynarr_add (buf, ASCII_TO_CHARC (' '));
+                 tty_output_charc_dynarr (w, dl, buf, rb->xpos,
+                                          DEFAULT_INDEX, 0);
                  Dynarr_reset (buf);
 
                  cmgoto (f, dl->ypos - 1, rb->xpos);
@@ -274,8 +273,8 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
                {
                  /* There is not a distinct eol cursor on tty's. */
 
-                 Dynarr_add (buf, rb->object.chr.ch);
-                 tty_output_emchar_dynarr (w, dl, buf, xpos, findex, 0);
+                 Dynarr_add (buf, rb->object.cglyph);
+                 tty_output_charc_dynarr (w, dl, buf, xpos, findex, 0);
                  Dynarr_reset (buf);
 
                  cmgoto (f, dl->ypos - 1, xpos);
@@ -289,17 +288,17 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
              modeline and this will suffice for that. */
          else if (rb->type == RUNE_BLANK || rb->type == RUNE_HLINE)
            {
-             Emchar ch_to_add;
+             Charc ec_to_add;
              int size = rb->width;
 
              if (rb->type == RUNE_BLANK)
-               ch_to_add = ' ';
+               ec_to_add = ASCII_TO_CHARC (' ');
              else
-               ch_to_add = '-';
+               ec_to_add = ASCII_TO_CHARC ('-');
 
              while (size--)
-               Dynarr_add (buf, ch_to_add);
-             tty_output_emchar_dynarr (w, dl, buf, rb->xpos, findex, 0);
+               Dynarr_add (buf, ec_to_add);
+             tty_output_charc_dynarr (w, dl, buf, rb->xpos, findex, 0);
 
              if (xpos >= cursor_start
                  && cursor_start < xpos + Dynarr_length (buf))
@@ -360,7 +359,7 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block,
     }
 
   if (Dynarr_length (buf))
-    tty_output_emchar_dynarr (w, dl, buf, xpos, findex, 0);
+    tty_output_charc_dynarr (w, dl, buf, xpos, findex, 0);
   Dynarr_free (buf);
 
 }
@@ -537,31 +536,31 @@ tty_output_bufbyte_string (struct window *w, struct display_line *dl,
   tty_turn_off_face (w, findex);
 }
 
-static Bufbyte_dynarr *tty_output_emchar_dynarr_dynarr;
+static Bufbyte_dynarr *tty_output_charc_dynarr_dynarr;
 
 /*****************************************************************************
- tty_output_emchar_dynarr
+ tty_output_charc_dynarr
 
  Given a string and a starting position, output that string in the
  given face.  If cursor is true, draw a cursor around the string.
  ****************************************************************************/
 static void
-tty_output_emchar_dynarr (struct window *w, struct display_line *dl,
-                         Emchar_dynarr *buf, int xpos, face_index findex,
-                         int cursor)
+tty_output_charc_dynarr (struct window *w, struct display_line *dl,
+                        Charc_dynarr *buf, int xpos, face_index findex,
+                        int cursor)
 {
-  if (!tty_output_emchar_dynarr_dynarr)
-    tty_output_emchar_dynarr_dynarr = Dynarr_new (Bufbyte);
+  if (!tty_output_charc_dynarr_dynarr)
+    tty_output_charc_dynarr_dynarr = Dynarr_new (Bufbyte);
   else
-    Dynarr_reset (tty_output_emchar_dynarr_dynarr);
+    Dynarr_reset (tty_output_charc_dynarr_dynarr);
 
-  convert_emchar_string_into_bufbyte_dynarr (Dynarr_atp (buf, 0),
+  convert_charc_string_into_bufbyte_dynarr (Dynarr_atp (buf, 0),
                                            Dynarr_length (buf),
-                                           tty_output_emchar_dynarr_dynarr);
+                                           tty_output_charc_dynarr_dynarr);
 
   tty_output_bufbyte_string (w, dl,
-                            Dynarr_atp (tty_output_emchar_dynarr_dynarr, 0),
-                            Dynarr_length (tty_output_emchar_dynarr_dynarr),
+                            Dynarr_atp (tty_output_charc_dynarr_dynarr, 0),
+                            Dynarr_length (tty_output_charc_dynarr_dynarr),
                             xpos, findex, cursor);
 }