aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Albinus2020-10-23 16:26:47 +0200
committerMichael Albinus2020-10-23 16:26:47 +0200
commitc847d5998f588dbf3eca5ea1ec573a2d64a97607 (patch)
tree385256d979f91ea233f084f8ebe21cb963ac84ff /src
parent8101083c7ab885281cbe1ede717957c8080f7111 (diff)
parent8b87ea6844036c168c9ec67dd318ee3ba8dab5ae (diff)
downloademacs-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.c7
-rw-r--r--src/xdisp.c7
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. */