aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/editfns.c9
-rw-r--r--src/w32fns.c14
2 files changed, 14 insertions, 9 deletions
diff --git a/src/editfns.c b/src/editfns.c
index e16a554de20..4dbf4805721 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3139,6 +3139,9 @@ static unsigned short rbc_quitcounter;
3139 /* Buffers to compare. */ \ 3139 /* Buffers to compare. */ \
3140 struct buffer *buffer_a; \ 3140 struct buffer *buffer_a; \
3141 struct buffer *buffer_b; \ 3141 struct buffer *buffer_b; \
3142 /* BEGV of each buffer */ \
3143 ptrdiff_t beg_a; \
3144 ptrdiff_t beg_b; \
3142 /* Whether each buffer is unibyte/plain-ASCII or not. */ \ 3145 /* Whether each buffer is unibyte/plain-ASCII or not. */ \
3143 bool a_unibyte; \ 3146 bool a_unibyte; \
3144 bool b_unibyte; \ 3147 bool b_unibyte; \
@@ -3222,6 +3225,8 @@ differences between the two buffers. */)
3222 struct context ctx = { 3225 struct context ctx = {
3223 .buffer_a = a, 3226 .buffer_a = a,
3224 .buffer_b = b, 3227 .buffer_b = b,
3228 .beg_a = min_a,
3229 .beg_b = min_b,
3225 .a_unibyte = BUF_ZV (a) == BUF_ZV_BYTE (a), 3230 .a_unibyte = BUF_ZV (a) == BUF_ZV_BYTE (a),
3226 .b_unibyte = BUF_ZV (b) == BUF_ZV_BYTE (b), 3231 .b_unibyte = BUF_ZV (b) == BUF_ZV_BYTE (b),
3227 .deletions = SAFE_ALLOCA (del_bytes), 3232 .deletions = SAFE_ALLOCA (del_bytes),
@@ -3361,8 +3366,8 @@ static bool
3361buffer_chars_equal (struct context *ctx, 3366buffer_chars_equal (struct context *ctx,
3362 ptrdiff_t pos_a, ptrdiff_t pos_b) 3367 ptrdiff_t pos_a, ptrdiff_t pos_b)
3363{ 3368{
3364 pos_a += BUF_BEGV (ctx->buffer_a); 3369 pos_a += ctx->beg_a;
3365 pos_b += BUF_BEGV (ctx->buffer_b); 3370 pos_b += ctx->beg_b;
3366 3371
3367 /* Allow the user to escape out of a slow compareseq call. */ 3372 /* Allow the user to escape out of a slow compareseq call. */
3368 rarely_quit (++rbc_quitcounter); 3373 rarely_quit (++rbc_quitcounter);
diff --git a/src/w32fns.c b/src/w32fns.c
index 7f7e1a404ce..760801cd1db 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -4550,13 +4550,13 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
4550 set_ime_composition_window_fn (context, &form); 4550 set_ime_composition_window_fn (context, &form);
4551 release_ime_context_fn (hwnd, context); 4551 release_ime_context_fn (hwnd, context);
4552 } 4552 }
4553 /* We should "goto dflt" here to pass WM_IME_STARTCOMPOSITION to 4553 /* FIXME: somehow "goto dflt" here instead of "break" causes
4554 DefWindowProc, so that the composition window will actually 4554 popup dialogs, such as the ones shown by File->Open File and
4555 be displayed. But doing so causes trouble with displaying 4555 w32-select-font, to become hidden behind their parent frame,
4556 dialog boxes, such as the file selection dialog or font 4556 when focus-follows-mouse is in effect. See bug#11732. But
4557 selection dialog. So something else is needed to fix the 4557 if we don't "goto dflt", users of IME cannot type text
4558 former without breaking the latter. See bug#11732. */ 4558 supported by the input method... */
4559 break; 4559 goto dflt;
4560 4560
4561 case WM_IME_ENDCOMPOSITION: 4561 case WM_IME_ENDCOMPOSITION:
4562 ignore_ime_char = 0; 4562 ignore_ime_char = 0;