anchor.diff:  	    (,keystroke-var (slot-value ,table 'keystroke-accelerators)))
          ,@body)))
   
  +;; This is probably wrong - we should walk the menu rather than inheritance
  +;; structure to be consistent with lookup-keystroke-item.
  +(defun compute-inherited-keystrokes (command-table)
  +  "Return a list containing the keyboard gestures of accelerators defined in
  + 'command-table' and all tables it inherits from."
  +  (let (accumulated-keystrokes)
  +    (do-command-table-inheritance (comtab command-table)
  +      (with-command-table-keystrokes (keystrokes comtab)
  +        (dolist (keystroke keystrokes)
  +          (setf accumulated-keystrokes (adjoin keystroke accumulated-keystrokes :test #'equal)))))
  +    accumulated-keystrokes))
  +
   (defun read-command (command-table
   		     &key (stream *standard-input*)
   			  (command-parser *command-parser*)
  
positive.code:       (accelerator-gesture (c)
          ;; If lookup-keystroke-item below returns a partial command, invoke the
          ;; partial command parser to complete it.
          (let ((command                            
                 (lookup-keystroke-command-item (accelerator-gesture-event c)
                                                command-table)))
            (if (partial-command-p command)
  
negative.code: 			 ;; XXX What about the :menu case?
  			 (otherwise nil))))
  	  (if command
                ; Return a literal command, or create a partial command from a command-name
  	      (substitute-numeric-argument-marker (if (symbolp command)
                                                        (partial-command-from-name command)
                                                        command)
  