diff options
| author | Gregory Heytings | 2022-11-28 01:20:46 +0000 |
|---|---|---|
| committer | Gregory Heytings | 2022-11-28 02:22:02 +0100 |
| commit | 56ab6203fa96a3bf203aa6bdcb11753ff0adf962 (patch) | |
| tree | c37f85d01563b18a9592ee383eb6a7447bfb072c | |
| parent | 99463478e5aabe35593cf9127f37ae77d613b775 (diff) | |
| download | emacs-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.c | 9 | ||||
| -rw-r--r-- | src/xdisp.c | 5 |
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' |