diff options
| author | Stefan Monnier | 2014-10-20 21:17:06 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-10-20 21:17:06 -0400 |
| commit | eed18bf1fd1162872e196091ab795a773f277e8e (patch) | |
| tree | f3fee81f1e7fdf23b57138740437e07ce244ede8 /src | |
| parent | 8a85c254de2528be0f3ff154fa24df65e6557c1a (diff) | |
| parent | 1fc82d89a8a603754d17a35be1ce78e66d0b6fd6 (diff) | |
| download | emacs-eed18bf1fd1162872e196091ab795a773f277e8e.tar.gz emacs-eed18bf1fd1162872e196091ab795a773f277e8e.zip | |
Merge from emacs-24
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 17 | ||||
| -rw-r--r-- | src/xdisp.c | 20 |
2 files changed, 25 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index f00caa30733..075e41f9bd1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-10-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xdisp.c (redisplay_window): Re-run pre-redisplay-function after we | ||
| 4 | move point. | ||
| 5 | |||
| 1 | 2014-10-20 Glenn Morris <rgm@gnu.org> | 6 | 2014-10-20 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * Merge in all changes up to 24.4 release. | 8 | * Merge in all changes up to 24.4 release. |
| @@ -43,11 +48,11 @@ | |||
| 43 | * gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines | 48 | * gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines |
| 44 | to handle Gtk versions. | 49 | to handle Gtk versions. |
| 45 | (xg_get_file_with_chooser): Use them. | 50 | (xg_get_file_with_chooser): Use them. |
| 46 | (xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove | 51 | (xg_have_tear_offs, tearoff_remove, tearoff_activate): |
| 47 | (create_menus): Remove teroff argument and code. | 52 | Remove (create_menus): Remove teroff argument and code. |
| 48 | Remove call to gtk_menu_set_title. | 53 | Remove call to gtk_menu_set_title. |
| 49 | (xg_update_menubar, xg_update_submenu): Remove tearoff code. Adjust | 54 | (xg_update_menubar, xg_update_submenu): Remove tearoff code. |
| 50 | args to create_menus. | 55 | Adjust args to create_menus. |
| 51 | (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback) | 56 | (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback) |
| 52 | (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove. | 57 | (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove. |
| 53 | (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code. | 58 | (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code. |
| @@ -58,8 +63,8 @@ | |||
| 58 | find_icon_from_name. Let stock be a list of icon names to try. | 63 | find_icon_from_name. Let stock be a list of icon names to try. |
| 59 | Only use gtk_image_new_from_stock on Gtk+ < 3.10. | 64 | Only use gtk_image_new_from_stock on Gtk+ < 3.10. |
| 60 | Replace TOOLBAR_TOP_WIDGET. | 65 | Replace TOOLBAR_TOP_WIDGET. |
| 61 | (free_frame_tool_bar, xg_change_toolbar_position ): Replace | 66 | (free_frame_tool_bar, xg_change_toolbar_position ): |
| 62 | TOOLBAR_TOP_WIDGET. | 67 | Replace TOOLBAR_TOP_WIDGET. |
| 63 | (xg_initialize): Remove tearoff code. | 68 | (xg_initialize): Remove tearoff code. |
| 64 | 69 | ||
| 65 | 2014-10-18 Eli Zaretskii <eliz@gnu.org> | 70 | 2014-10-18 Eli Zaretskii <eliz@gnu.org> |
diff --git a/src/xdisp.c b/src/xdisp.c index ad28dacf4e5..dca6631a6ff 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -16345,16 +16345,24 @@ redisplay_window (Lisp_Object window, bool just_this_one_p) | |||
| 16345 | 16345 | ||
| 16346 | set_cursor_from_row (w, row, w->desired_matrix, 0, 0, 0, 0); | 16346 | set_cursor_from_row (w, row, w->desired_matrix, 0, 0, 0, 0); |
| 16347 | 16347 | ||
| 16348 | /* If we are highlighting the region, then we just changed | 16348 | /* Re-run pre-redisplay-function so it can update the region |
| 16349 | the region, so redisplay to show it. */ | 16349 | according to the new position of point. */ |
| 16350 | /* FIXME: We need to (re)run pre-redisplay-function! */ | 16350 | /* Other than the cursor, w's redisplay is done so we can set its |
| 16351 | /* if (markpos_of_region () >= 0) | 16351 | redisplay to false. Also the buffer's redisplay can be set to |
| 16352 | { | 16352 | false, since propagate_buffer_redisplay should have already |
| 16353 | propagated its info to `w' anyway. */ | ||
| 16354 | w->redisplay = false; | ||
| 16355 | XBUFFER (w->contents)->text->redisplay = false; | ||
| 16356 | safe__call1 (true, Vpre_redisplay_function, Fcons (window, Qnil)); | ||
| 16357 | |||
| 16358 | if (w->redisplay || XBUFFER (w->contents)->text->redisplay) | ||
| 16359 | { | ||
| 16360 | /* pre-redisplay-function made changes (e.g. move the region) | ||
| 16361 | that require another round of redisplay. */ | ||
| 16353 | clear_glyph_matrix (w->desired_matrix); | 16362 | clear_glyph_matrix (w->desired_matrix); |
| 16354 | if (!try_window (window, startp, 0)) | 16363 | if (!try_window (window, startp, 0)) |
| 16355 | goto need_larger_matrices; | 16364 | goto need_larger_matrices; |
| 16356 | } | 16365 | } |
| 16357 | */ | ||
| 16358 | } | 16366 | } |
| 16359 | if (w->cursor.vpos < 0 || !cursor_row_fully_visible_p (w, 0, 0)) | 16367 | if (w->cursor.vpos < 0 || !cursor_row_fully_visible_p (w, 0, 0)) |
| 16360 | { | 16368 | { |