diff options
author | Glenn Morris <rgm@gnu.org> | 2017-12-27 10:00:16 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2017-12-27 10:00:16 -0800 |
commit | 08e1438a3bf781ce85c7af75f1fa73cb826ba3dd (patch) | |
tree | 1d352669619c6b14c25bea2e698b3a3df52ee265 /src | |
parent | da94ea92bc3ba6c236b394c00e6bbb725131a149 (diff) | |
parent | fd358049719d203d33e6d23d2179aab06c71b49a (diff) | |
download | emacs-08e1438a3bf781ce85c7af75f1fa73cb826ba3dd.tar.gz |
Merge from origin/emacs-26
fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers...
89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar.
a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes.
2ebc8dc3b6 Fix curved quotes in printed manual
e4a881b5cf Say that "gnus-cloud" is a parody name
13c59d0a83 More improvements for text.texi
7850b7620e Adjudicate review comments for the "Text" chapter of user ...
d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f...
f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin...
99054fbef9 * net/eww.el (eww): Handle URLs without host part.
de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc...
720ed0b533 Avoid crashes when ':eval' deletes our frame
9105c9aa34 Fix scrolling up in pixel-scroll.el
b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
cf36c82127 Avoid some overfull lines in PDF lispref
b07b56a351 Avoid some overfull lines in PDF manual
6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...
7ffb7b1e01 ; lispref nil/t markup fixes
# Conflicts:
# doc/emacs/text.texi
Diffstat (limited to 'src')
-rw-r--r-- | src/xdisp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 7d13338e25a..d723c2a0c17 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -23685,6 +23685,14 @@ display_mode_element (struct it *it, int depth, int field_width, int precision, { Lisp_Object spec; spec = safe__eval (true, XCAR (XCDR (elt))); + /* The :eval form could delete the frame stored in the + iterator, which will cause a crash if we try to + access faces and other fields (e.g., FRAME_KBOARD) + on that frame. This is a nonsensical thing to do, + and signaling an error from redisplay might be + dangerous, but we cannot continue with an invalid frame. */ + if (!FRAME_LIVE_P (it->f)) + signal_error (":eval deleted the frame being displayed", elt); n += display_mode_element (it, depth, field_width - n, precision - n, spec, props, risky); |