diff options
| author | Gerd Möllmann <gerd@gnu.org> | 2024-12-20 06:11:18 +0100 |
|---|---|---|
| committer | Gerd Möllmann <gerd@gnu.org> | 2024-12-20 06:13:13 +0100 |
| commit | 42ab0f162cb37eeddae53675fba310b8a22ff934 (patch) | |
| tree | 805a0b2509eacc52f059b132d2d86186e417b2c4 /src | |
| parent | 3cb86eb0385b8d5edba3dea495bc086c009614b7 (diff) | |
Fix tty root frame collection in redisplay_internal
* src/fns.c (memq_no_quit): New function.
* src/lisp.h: Declare it.
* src/xdisp.c (redisplay_internal): Use memq_no_quit instead of
assq_no_quit.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 9 | ||||
| -rw-r--r-- | src/lisp.h | 1 | ||||
| -rw-r--r-- | src/xdisp.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/fns.c b/src/fns.c index ef6922c137b..0ad27dbc256 100644 --- a/src/fns.c +++ b/src/fns.c @@ -1924,6 +1924,15 @@ The value is actually the tail of LIST whose car is ELT. */) return Qnil; } +Lisp_Object +memq_no_quit (Lisp_Object elt, Lisp_Object list) +{ + for (; CONSP (list); list = XCDR (list)) + if (EQ (XCAR (list), elt)) + return list; + return Qnil; +} + DEFUN ("memql", Fmemql, Smemql, 2, 2, 0, doc: /* Return non-nil if ELT is an element of LIST. Comparison done with `eql'. The value is actually the tail of LIST whose car is ELT. */) diff --git a/src/lisp.h b/src/lisp.h index 832a1755c04..bf6b023fc2a 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4340,6 +4340,7 @@ extern Lisp_Object plist_put (Lisp_Object plist, Lisp_Object prop, extern Lisp_Object plist_member (Lisp_Object plist, Lisp_Object prop); extern void syms_of_fns (void); extern void mark_fns (void); +Lisp_Object memq_no_quit (Lisp_Object elt, Lisp_Object list); /* Defined in sort.c */ extern void tim_sort (Lisp_Object, Lisp_Object, Lisp_Object *, const ptrdiff_t, diff --git a/src/xdisp.c b/src/xdisp.c index 91db3a87aae..ceb727d1135 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -17455,7 +17455,7 @@ redisplay_internal (void) /* Remember tty root frames which we've seen. */ if (!FRAME_PARENT_FRAME (f) - && NILP (assq_no_quit (frame, tty_root_frames))) + && NILP (memq_no_quit (frame, tty_root_frames))) tty_root_frames = Fcons (frame, tty_root_frames); } |
