aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStéphane Marks2026-02-22 10:33:34 +0100
committerMartin Rudalics2026-02-22 10:33:34 +0100
commit77aac20ce6ea305e7b48d1bb8980ab9656aebf76 (patch)
tree5a147d5a256767e5884c2d7291731d46a370c7f1 /src
parent2ae21d78ec643488a8ddd9f3a88d8dcff64647ba (diff)
downloademacs-77aac20ce6ea305e7b48d1bb8980ab9656aebf76.tar.gz
emacs-77aac20ce6ea305e7b48d1bb8980ab9656aebf76.zip
New user option 'after-delete-frame-select-mru-frame' (bug#80397)
Users can revert to the old 'delete-frame' behavior of selecting the oldest frame in 'frame-list' rather than the most-recently used frame. * src/frame.c (delete_frame): Consult 'after-delete-frame-select-mru-frame'. (syms_of_frame): New defvar 'after-delete-frame-select-mru-frame'. * etc/NEWS: Reflect the new user option.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/frame.c b/src/frame.c
index 6b5d8942db4..8844e869b18 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -2749,7 +2749,9 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
2749 else 2749 else
2750 { 2750 {
2751 frame1 = Qnil; 2751 frame1 = Qnil;
2752 if (!EQ (force, Qnoelisp)) 2752
2753 if (after_delete_frame_select_mru_frame
2754 && !EQ (force, Qnoelisp))
2753 { 2755 {
2754 /* Find the most recently used visible frame among all 2756 /* Find the most recently used visible frame among all
2755 frames on the same terminal as FRAME, excluding FRAME 2757 frames on the same terminal as FRAME, excluding FRAME
@@ -7778,6 +7780,13 @@ The default is \\+`inhibit' in NS builds and nil everywhere else. */);
7778 alter_fullscreen_frames = Qnil; 7780 alter_fullscreen_frames = Qnil;
7779#endif 7781#endif
7780 7782
7783 DEFVAR_BOOL ("after-delete-frame-select-mru-frame",
7784 after_delete_frame_select_mru_frame,
7785 doc: /* Non-nil means `delete-frame' selects most recently used frame.
7786If this is nil, `delete-frame' will select the oldest visible frame on
7787the same terminal. */);
7788 after_delete_frame_select_mru_frame = true;
7789
7781 defsubr (&Sframe_id); 7790 defsubr (&Sframe_id);
7782 defsubr (&Sframep); 7791 defsubr (&Sframep);
7783 defsubr (&Sframe_live_p); 7792 defsubr (&Sframe_live_p);