From: Roland McGrath Date: Tue, 7 Sep 1993 00:53:48 +0000 (+0000) Subject: (set-frame-configuration): Take new optional arg NODELETE; if non-nil, X-Git-Tag: emacs-19.34~11181 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=68cd265f830104789138f1dec83dc0b6d81592bd;p=emacs.git (set-frame-configuration): Take new optional arg NODELETE; if non-nil, don't delete any frames. --- diff --git a/lisp/frame.el b/lisp/frame.el index ac4304dc09f..f3cbdbb9284 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -391,10 +391,12 @@ where (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 @@ configuration, and other parameters set as specified in CONFIGURATION." (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.