emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/term.c


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/term.c
Date: Fri, 17 Jun 2005 10:08:59 -0400

Index: emacs/src/term.c
diff -c emacs/src/term.c:1.161 emacs/src/term.c:1.162
*** emacs/src/term.c:1.161      Sun Apr 17 01:37:38 2005
--- emacs/src/term.c    Fri Jun 17 14:08:58 2005
***************
*** 1857,1862 ****
--- 1857,1863 ----
       enum display_element_type what;
  {
    struct it temp_it;
+   GLYPH glyph;
  
    temp_it = *it;
    temp_it.dp = NULL;
***************
*** 1872,1886 ****
          && INTEGERP (DISP_CONTINUE_GLYPH (it->dp))
          && GLYPH_CHAR_VALID_P (XINT (DISP_CONTINUE_GLYPH (it->dp))))
        {
!         temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_CONTINUE_GLYPH (it->dp)));
!         temp_it.len = CHAR_BYTES (temp_it.c);
        }
        else
!       temp_it.c = '\\';
! 
!       produce_glyphs (&temp_it);
!       it->pixel_width = temp_it.pixel_width;
!       it->nglyphs = temp_it.pixel_width;
      }
    else if (what == IT_TRUNCATION)
      {
--- 1873,1883 ----
          && INTEGERP (DISP_CONTINUE_GLYPH (it->dp))
          && GLYPH_CHAR_VALID_P (XINT (DISP_CONTINUE_GLYPH (it->dp))))
        {
!         glyph = XINT (DISP_CONTINUE_GLYPH (it->dp));
!         glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
        }
        else
!       glyph = '\\';
      }
    else if (what == IT_TRUNCATION)
      {
***************
*** 1889,1906 ****
          && INTEGERP (DISP_TRUNC_GLYPH (it->dp))
          && GLYPH_CHAR_VALID_P (XINT (DISP_TRUNC_GLYPH (it->dp))))
        {
!         temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_TRUNC_GLYPH (it->dp)));
!         temp_it.len = CHAR_BYTES (temp_it.c);
        }
        else
!       temp_it.c = '$';
! 
!       produce_glyphs (&temp_it);
!       it->pixel_width = temp_it.pixel_width;
!       it->nglyphs = temp_it.pixel_width;
      }
    else
      abort ();
  }
  
  
--- 1886,1907 ----
          && INTEGERP (DISP_TRUNC_GLYPH (it->dp))
          && GLYPH_CHAR_VALID_P (XINT (DISP_TRUNC_GLYPH (it->dp))))
        {
!         glyph = XINT (DISP_TRUNC_GLYPH (it->dp));
!         glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
        }
        else
!       glyph = '$';
      }
    else
      abort ();
+ 
+   temp_it.c = FAST_GLYPH_CHAR (glyph);
+   temp_it.face_id = FAST_GLYPH_FACE (glyph);
+   temp_it.len = CHAR_BYTES (temp_it.c);
+ 
+   produce_glyphs (&temp_it);
+   it->pixel_width = temp_it.pixel_width;
+   it->nglyphs = temp_it.pixel_width;
  }
  
  
***************
*** 1919,1925 ****
        ? (TN_no_color_video & (ATTR)) == 0     \
        : 1)
  
! /* Turn appearances of face FACE_ID on tty frame F on.  */
  
  static void
  turn_on_face (f, face_id)
--- 1920,1927 ----
        ? (TN_no_color_video & (ATTR)) == 0     \
        : 1)
  
! /* Turn appearances of face FACE_ID on tty frame F on.
!    FACE_ID is a realized face ID number, in the face cache.  */
  
  static void
  turn_on_face (f, face_id)
***************
*** 2685,2690 ****
--- 2687,2702 ----
    exit (1);
  }
  
+ DEFUN ("tty-no-underline", Ftty_no_underline, Stty_no_underline, 0, 0, 0,
+        doc: /* Declare that this terminal does not handle underlining.
+ This is used to override the terminfo data, for certain terminals that
+ do not really do underlining, but say that they do.  */)
+   ()
+ {
+   TS_enter_underline_mode = 0;
+   return Qnil;
+ }
+ 
  void
  syms_of_term ()
  {
***************
*** 2704,2709 ****
--- 2716,2722 ----
  
    defsubr (&Stty_display_color_p);
    defsubr (&Stty_display_color_cells);
+   defsubr (&Stty_no_underline);
  }
  
  /* arch-tag: 498e7449-6f2e-45e2-91dd-b7d4ca488193




reply via email to

[Prev in Thread] Current Thread [Next in Thread]