# HG changeset patch # User Roland McGrath # Date 747363228 0 # Node ID e39967101d8bc7273a37bab1ec5d399a3b39777f # Parent e212db4385f9f9ca7eacfb5545b17a83dcdb4940 (set-frame-configuration): Take new optional arg NODELETE; if non-nil, don't delete any frames. diff -r e212db4385f9 -r e39967101d8b lisp/frame.el --- a/lisp/frame.el Tue Sep 07 00:45:56 1993 +0000 +++ b/lisp/frame.el Tue Sep 07 00:53:48 1993 +0000 @@ -391,10 +391,12 @@ (current-window-configuration frame)))) (frame-list)))) -(defun set-frame-configuration (configuration) +(defun set-frame-configuration (configuration &optional nodelete) "Restore the frames to the state described by CONFIGURATION. Each frame listed in CONFIGURATION has its position, size, window -configuration, and other parameters set as specified in CONFIGURATION." +configuration, and other parameters set as specified in CONFIGURATION. +Unless optional second argument NODELETE is given and non-nil, deletes +all existing frames not listed in CONFIGURATION." (or (frame-configuration-p configuration) (signal 'wrong-type-argument (list 'frame-configuration-p configuration))) @@ -416,7 +418,8 @@ (set-window-configuration (nth 2 parameters))) (setq frames-to-delete (cons frame frames-to-delete)))))) (frame-list)) - (mapcar 'delete-frame frames-to-delete))) + (or nodelete + (mapcar 'delete-frame frames-to-delete)))) (defun frame-configuration-p (object) "Return non-nil if OBJECT seems to be a frame configuration.