anchor.diff:  (defmacro define-application-frame (name superclasses slots &rest options)
     (when (null superclasses)
       (setq superclasses '(standard-application-frame)))
  -  (let ((pane nil)
  -	(panes nil)
  -	(layouts nil)
  -	(current-layout nil)
  -	(command-table (list name))
  -	(menu-bar t)
  -	(disabled-commands nil)
  -	(command-definer t)
  -	(top-level '(default-frame-top-level))
  -	(others nil)
  -	(pointer-documentation nil)
  -	(geometry nil)
  -	(user-default-initargs nil)
  -	(frame-arg (gensym "FRAME-ARG")))
  +  (let ((pretty-name (string-capitalize name))
  +        (pane nil)
  +        (panes nil)
  +        (layouts nil)
  +        (current-layout nil)
  +        (command-table (list name))
  +        (menu-bar t)
  +        (disabled-commands nil)
  +        (command-definer t)
  +        (top-level '(default-frame-top-level))
  +        (others nil)
  +        (pointer-documentation nil)
  +        (geometry nil)
  +        (user-default-initargs nil)
  +        (frame-arg (gensym "FRAME-ARG")))
       (loop for (prop . values) in options
  -	do (case prop
  -	     (:pane (setq pane values))
  -	     (:panes (setq panes values))
  -	     (:layouts (setq layouts values))
  -	     (:command-table (setq command-table (first values)))
  -	     (:menu-bar (setq menu-bar (if (listp values)
  +        do (case prop
  +             (:pane (setq pane values))
  +             (:panes (setq panes values))
  +             (:layouts (setq layouts values))
  +             (:command-table (setq command-table (first values)))
  +             (:menu-bar (setq menu-bar (if (listp values)
                                              (first values)
                                              values)))
  -	     (:disabled-commands (setq disabled-commands values))
  -	     (:command-definer (setq command-definer (first values)))
  -	     (:top-level (setq top-level (first values)))
  -	     (:pointer-documentation (setq pointer-documentation (car values)))
  -	     (:geometry (setq geometry values))
  -	     (:default-initargs (setq user-default-initargs values))
  -	     (t (push (cons prop values) others))))
  +             (:disabled-commands (setq disabled-commands values))
  +             (:command-definer (setq command-definer (first values)))
  +             (:top-level (setq top-level (first values)))
  +             (:pointer-documentation (setq pointer-documentation (car values)))
  +             (:geometry (setq geometry values))
  +             (:default-initargs
  +              (destructuring-bind
  +                  (&key ((:pretty-name user-pretty-name) nil pretty-name-p)
  +                   &allow-other-keys)
  +                  values
  +                (when pretty-name-p
  +                  (setf pretty-name user-pretty-name)))
  +              (setf user-default-initargs
  +                    (alexandria:remove-from-plist values :pretty-name)))
  +             (t (push (cons prop values) others))))
       (when (eq command-definer t)
         (setf command-definer
  -            (intern (concatenate 'string
  -                                 (symbol-name '#:define-)
  -                                 (symbol-name name)
  -                                 (symbol-name '#:-command)))))
  +            (alexandria:symbolicate '#:define- name '#:-command)))
       (when (or (and pane panes)
                 (and pane layouts))
         (error ":pane cannot be specified along with either :panes or :layouts"))
  
positive.code:                      ,arguments ,@body))))))))
  
  (defun make-application-frame (frame-name
  			       &rest options
  			       &key (pretty-name
  				     (string-capitalize frame-name))
  			            (frame-manager nil frame-manager-p)
  			            enable
  			            (state nil state-supplied-p)
  			            save-under (frame-class frame-name)
  			       &allow-other-keys)
    (declare (ignore save-under))
    (with-keywords-removed (options (:pretty-name :frame-manager :enable :state
  				   :save-under :frame-class))
      (let ((frame (apply #'make-instance frame-class
  			:name frame-name
  			:pretty-name pretty-name
  			options)))
        (when frame-manager-p
  	(adopt-frame frame-manager frame))
        (cond ((or enable (eq state :enabled))
  	     (enable-frame frame))
  	    ((and (eq state :disowned)
  		  (not (eq (frame-state frame) :disowned)))
  	     (disown-frame (frame-manager frame) frame))
  	    (state-supplied-p
  	     (warn ":state ~S not supported yet." state)))
        frame)))
  
  (defgeneric clim-extensions:find-frame-type (frame)
  
negative.code:      if  parent
       do (sheet-disown-child parent pane)))
  
  (defmethod generate-panes :after (fm (frame application-frame))
    (declare (ignore fm))
    (let ((top-level-sheet (frame-top-level-sheet frame)))
      (sheet-adopt-child top-level-sheet (frame-panes frame))
      (unless (sheet-parent top-level-sheet)
        (sheet-adopt-child (graft frame) top-level-sheet))
      ;; Find the size of the new frame
      (multiple-value-bind (w h) (frame-geometry* frame)
        ;; automatically generates a window-configuation-event
        ;; which then calls allocate-space
        ;;
        ;; Not any longer, we turn off CONFIGURE-NOTIFY events until the
        ;; window is mapped and do the space allocation now, so that all
        ;; sheets will have their correct geometry at once. --GB
        (change-space-requirements top-level-sheet :width w :height h
                                                   :resize-frame t)
        (setf (sheet-region top-level-sheet) (make-bounding-rectangle 0 0 w h))
        (allocate-space top-level-sheet w h))))
  
  (defmethod layout-frame ((frame application-frame) &optional width height)
    (let ((pane (frame-panes frame)))
  