anchor.diff:      :for impl :in (list (implementation))  ; for multi-frame support in the future...
       :do (let ((vf (make-virtual-frame impl (get-frame impl))))
             (setf (gethash impl *virtual-frame-map*) vf)
  -          (map-frame (implementation) (virtual-frame-current vf)))))
  +          (switch-current-frame vf (virtual-frame-current vf)))))
   
   (defun enabled-frame-multiplexer-p ()
     (variable-value 'frame-multiplexer :global))
  
positive.code:   (let* ((vf (gethash (implementation) *virtual-frame-map*))
           (frame (search-previous-frame vf (virtual-frame-current vf))))
      (when frame
        (setf (virtual-frame-current vf) frame)
        (map-frame (implementation) frame))
      (lem::change-display-size-hook)
      (setf (virtual-frame-changed vf) t)))
  
  
negative.code:       (editor-error "it's full of frames in virtual frame"))
      (let ((frame (make-frame (current-frame))))
        (setup-frame frame (primordial-buffer))
        (allocate-frame vf frame)
        (switch-current-frame vf frame)
        (setf (virtual-frame-changed vf) t))))
  
  (define-key *global-keymap* "C-z d" 'frame-multiplexer-delete)
  