diff options
| author | Noam Postavsky | 2018-06-10 18:43:49 -0400 |
|---|---|---|
| committer | Noam Postavsky | 2018-06-10 18:43:49 -0400 |
| commit | 7adf1a361db3a2e9b7a27d76946482276c24fb64 (patch) | |
| tree | 32a993c24df839661f467ea54bd1000e68e2282b /src | |
| parent | 78ac2480d7bd206f3207398a31830bf0625caf0a (diff) | |
| parent | 3434edc731e4602891a9cf6418ec4e5ff2f60830 (diff) | |
| download | emacs-7adf1a361db3a2e9b7a27d76946482276c24fb64.tar.gz emacs-7adf1a361db3a2e9b7a27d76946482276c24fb64.zip | |
Merge from emacs-26
3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode
b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1. (B...
5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes'
9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob...
0214ffbe60 Clarify doc string of 'update-glyphless-char-display'
ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code
c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
26b52ac40e Fix unexpected jumps of window-point in 'set-window-config...
4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot.
e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line'
d20beef5f1 Fix prompt in bookmark.el (Bug#24726)
c57e7eaae8 Improve documentation of 'empty' whitespace-style
# Conflicts:
# etc/NEWS
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 10 | ||||
| -rw-r--r-- | src/w32heap.c | 2 | ||||
| -rw-r--r-- | src/window.c | 31 |
3 files changed, 26 insertions, 17 deletions
diff --git a/src/indent.c b/src/indent.c index 316171e609b..bcffa0d11e5 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -2278,7 +2278,9 @@ whether or not it is currently displayed in some window. */) | |||
| 2278 | overshoot_handled = 1; | 2278 | overshoot_handled = 1; |
| 2279 | } | 2279 | } |
| 2280 | if (lcols_given) | 2280 | if (lcols_given) |
| 2281 | to_x = window_column_x (w, window, extract_float (lcols), lcols); | 2281 | to_x = |
| 2282 | window_column_x (w, window, extract_float (lcols), lcols) | ||
| 2283 | + lnum_pixel_width; | ||
| 2282 | if (nlines <= 0) | 2284 | if (nlines <= 0) |
| 2283 | { | 2285 | { |
| 2284 | it.vpos = vpos_init; | 2286 | it.vpos = vpos_init; |
| @@ -2330,12 +2332,6 @@ whether or not it is currently displayed in some window. */) | |||
| 2330 | an addition to the hscroll amount. */ | 2332 | an addition to the hscroll amount. */ |
| 2331 | if (lcols_given) | 2333 | if (lcols_given) |
| 2332 | { | 2334 | { |
| 2333 | /* If we are displaying line numbers, we could cross the | ||
| 2334 | line where the width of the line-number display changes, | ||
| 2335 | in which case we need to fix up the pixel coordinate | ||
| 2336 | accordingly. */ | ||
| 2337 | if (lnum_pixel_width > 0) | ||
| 2338 | to_x += it.lnum_pixel_width - lnum_pixel_width; | ||
| 2339 | move_it_in_display_line (&it, ZV, first_x + to_x, MOVE_TO_X); | 2335 | move_it_in_display_line (&it, ZV, first_x + to_x, MOVE_TO_X); |
| 2340 | /* If we find ourselves in the middle of an overlay string | 2336 | /* If we find ourselves in the middle of an overlay string |
| 2341 | which includes a newline after current string position, | 2337 | which includes a newline after current string position, |
diff --git a/src/w32heap.c b/src/w32heap.c index a3f87bfc7e6..df79f8c2cef 100644 --- a/src/w32heap.c +++ b/src/w32heap.c | |||
| @@ -116,7 +116,7 @@ typedef struct _RTL_HEAP_PARAMETERS { | |||
| 116 | to build only the first bootstrap-emacs.exe with the large size, | 116 | to build only the first bootstrap-emacs.exe with the large size, |
| 117 | and reset that to a lower value afterwards. */ | 117 | and reset that to a lower value afterwards. */ |
| 118 | #if defined _WIN64 || defined WIDE_EMACS_INT | 118 | #if defined _WIN64 || defined WIDE_EMACS_INT |
| 119 | # define DUMPED_HEAP_SIZE (22*1024*1024) | 119 | # define DUMPED_HEAP_SIZE (23*1024*1024) |
| 120 | #else | 120 | #else |
| 121 | # define DUMPED_HEAP_SIZE (13*1024*1024) | 121 | # define DUMPED_HEAP_SIZE (13*1024*1024) |
| 122 | #endif | 122 | #endif |
diff --git a/src/window.c b/src/window.c index 2c6ff01ea43..81fd7f2b477 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -6609,10 +6609,10 @@ the return value is nil. Otherwise the value is t. */) | |||
| 6609 | make_number (old_point), | 6609 | make_number (old_point), |
| 6610 | XWINDOW (data->current_window)->contents); | 6610 | XWINDOW (data->current_window)->contents); |
| 6611 | 6611 | ||
| 6612 | /* In the following call to `select-window', prevent "swapping out | 6612 | /* In the following call to select_window, prevent "swapping out |
| 6613 | point" in the old selected window using the buffer that has | 6613 | point" in the old selected window using the buffer that has |
| 6614 | been restored into it. We already swapped out that point from | 6614 | been restored into it. We already swapped out that point |
| 6615 | that window's old buffer. | 6615 | from that window's old buffer. |
| 6616 | 6616 | ||
| 6617 | Do not record the buffer here. We do that in a separate call | 6617 | Do not record the buffer here. We do that in a separate call |
| 6618 | to select_window below. See also Bug#16207. */ | 6618 | to select_window below. See also Bug#16207. */ |
| @@ -6655,10 +6655,10 @@ the return value is nil. Otherwise the value is t. */) | |||
| 6655 | if (WINDOW_LIVE_P (data->current_window)) | 6655 | if (WINDOW_LIVE_P (data->current_window)) |
| 6656 | select_window (data->current_window, Qnil, false); | 6656 | select_window (data->current_window, Qnil, false); |
| 6657 | 6657 | ||
| 6658 | /* Fselect_window will have made f the selected frame, so we | 6658 | /* select_window will have made f the selected frame, so we |
| 6659 | reselect the proper frame here. Fhandle_switch_frame will change the | 6659 | reselect the proper frame here. do_switch_frame will change |
| 6660 | selected window too, but that doesn't make the call to | 6660 | the selected window too, but that doesn't make the call to |
| 6661 | Fselect_window above totally superfluous; it still sets f's | 6661 | select_window above totally superfluous; it still sets f's |
| 6662 | selected window. */ | 6662 | selected window. */ |
| 6663 | if (FRAME_LIVE_P (XFRAME (data->selected_frame))) | 6663 | if (FRAME_LIVE_P (XFRAME (data->selected_frame))) |
| 6664 | do_switch_frame (data->selected_frame, 0, 0, Qnil); | 6664 | do_switch_frame (data->selected_frame, 0, 0, Qnil); |
| @@ -6695,8 +6695,21 @@ the return value is nil. Otherwise the value is t. */) | |||
| 6695 | { | 6695 | { |
| 6696 | Fset_buffer (new_current_buffer); | 6696 | Fset_buffer (new_current_buffer); |
| 6697 | /* If the new current buffer doesn't appear in the selected | 6697 | /* If the new current buffer doesn't appear in the selected |
| 6698 | window, go to its old point (see bug#12208). */ | 6698 | window, go to its old point (Bug#12208). |
| 6699 | if (!EQ (XWINDOW (data->current_window)->contents, new_current_buffer)) | 6699 | |
| 6700 | The original fix used data->current_window below which caused | ||
| 6701 | false positives (compare Bug#31695) when data->current_window | ||
| 6702 | is not on data->selected_frame. This happens, for example, | ||
| 6703 | when read_minibuf restores the configuration of a stand-alone | ||
| 6704 | minibuffer frame: After switching to the previously selected | ||
| 6705 | "normal" frame, point of that frame's selected window jumped | ||
| 6706 | unexpectedly because new_current_buffer is usually *not* | ||
| 6707 | shown in data->current_window - the minibuffer frame's | ||
| 6708 | selected window. Using selected_window instead fixes this | ||
| 6709 | because do_switch_frame has set up selected_window already to | ||
| 6710 | the "normal" frame's selected window and that window *does* | ||
| 6711 | show new_current_buffer. */ | ||
| 6712 | if (!EQ (XWINDOW (selected_window)->contents, new_current_buffer)) | ||
| 6700 | Fgoto_char (make_number (old_point)); | 6713 | Fgoto_char (make_number (old_point)); |
| 6701 | } | 6714 | } |
| 6702 | 6715 | ||