diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-10-07 19:15:07 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-10-07 19:15:07 -0400 |
commit | 208de5de59ae85887d637ec93690e17c418a7ab6 (patch) | |
tree | e9eec61511ad71ea6661045d6a96c3882d5f7f01 /src/itree.c | |
parent | 780d3d8df2e9222a4643f0d0e9caf7628085d7bf (diff) | |
download | emacs-208de5de59ae85887d637ec93690e17c418a7ab6.tar.gz |
itree: Try and detect non-local exits during itree iterations
* src/itree.c (itree_busy_p): New function.
* src/eval.c (signal_or_quit): Use it.
* src/itree.h (itree_busy_p): Declare it.
Diffstat (limited to 'src/itree.c')
-rw-r--r-- | src/itree.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/itree.c b/src/itree.c index d955c575390..de16af5b0c2 100644 --- a/src/itree.c +++ b/src/itree.c @@ -725,6 +725,12 @@ interval_tree_validate (struct interval_tree *tree, struct interval_node *node) return node; } +bool +itree_busy_p (void) +{ + return (iter && iter->running); +} + /* Start a generator iterating all intervals in [BEGIN,END) in the given ORDER. Only one iterator per tree can be running at any time. |