diff options
| author | Michael Albinus | 2020-10-23 16:26:47 +0200 |
|---|---|---|
| committer | Michael Albinus | 2020-10-23 16:26:47 +0200 |
| commit | c847d5998f588dbf3eca5ea1ec573a2d64a97607 (patch) | |
| tree | 385256d979f91ea233f084f8ebe21cb963ac84ff /src | |
| parent | 8101083c7ab885281cbe1ede717957c8080f7111 (diff) | |
| parent | 8b87ea6844036c168c9ec67dd318ee3ba8dab5ae (diff) | |
| download | emacs-c847d5998f588dbf3eca5ea1ec573a2d64a97607.tar.gz emacs-c847d5998f588dbf3eca5ea1ec573a2d64a97607.zip | |
Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs into emacs-27
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 5f136f03ecf..fca71985b92 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -5246,7 +5246,6 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y, | |||
| 5246 | extra_info))); | 5246 | extra_info))); |
| 5247 | } | 5247 | } |
| 5248 | 5248 | ||
| 5249 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 5250 | else if (f) | 5249 | else if (f) |
| 5251 | { | 5250 | { |
| 5252 | /* Return mouse pixel coordinates here. */ | 5251 | /* Return mouse pixel coordinates here. */ |
| @@ -5254,7 +5253,9 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y, | |||
| 5254 | xret = XFIXNUM (x); | 5253 | xret = XFIXNUM (x); |
| 5255 | yret = XFIXNUM (y); | 5254 | yret = XFIXNUM (y); |
| 5256 | 5255 | ||
| 5257 | if (FRAME_LIVE_P (f) | 5256 | #ifdef HAVE_WINDOW_SYSTEM |
| 5257 | if (FRAME_WINDOW_P (f) | ||
| 5258 | && FRAME_LIVE_P (f) | ||
| 5258 | && FRAME_INTERNAL_BORDER_WIDTH (f) > 0 | 5259 | && FRAME_INTERNAL_BORDER_WIDTH (f) > 0 |
| 5259 | && !NILP (get_frame_param (f, Qdrag_internal_border))) | 5260 | && !NILP (get_frame_param (f, Qdrag_internal_border))) |
| 5260 | { | 5261 | { |
| @@ -5263,8 +5264,8 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y, | |||
| 5263 | 5264 | ||
| 5264 | posn = builtin_lisp_symbol (internal_border_parts[part]); | 5265 | posn = builtin_lisp_symbol (internal_border_parts[part]); |
| 5265 | } | 5266 | } |
| 5266 | } | ||
| 5267 | #endif | 5267 | #endif |
| 5268 | } | ||
| 5268 | 5269 | ||
| 5269 | else | 5270 | else |
| 5270 | window_or_frame = Qnil; | 5271 | window_or_frame = Qnil; |
diff --git a/src/xdisp.c b/src/xdisp.c index 6c401d0abb9..03dc4bec712 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -22793,6 +22793,10 @@ maybe_produce_line_number (struct it *it) | |||
| 22793 | int lnum_face_id = merge_faces (it->w, Qline_number, 0, DEFAULT_FACE_ID); | 22793 | int lnum_face_id = merge_faces (it->w, Qline_number, 0, DEFAULT_FACE_ID); |
| 22794 | int current_lnum_face_id | 22794 | int current_lnum_face_id |
| 22795 | = merge_faces (it->w, Qline_number_current_line, 0, DEFAULT_FACE_ID); | 22795 | = merge_faces (it->w, Qline_number_current_line, 0, DEFAULT_FACE_ID); |
| 22796 | /* From here onwards, we must prevent freeing realized faces, because | ||
| 22797 | we are using the above 2 face IDs for the glyphs we produce. */ | ||
| 22798 | bool save_free_realized_faces = inhibit_free_realized_faces; | ||
| 22799 | inhibit_free_realized_faces = true; | ||
| 22796 | /* Compute point's line number if needed. */ | 22800 | /* Compute point's line number if needed. */ |
| 22797 | if ((EQ (Vdisplay_line_numbers, Qrelative) | 22801 | if ((EQ (Vdisplay_line_numbers, Qrelative) |
| 22798 | || EQ (Vdisplay_line_numbers, Qvisual) | 22802 | || EQ (Vdisplay_line_numbers, Qvisual) |
| @@ -22922,10 +22926,13 @@ maybe_produce_line_number (struct it *it) | |||
| 22922 | it->lnum_width = 0; | 22926 | it->lnum_width = 0; |
| 22923 | it->lnum_pixel_width = 0; | 22927 | it->lnum_pixel_width = 0; |
| 22924 | bidi_unshelve_cache (itdata, false); | 22928 | bidi_unshelve_cache (itdata, false); |
| 22929 | inhibit_free_realized_faces = save_free_realized_faces; | ||
| 22925 | return; | 22930 | return; |
| 22926 | } | 22931 | } |
| 22927 | } | 22932 | } |
| 22928 | 22933 | ||
| 22934 | inhibit_free_realized_faces = save_free_realized_faces; | ||
| 22935 | |||
| 22929 | /* Record the width in pixels we need for the line number display. */ | 22936 | /* Record the width in pixels we need for the line number display. */ |
| 22930 | it->lnum_pixel_width = tem_it.current_x; | 22937 | it->lnum_pixel_width = tem_it.current_x; |
| 22931 | /* Copy the produced glyphs into IT's glyph_row. */ | 22938 | /* Copy the produced glyphs into IT's glyph_row. */ |