aboutsummaryrefslogtreecommitdiffstats
path: root/src/xdisp.c
diff options
context:
space:
mode:
authorKaroly Lorentey2004-11-06 17:52:02 +0000
committerKaroly Lorentey2004-11-06 17:52:02 +0000
commit65ea79492334e2ef7b5b4e0d23b6f68ba2f4d0bb (patch)
tree853cf391ca1abda4f4ccd6fe8e7bb43f7c86ee08 /src/xdisp.c
parente0bc17abe6979d607e8de4684dddb96e53c60065 (diff)
parent392cf16dd0ee9358f8af0cd0d8048b822456bbeb (diff)
downloademacs-65ea79492334e2ef7b5b4e0d23b6f68ba2f4d0bb.tar.gz
emacs-65ea79492334e2ef7b5b4e0d23b6f68ba2f4d0bb.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-653 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-654 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-655 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-656 Update from CVS: lisp/man.el (Man-xref-normal-file): Fix help-echo. * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-657 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-658 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-659 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-660 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-661 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-662 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-663 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-664 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-665 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-666 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-667 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-668 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-669 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-670 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-671 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-64 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-65 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-66 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-67 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-68 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-264
Diffstat (limited to 'src/xdisp.c')
-rw-r--r--src/xdisp.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index a5449c4db7c..4b0865aa4f0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4554,7 +4554,8 @@ back_to_previous_visible_line_start (it)
4554 { 4554 {
4555 Lisp_Object prop; 4555 Lisp_Object prop;
4556 4556
4557 prop = Fget_char_property (make_number (IT_CHARPOS (*it)), 4557 /* Check the newline before point for invisibility. */
4558 prop = Fget_char_property (make_number (IT_CHARPOS (*it) - 1),
4558 Qinvisible, it->window); 4559 Qinvisible, it->window);
4559 if (TEXT_PROP_MEANS_INVISIBLE (prop)) 4560 if (TEXT_PROP_MEANS_INVISIBLE (prop))
4560 visible_p = 0; 4561 visible_p = 0;
@@ -8414,7 +8415,8 @@ update_tool_bar (f, save_match_data)
8414 { 8415 {
8415 struct buffer *prev = current_buffer; 8416 struct buffer *prev = current_buffer;
8416 int count = SPECPDL_INDEX (); 8417 int count = SPECPDL_INDEX ();
8417 Lisp_Object old_tool_bar; 8418 Lisp_Object new_tool_bar;
8419 int new_n_tool_bar;
8418 struct gcpro gcpro1; 8420 struct gcpro gcpro1;
8419 8421
8420 /* Set current_buffer to the buffer of the selected 8422 /* Set current_buffer to the buffer of the selected
@@ -8433,18 +8435,24 @@ update_tool_bar (f, save_match_data)
8433 specbind (Qoverriding_local_map, Qnil); 8435 specbind (Qoverriding_local_map, Qnil);
8434 } 8436 }
8435 8437
8436 old_tool_bar = f->tool_bar_items; 8438 GCPRO1 (new_tool_bar);
8437 GCPRO1 (old_tool_bar);
8438 8439
8439 /* Build desired tool-bar items from keymaps. */ 8440 /* Build desired tool-bar items from keymaps. */
8440 BLOCK_INPUT; 8441 new_tool_bar = tool_bar_items (Fcopy_sequence (f->tool_bar_items),
8441 f->tool_bar_items 8442 &new_n_tool_bar);
8442 = tool_bar_items (f->tool_bar_items, &f->n_tool_bar_items);
8443 UNBLOCK_INPUT;
8444 8443
8445 /* Redisplay the tool-bar if we changed it. */ 8444 /* Redisplay the tool-bar if we changed it. */
8446 if (! NILP (Fequal (old_tool_bar, f->tool_bar_items))) 8445 if (NILP (Fequal (new_tool_bar, f->tool_bar_items)))
8447 w->update_mode_line = Qt; 8446 {
8447 /* Redisplay that happens asynchronously due to an expose event
8448 may access f->tool_bar_items. Make sure we update both
8449 variables within BLOCK_INPUT so no such event interrupts. */
8450 BLOCK_INPUT;
8451 f->tool_bar_items = new_tool_bar;
8452 f->n_tool_bar_items = new_n_tool_bar;
8453 w->update_mode_line = Qt;
8454 UNBLOCK_INPUT;
8455 }
8448 8456
8449 UNGCPRO; 8457 UNGCPRO;
8450 8458