Rename recently added after-delete-frame-select-mru-frame

Rename 'after-delete-frame-select-mru-frame' to
'delete-frame-choose-selected' for symmetry with
'delete-window-choose-selected' with the same
default value 'mru' (bug#80397).

* lisp/cus-start.el: Add a choice like in
'delete-window-choose-selected'.

* src/frame.c (delete_frame): Compare delete_frame_choose_selected
with Qmru.
(syms_of_frame): Define symbol Qmru.
Use DEFVAR_LISP for 'delete-frame-choose-selected'
and set the default value to Qmru.
This commit is contained in:
Juri Linkov 2026-06-22 18:57:52 +03:00
parent e47bd3070a
commit e182c704c7
3 changed files with 13 additions and 7 deletions

View file

@ -523,7 +523,7 @@ single frame can be excluded, for example, the selected frame.
*** After deleting, 'delete-frame' now selects the most recently used frame.
Previously, after deleting a specified frame, 'delete-frame' would
select the oldest visible frame on the same terminal. To revert to the
old behavior, set the new user option 'after-delete-frame-select-mru-frame'
old behavior, set the new user option 'delete-frame-choose-selected'
to nil.
+++

View file

@ -378,7 +378,11 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
"26.1")
(tooltip-reuse-hidden-frame tooltip boolean "26.1")
(use-system-tooltips tooltip boolean "29.1")
(after-delete-frame-select-mru-frame frames boolean "31.1")
(delete-frame-choose-selected
frames
(choice (const :tag "Most recently used" mru)
(const :tag "Oldest visible " nil))
"31.1")
;; fringe.c
(overflow-newline-into-fringe fringe boolean)
;; image.c

View file

@ -2745,7 +2745,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
{
frame1 = Qnil;
if (after_delete_frame_select_mru_frame
if (EQ (delete_frame_choose_selected, Qmru)
&& !EQ (force, Qnoelisp))
{
/* Find the most recently used visible frame among all
@ -7220,6 +7220,7 @@ syms_of_frame (void)
DEFSYM (Qframe_monitor_attributes, "frame-monitor-attributes");
DEFSYM (Qwindow__pixel_to_total, "window--pixel-to-total");
DEFSYM (Qmake_initial_minibuffer_frame, "make-initial-minibuffer-frame");
DEFSYM (Qmru, "mru");
DEFSYM (Qget_mru_frame, "get-mru-frame");
DEFSYM (Qexplicit_name, "explicit-name");
DEFSYM (Qheight, "height");
@ -7793,12 +7794,13 @@ The default is \\+`inhibit' in NS builds and nil everywhere else. */);
alter_fullscreen_frames = Qnil;
#endif
DEFVAR_BOOL ("after-delete-frame-select-mru-frame",
after_delete_frame_select_mru_frame,
doc: /* Non-nil means `delete-frame' selects most recently used frame.
DEFVAR_LISP ("delete-frame-choose-selected",
delete_frame_choose_selected,
doc: /* What frame to select after frame deletion.
The value `mru' means `delete-frame' selects most recently used frame.
If this is nil, `delete-frame' will select the oldest visible frame on
the same terminal. */);
after_delete_frame_select_mru_frame = true;
delete_frame_choose_selected = Qmru;
defsubr (&Sframe_id);
defsubr (&Sframep);