aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory Heytings2022-11-28 01:20:46 +0000
committerGregory Heytings2022-11-28 02:22:02 +0100
commit56ab6203fa96a3bf203aa6bdcb11753ff0adf962 (patch)
treec37f85d01563b18a9592ee383eb6a7447bfb072c
parent99463478e5aabe35593cf9127f37ae77d613b775 (diff)
downloademacs-56ab6203fa96a3bf203aa6bdcb11753ff0adf962.tar.gz
emacs-56ab6203fa96a3bf203aa6bdcb11753ff0adf962.zip
Do not enter locked narrowing when it would span the whole buffer
* src/xdisp.c (handle_fontified_prop): * src/keyboard.c (safe_run_hooks_maybe_narrowed): Add condition.
-rw-r--r--src/keyboard.c9
-rw-r--r--src/xdisp.c5
2 files changed, 9 insertions, 5 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index ac40ba059ea..d68b50428a9 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1912,9 +1912,12 @@ safe_run_hooks_maybe_narrowed (Lisp_Object hook, struct window *w)
1912 1912
1913 if (current_buffer->long_line_optimizations_p 1913 if (current_buffer->long_line_optimizations_p
1914 && long_line_locked_narrowing_region_size > 0) 1914 && long_line_locked_narrowing_region_size > 0)
1915 narrow_to_region_locked (make_fixnum (get_locked_narrowing_begv (PT)), 1915 {
1916 make_fixnum (get_locked_narrowing_zv (PT)), 1916 ptrdiff_t begv = get_locked_narrowing_begv (PT);
1917 hook); 1917 ptrdiff_t zv = get_locked_narrowing_zv (PT);
1918 if (begv != BEG || zv != Z)
1919 narrow_to_region_locked (make_fixnum (begv), make_fixnum (zv), hook);
1920 }
1918 1921
1919 run_hook_with_args (2, ((Lisp_Object []) {hook, hook}), 1922 run_hook_with_args (2, ((Lisp_Object []) {hook, hook}),
1920 safe_run_hook_funcall); 1923 safe_run_hook_funcall);
diff --git a/src/xdisp.c b/src/xdisp.c
index d423a77bde0..b09aa6ec967 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4404,8 +4404,9 @@ handle_fontified_prop (struct it *it)
4404 begv = get_locked_narrowing_begv (charpos); 4404 begv = get_locked_narrowing_begv (charpos);
4405 zv = get_locked_narrowing_zv (charpos); 4405 zv = get_locked_narrowing_zv (charpos);
4406 } 4406 }
4407 narrow_to_region_locked (make_fixnum (begv), make_fixnum (zv), 4407 if (begv != BEG || zv != Z)
4408 Qfontification_functions); 4408 narrow_to_region_locked (make_fixnum (begv), make_fixnum (zv),
4409 Qfontification_functions);
4409 } 4410 }
4410 4411
4411 /* Don't allow Lisp that runs from 'fontification-functions' 4412 /* Don't allow Lisp that runs from 'fontification-functions'