changeset 4670:e39967101d8b

(set-frame-configuration): Take new optional arg NODELETE; if non-nil, don't delete any frames.
author Roland McGrath <roland@gnu.org>
date Tue, 07 Sep 1993 00:53:48 +0000
parents e212db4385f9
children 3c5e001c9d60
files lisp/frame.el
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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.