emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Wed, 08 Jun 2005 11:25:54 -0400

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.1020 emacs/src/xdisp.c:1.1021
*** emacs/src/xdisp.c:1.1020    Tue Jun  7 14:32:22 2005
--- emacs/src/xdisp.c   Wed Jun  8 15:25:52 2005
***************
*** 5116,5121 ****
--- 5116,5123 ----
              int face_id, lface_id = 0 ;
              GLYPH escape_glyph;
  
+             /* Handle control characters with ^.  */
+ 
              if (it->c < 128 && it->ctl_arrow_p)
                {
                  g = '^';           /* default glyph for Control */
***************
*** 5147,5153 ****
                  goto display_control;
                }
  
!             escape_glyph = '\\';    /* default for Octal display */
              if (it->dp
                  && INTEGERP (DISP_ESCAPE_GLYPH (it->dp))
                  && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp))))
--- 5149,5176 ----
                  goto display_control;
                }
  
!             /* Handle non-break space in the mode where it only gets
!                highlighting.  */
! 
!             if (! EQ (Vshow_nonbreak_escape, Qt)
!                 && (it->c == 0x8a0 || it->c == 0x920
!                     || it->c == 0xe20 || it->c == 0xf20))
!               {
!                 /* Merge the no-break-space face into the current face.  */
!                 face_id = merge_faces (it->f, Qno_break_space, 0,
!                                        it->face_id);
! 
!                 g = it->c = ' ';
!                 XSETINT (it->ctl_chars[0], g);
!                 ctl_len = 1;
!                 goto display_control;
!               }
! 
!             /* Handle sequences that start with the "escape glyph".  */
! 
!             /* the default escape glyph is \.  */
!             escape_glyph = '\\';
! 
              if (it->dp
                  && INTEGERP (DISP_ESCAPE_GLYPH (it->dp))
                  && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp))))
***************
*** 5157,5162 ****
--- 5180,5187 ----
                }
              if (lface_id)
                {
+                 /* The display table specified a face.
+                    Merge it into face_id and also into escape_glyph.  */
                  escape_glyph = FAST_GLYPH_CHAR (escape_glyph);
                  face_id = merge_faces (it->f, Qt, lface_id,
                                         it->face_id);
***************
*** 5168,5192 ****
                                         it->face_id);
                }
  
!             if (it->c == 0x8a0 || it->c == 0x920
!                 || it->c == 0xe20 || it->c == 0xf20)
!               {
!                 /* Merge the no-break-space face into the current face.  */
!                 face_id = merge_faces (it->f, Qno_break_space, 0,
!                                        it->face_id);
  
!                 g = it->c;
                  XSETINT (it->ctl_chars[0], g);
                  ctl_len = 1;
                  goto display_control;
                }
  
!             if (it->c == 0x8ad || it->c == 0x92d
!                 || it->c == 0xe2d || it->c == 0xf2d)
                {
!                 g = it->c;
!                 XSETINT (it->ctl_chars[0], g);
!                 ctl_len = 1;
                  goto display_control;
                }
  
--- 5193,5223 ----
                                         it->face_id);
                }
  
!             /* Handle soft hyphens in the mode where they only get
!                highlighting.  */
  
!             if (! EQ (Vshow_nonbreak_escape, Qt)
!                 && (it->c == 0x8ad || it->c == 0x92d
!                     || it->c == 0xe2d || it->c == 0xf2d))
!               {
!                 g = it->c = '-';
                  XSETINT (it->ctl_chars[0], g);
                  ctl_len = 1;
                  goto display_control;
                }
  
!             /* Handle non-break space and soft hyphen
!                with the escape glyph.  */
! 
!             if (it->c == 0x8a0 || it->c == 0x8ad
!                 || it->c == 0x920 || it->c == 0x92d
!                 || it->c == 0xe20 || it->c == 0xe2d
!                 || it->c == 0xf20 || it->c == 0xf2d)
                {
!                 XSETINT (it->ctl_chars[0], escape_glyph);
!                 g = it->c = ((it->c & 0xf) == 0 ? ' ' : '-');
!                 XSETINT (it->ctl_chars[1], g);
!                 ctl_len = 2;
                  goto display_control;
                }
  
***************
*** 22854,22860 ****
    Vshow_trailing_whitespace = Qnil;
  
    DEFVAR_LISP ("show-nonbreak-escape", &Vshow_nonbreak_escape,
!     doc: /* *Non-nil means display escape character before non-break space 
and hyphen.  */);
    Vshow_nonbreak_escape = Qt;
  
    DEFVAR_LISP ("void-text-area-pointer", &Vvoid_text_area_pointer,
--- 22885,22895 ----
    Vshow_trailing_whitespace = Qnil;
  
    DEFVAR_LISP ("show-nonbreak-escape", &Vshow_nonbreak_escape,
!     doc: /* *Control highlighting of non-break space and soft hyphen.
! t means highlight the character itself (for non-break space,
! use face `non-break-space'.
! nil means no highlighting.
! other values mean display the escape glyph before the character.  */);
    Vshow_nonbreak_escape = Qt;
  
    DEFVAR_LISP ("void-text-area-pointer", &Vvoid_text_area_pointer,




reply via email to

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