anchor.diff:                     (command-initials command)
                      (subseq (command-name command) 2)
                      (mapcar (lambda (line) (split-sequence #\Space line))
  -                           (split-sequence #\Newline (command-documentation command))))))
  +                           (split-sequence #\Newline (command-oneliner command))))))
       (io-format *task* "~&POUR ENTRER UNE COMMANDE, TAPEZ SES DEUX ~
                            PREMIERES LETTRES, SUIVIES DE CTRL-S.~
                          ~&POUR ANNULER UN CARACTERE, TAPEZ \\.~%"))
  +
  +  
  +  (defcommand "DOCUMENTATION" un-fichier (what)
  +    "Affiche la documentation d'une commande ou d'une instruction."
  +    (cond
  +      ((let ((command (find-command what *command-group*)))
  +         (when command
  +           (io-format *task* "~%~A)~20A ~{~{~<~%                        ~1,80:;~A~> ~}~^~%                        ~}~%"
  +                      (command-initials command)
  +                      (subseq (command-name command) 2)
  +                      (mapcar (lambda (line) (split-sequence #\Space line))
  +                              (split-sequence #\Newline (command-documentation command))))
  +           t)))
  +      ((let ((chapter (find-chapter what)))
  +         (when chapter
  +           (io-format *task* "~%~A~%~V,,,'-A~2%~{~{~<~%~1,80:;~A~> ~}~%~}~%"
  +                      (chapter-title chapter)
  +                      (length (chapter-title chapter))
  +                      ""
  +                      (mapcar (lambda (line) (split-sequence #\Space line))
  +                              (split-sequence #\Newline (chapter-text chapter))))
  +           t)))
  +      (t
  +       (io-format *task* "~%Il n'y a pas de documentation pour ~S~
  +                          ~%Essayez les commandes suivantes:~
  +                          ~%AI)DE                         donne la liste des commandes;~
  +                          ~%DO)CUMENTATION INSTRUCTIONS   donne la liste des instructions;~
  +                          ~%DO)CUMENTATION FONCTIONS      donne la liste des fonctions.~2%"
  +                  what))))
     
   
     (defcommand "IDENTIFICATION" un-numero (identification)
  
positive.code: 
    (defcommand "AU REVOIR" nil ()
      "Efface les fichiers temporaires, et passe à l'état dormant."
      (au-revoir))
  
    (defcommand "ABREGER"     nil ()
  
negative.code:   name
    grammar 
    arguments
    oneliner
    documentation
    function)
  
  
  (defmacro defcommand (name grammar arguments &body body)
    (let ((oneliner      (if (stringp (first body))
                             (pop body)
                             nil))
          (documentation (if (stringp (first body))
                             (pop body)
                             nil)))
     `(make-command
       :initials       (subseq ,name 0 2)
       :name          ,name
       :grammar       ',grammar ;; (when grammar (find-grammar (string grammar)))
       :arguments     ',arguments
       :oneliner      ,oneliner
       :documentation ,(or documentation oneliner)
       :Function       (lambda ,arguments (block ,(intern name) ,@body)))))
  
  
  (defvar *command-group* nil
    "The command-group the command being called belongs to.")
  