/[emacs]/emacs/src/xdisp.c
ViewVC logotype

Diff of /emacs/src/xdisp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.731 by eliz, Sun Mar 3 17:28:52 2002 UTC revision 1.732 by rms, Sun Mar 3 20:02:08 2002 UTC
# Line 8878  redisplay_internal (preserve_echo_area) Line 8878  redisplay_internal (preserve_echo_area)
8878                        
8879            if (FRAME_WINDOW_P (f) || f == sf)            if (FRAME_WINDOW_P (f) || f == sf)
8880              {              {
8881    #ifdef HAVE_WINDOW_SYSTEM
8882                if (clear_face_cache_count % 50 == 0                if (clear_face_cache_count % 50 == 0
8883                    && FRAME_WINDOW_P (f))                    && FRAME_WINDOW_P (f))
8884                  clear_image_cache (f, 0);                  clear_image_cache (f, 0);
8885    #endif /* HAVE_WINDOW_SYSTEM */
8886    
8887                /* Mark all the scroll bars to be removed; we'll redeem                /* Mark all the scroll bars to be removed; we'll redeem
8888                   the ones we want when we redisplay their windows.  */                   the ones we want when we redisplay their windows.  */
# Line 13598  display_mode_element (it, depth, field_w Line 13600  display_mode_element (it, depth, field_w
13600        {        {
13601          /* A string: output it and check for %-constructs within it.  */          /* A string: output it and check for %-constructs within it.  */
13602          unsigned char c;          unsigned char c;
13603          unsigned char *this = XSTRING (elt)->data;          unsigned char *this, *lisp_string;
         unsigned char *lisp_string = this;  
13604    
13605          if (!NILP (props))          if (!NILP (props))
13606            {            {
# Line 13607  display_mode_element (it, depth, field_w Line 13608  display_mode_element (it, depth, field_w
13608              oprops = Ftext_properties_at (make_number (0), elt);              oprops = Ftext_properties_at (make_number (0), elt);
13609              if (NILP (Fequal (props, oprops)))              if (NILP (Fequal (props, oprops)))
13610                {                {
13611                    /* If the starting string has properties,
13612                       merge the specified ones onto the existing ones.  */
13613                    if (! NILP (oprops))
13614                      {
13615                        Lisp_Object tem;
13616    
13617                        oprops = Fcopy_sequence (oprops);
13618                        tem = props;
13619                        while (CONSP (tem))
13620                          {
13621                            oprops = Fplist_put (oprops, XCAR (tem),
13622                                                 XCAR (XCDR (tem)));
13623                            tem = XCDR (XCDR (tem));
13624                          }
13625                        props = oprops;
13626                      }
13627    
13628                  aelt = Fassoc (elt, mode_line_proptrans_alist);                  aelt = Fassoc (elt, mode_line_proptrans_alist);
13629                  if (! NILP (aelt) && !NILP (Fequal (props, XCDR (aelt))))                  if (! NILP (aelt) && !NILP (Fequal (props, XCDR (aelt))))
13630                    elt = XCAR (aelt);                    elt = XCAR (aelt);
# Line 13621  display_mode_element (it, depth, field_w Line 13639  display_mode_element (it, depth, field_w
13639                }                }
13640            }            }
13641    
13642            this = XSTRING (elt)->data;
13643            lisp_string = this;
13644    
13645          if (literal)          if (literal)
13646            {            {
13647              prec = precision - n;              prec = precision - n;
# Line 13689  display_mode_element (it, depth, field_w Line 13710  display_mode_element (it, depth, field_w
13710                  else if (c != 0)                  else if (c != 0)
13711                    {                    {
13712                      int multibyte;                      int multibyte;
13713                      unsigned char *spec                      int bytepos, charpos;
13714                        unsigned char *spec;
13715                            
13716                        bytepos = percent_position - lisp_string;
13717                        charpos = (STRING_MULTIBYTE (elt)
13718                                   ? string_byte_to_char (elt, bytepos)
13719                                   : bytepos);
13720    
13721                        spec
13722                        = decode_mode_spec (it->w, c, field, prec, &multibyte);                        = decode_mode_spec (it->w, c, field, prec, &multibyte);
13723    
13724                      if (frame_title_ptr)                      if (frame_title_ptr)
13725                        n += store_frame_title (spec, field, prec);                        n += store_frame_title (spec, field, prec);
13726                      else                      else
13727                        {                        {
13728                          int nglyphs_before, bytepos, charpos, nwritten;                          int nglyphs_before, nwritten;
13729                                                    
13730                          nglyphs_before = it->glyph_row->used[TEXT_AREA];                          nglyphs_before = it->glyph_row->used[TEXT_AREA];
                         bytepos = percent_position - XSTRING (elt)->data;  
                         charpos = (STRING_MULTIBYTE (elt)  
                                    ? string_byte_to_char (elt, bytepos)  
                                    : bytepos);  
13731                          nwritten = display_string (spec, Qnil, elt,                          nwritten = display_string (spec, Qnil, elt,
13732                                                     charpos, 0, it,                                                     charpos, 0, it,
13733                                                     field, prec, 0,                                                     field, prec, 0,

Legend:
Removed from v.1.731  
changed lines
  Added in v.1.732

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26