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: Jan Djärv
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Sun, 31 Oct 2004 10:17:00 -0500

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.923 emacs/src/xdisp.c:1.924
*** emacs/src/xdisp.c:1.923     Wed Oct 27 14:46:25 2004
--- emacs/src/xdisp.c   Sun Oct 31 15:11:31 2004
***************
*** 8416,8422 ****
        {
          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
--- 8416,8423 ----
        {
          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
***************
*** 8435,8452 ****
              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;
  
--- 8436,8459 ----
              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]