diff options
| author | Karoly Lorentey | 2004-11-06 17:52:02 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-11-06 17:52:02 +0000 |
| commit | 65ea79492334e2ef7b5b4e0d23b6f68ba2f4d0bb (patch) | |
| tree | 853cf391ca1abda4f4ccd6fe8e7bb43f7c86ee08 /src/xdisp.c | |
| parent | e0bc17abe6979d607e8de4684dddb96e53c60065 (diff) | |
| parent | 392cf16dd0ee9358f8af0cd0d8048b822456bbeb (diff) | |
| download | emacs-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.c | 28 |
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 | ||