emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: non-local exits in redisplay


From: Stefan Monnier
Subject: Re: non-local exits in redisplay
Date: Sun, 11 Oct 2020 18:31:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> through xsignal, it can often cause an infinite redisplay loop. This seems
> to be due to xsignal causing a nonlocal exit and the next redisplay will be
> begin, but unless there's something different, the same code that caused the
> initial xsignal will execute again and hence the infinte loop. Since I do
> see code that calls lisp functions inside redisplay I was wondering how one
> should guard against such non-local exits inside redisplay.

In `src/xdisp.c` there's things like `safe_call` (as well as
`safe_call1` and `safe_call2`) for that.

IIRC it uses the underlying condition-case machinery.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]