anchor.diff:     :state              (error "Missing required initarg :state")))
   
   (defmethod initialize-instance :after ((instance history-pane) &key)
  +  ;; Observe the inspector state, extending or at least redisplaying
  +  ;; the history when the root object changes.
     (let ((history (history instance)))
       (push (lambda (old-root-place new-root-place)
               (unless (or (eq old-root-place new-root-place)
  
positive.code: (defmethod pop-element ((history history))
    (pop (elements history))
    (first (elements history)))
  
  ;;; Presentations
  
  
negative.code: 
  (define-command-table navigation-command-table)
  
  (defun history-pane ()
    (map-over-sheets (lambda (sheet)
                       (when (typep sheet 'history-pane)
                         (return-from history-pane sheet)))
                     (frame-panes *application-frame*)))
  
  (macrolet ((with-history ((state-var &optional history-var) &body body)
               (with-unique-names (pane)
                 `(let* ((,pane (history-pane))
                         ,@(when state-var
                             `((,state-var (state ,pane))))
                         ,@(when history-var
                             `((,history-var (history ,pane)))))
                    ,@body))))
  
    (define-command (com-select :command-table navigation-command-table
                                :name          "Inspect object")
        ((object inspected-object :gesture :describe))
      (with-history (state)
        (setf (root-object state :run-hook-p t) (object object)))) ; TODO getting the object can fail
  
    (define-command (com-visit :command-table navigation-command-table
                               :name          t)
        ((object element :gesture :select))
      (with-history (state)
        (setf (root-place state :run-hook-p t) object)))
  
    (define-command (com-back :command-table navigation-command-table
                              :name          t
                              :keystroke     (#\l :meta))
        ()
      (with-history (state history)
        (setf (root-place state :run-hook-p t) (pop-element history))))
  
    (define-command (com-clear :command-table navigation-command-table
                               :name          t)
        ()
      (with-history (nil history)
        (clear history))))
  