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 [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c [emacs-unicode-2]
Date: Thu, 04 Nov 2004 04:10:57 -0500

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.843.2.30 emacs/src/xdisp.c:1.843.2.31
*** emacs/src/xdisp.c:1.843.2.30        Wed Oct 27 06:03:07 2004
--- emacs/src/xdisp.c   Thu Nov  4 08:55:32 2004
***************
*** 4651,4657 ****
        {
          Lisp_Object prop;
  
!         prop = Fget_char_property (make_number (IT_CHARPOS (*it)),
                                     Qinvisible, it->window);
          if (TEXT_PROP_MEANS_INVISIBLE (prop))
            visible_p = 0;
--- 4651,4658 ----
        {
          Lisp_Object prop;
  
!         /* Check the newline before point for invisibility.  */
!         prop = Fget_char_property (make_number (IT_CHARPOS (*it) - 1),
                                     Qinvisible, it->window);
          if (TEXT_PROP_MEANS_INVISIBLE (prop))
            visible_p = 0;
***************
*** 4984,4991 ****
             If it->multibyte_p is zero, eight-bit characters that
             don't have corresponding multibyte char code are also
             translated to octal form.  */
!         else if ((it->c < ' ' ? (it->area != TEXT_AREA
!                                  || (it->c != '\n' && it->c != '\t'))
                    : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)
                    : (it->c >= 127
                       && (! unibyte_display_via_language_environment
--- 4985,4995 ----
             If it->multibyte_p is zero, eight-bit characters that
             don't have corresponding multibyte char code are also
             translated to octal form.  */
!         else if ((it->c < ' '
!                   ? (it->area != TEXT_AREA
!                      /* In mode line, treat \n, \t like other crl chars.  */
!                      || (it->glyph_row && it->glyph_row->mode_line_p)
!                      || (it->c != '\n' && it->c != '\t'))
                    : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)
                    : (it->c >= 127
                       && (! unibyte_display_via_language_environment
***************
*** 8525,8531 ****
        {
          struct buffer *prev = current_buffer;
          int count = SPECPDL_INDEX ();
!         Lisp_Object old_tool_bar;
          struct gcpro gcpro1;
  
          /* Set current_buffer to the buffer of the selected
--- 8529,8536 ----
        {
          struct buffer *prev = current_buffer;
          int count = SPECPDL_INDEX ();
!         Lisp_Object new_tool_bar;
!           int new_n_tool_bar;
          struct gcpro gcpro1;
  
          /* Set current_buffer to the buffer of the selected
***************
*** 8544,8561 ****
              specbind (Qoverriding_local_map, Qnil);
            }
  
!         old_tool_bar = f->tool_bar_items;
!         GCPRO1 (old_tool_bar);
  
          /* Build desired tool-bar items from keymaps.  */
!           BLOCK_INPUT;
!         f->tool_bar_items
!           = tool_bar_items (f->tool_bar_items, &f->n_tool_bar_items);
!           UNBLOCK_INPUT;
  
          /* Redisplay the tool-bar if we changed it.  */
!         if (! NILP (Fequal (old_tool_bar, f->tool_bar_items)))
!           w->update_mode_line = Qt;
  
          UNGCPRO;
  
--- 8549,8572 ----
              specbind (Qoverriding_local_map, Qnil);
            }
  
!         GCPRO1 (new_tool_bar);
  
          /* Build desired tool-bar items from keymaps.  */
!           new_tool_bar = tool_bar_items (Fcopy_sequence (f->tool_bar_items),
!                                          &new_n_tool_bar);
  
          /* Redisplay the tool-bar if we changed it.  */
!         if (NILP (Fequal (new_tool_bar, f->tool_bar_items)))
!             {
!               /* Redisplay that happens asynchronously due to an expose event
!                  may access f->tool_bar_items.  Make sure we update both
!                  variables within BLOCK_INPUT so no such event interrupts.  */
!               BLOCK_INPUT;
!               f->tool_bar_items = new_tool_bar;
!               f->n_tool_bar_items = new_n_tool_bar;
!               w->update_mode_line = Qt;
!               UNBLOCK_INPUT;
!             }
  
          UNGCPRO;
  




reply via email to

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