summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-12-27 10:00:16 -0800
committerGlenn Morris <rgm@gnu.org>2017-12-27 10:00:16 -0800
commit08e1438a3bf781ce85c7af75f1fa73cb826ba3dd (patch)
tree1d352669619c6b14c25bea2e698b3a3df52ee265 /src
parentda94ea92bc3ba6c236b394c00e6bbb725131a149 (diff)
parentfd358049719d203d33e6d23d2179aab06c71b49a (diff)
downloademacs-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.c8
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);