/[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.843.2.30 by miles, Wed Oct 27 06:03:07 2004 UTC revision 1.843.2.31 by miles, Thu Nov 4 08:55:32 2004 UTC
# Line 4651  back_to_previous_visible_line_start (it) Line 4651  back_to_previous_visible_line_start (it)
4651          {          {
4652            Lisp_Object prop;            Lisp_Object prop;
4653    
4654            prop = Fget_char_property (make_number (IT_CHARPOS (*it)),            /* Check the newline before point for invisibility.  */
4655              prop = Fget_char_property (make_number (IT_CHARPOS (*it) - 1),
4656                                       Qinvisible, it->window);                                       Qinvisible, it->window);
4657            if (TEXT_PROP_MEANS_INVISIBLE (prop))            if (TEXT_PROP_MEANS_INVISIBLE (prop))
4658              visible_p = 0;              visible_p = 0;
# Line 4984  get_next_display_element (it) Line 4985  get_next_display_element (it)
4985               If it->multibyte_p is zero, eight-bit characters that               If it->multibyte_p is zero, eight-bit characters that
4986               don't have corresponding multibyte char code are also               don't have corresponding multibyte char code are also
4987               translated to octal form.  */               translated to octal form.  */
4988            else if ((it->c < ' ' ? (it->area != TEXT_AREA            else if ((it->c < ' '
4989                                     || (it->c != '\n' && it->c != '\t'))                      ? (it->area != TEXT_AREA
4990                           /* In mode line, treat \n, \t like other crl chars.  */
4991                           || (it->glyph_row && it->glyph_row->mode_line_p)
4992                           || (it->c != '\n' && it->c != '\t'))
4993                      : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)                      : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)
4994                      : (it->c >= 127                      : (it->c >= 127
4995                         && (! unibyte_display_via_language_environment                         && (! unibyte_display_via_language_environment
# Line 8525  update_tool_bar (f, save_match_data) Line 8529  update_tool_bar (f, save_match_data)
8529          {          {
8530            struct buffer *prev = current_buffer;            struct buffer *prev = current_buffer;
8531            int count = SPECPDL_INDEX ();            int count = SPECPDL_INDEX ();
8532            Lisp_Object old_tool_bar;            Lisp_Object new_tool_bar;
8533              int new_n_tool_bar;
8534            struct gcpro gcpro1;            struct gcpro gcpro1;
8535    
8536            /* Set current_buffer to the buffer of the selected            /* Set current_buffer to the buffer of the selected
# Line 8544  update_tool_bar (f, save_match_data) Line 8549  update_tool_bar (f, save_match_data)
8549                specbind (Qoverriding_local_map, Qnil);                specbind (Qoverriding_local_map, Qnil);
8550              }              }
8551    
8552            old_tool_bar = f->tool_bar_items;            GCPRO1 (new_tool_bar);
           GCPRO1 (old_tool_bar);  
8553    
8554            /* Build desired tool-bar items from keymaps.  */            /* Build desired tool-bar items from keymaps.  */
8555            BLOCK_INPUT;            new_tool_bar = tool_bar_items (Fcopy_sequence (f->tool_bar_items),
8556            f->tool_bar_items                                           &new_n_tool_bar);
             = tool_bar_items (f->tool_bar_items, &f->n_tool_bar_items);  
           UNBLOCK_INPUT;  
8557    
8558            /* Redisplay the tool-bar if we changed it.  */            /* Redisplay the tool-bar if we changed it.  */
8559            if (! NILP (Fequal (old_tool_bar, f->tool_bar_items)))            if (NILP (Fequal (new_tool_bar, f->tool_bar_items)))
8560              w->update_mode_line = Qt;              {
8561                  /* Redisplay that happens asynchronously due to an expose event
8562                     may access f->tool_bar_items.  Make sure we update both
8563                     variables within BLOCK_INPUT so no such event interrupts.  */
8564                  BLOCK_INPUT;
8565                  f->tool_bar_items = new_tool_bar;
8566                  f->n_tool_bar_items = new_n_tool_bar;
8567                  w->update_mode_line = Qt;
8568                  UNBLOCK_INPUT;
8569                }
8570    
8571            UNGCPRO;            UNGCPRO;
8572    

Legend:
Removed from v.1.843.2.30  
changed lines
  Added in v.1.843.2.31

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