1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-16 02:50:26 -08:00

* lisp/frame.el: Don't require 'frameset.el' (bug#51883).

(clone-frame): Use frame-internal-parameters.
(undelete-frame--handle-delete-frame): Instead of using frameset-save,
save frame-parameters except frame-internal-parameters and 'display'
on non-graphic display.  Also save window-state from window-state-get.
(undelete-frame): Instead of using frameset-restore,
set default-frame-alist for make-frame (like in clone-frame),
and restore window-state with window-state-put.

* lisp/frameset.el (frameset-session-filter-alist): Append
parameters from frame-internal-parameters with the filter :never.
Remove :name that is now in frame-internal-parameters.
(frameset-persistent-filter-alist): Remove outer-window-id,
parent-id, window-id that are now in frame-internal-parameters,
included here via frameset-session-filter-alist.

* src/frame.c (frame-internal-parameters): New variable.
This commit is contained in:
Juri Linkov 2022-01-30 18:35:33 +02:00
parent 46611aa468
commit 1b83e58adb
3 changed files with 36 additions and 33 deletions

View file

@ -6524,6 +6524,14 @@ making the child frame unresponsive to user actions, the default is to
iconify the top level frame instead. */);
iconify_child_frame = Qiconify_top_level;
DEFVAR_LISP ("frame-internal-parameters", frame_internal_parameters,
doc: /* Frame parameters specific to every frame. */);
#ifdef HAVE_X_WINDOWS
frame_internal_parameters = list4 (Qname, Qparent_id, Qwindow_id, Qouter_window_id);
#else
frame_internal_parameters = list3 (Qname, Qparent_id, Qwindow_id);
#endif
defsubr (&Sframep);
defsubr (&Sframe_live_p);
defsubr (&Swindow_system);