anchor.diff:  (defparameter *current-shelf*     (truename #P"./"))
   
   
  +(defun change-directory (root old new)
  +  ;; 1- merge with old or root depending on whether new is relative or absolute.
  +  (let ((new (truename (if (eq (first (pathname-directory new)) :relative)
  +                            (merge-pathnames new old nil)
  +                            (merge-pathnames (make-pathname :directory (cons :relative (rest (pathname-directory new)))
  +                                                            :defaults new)
  +                                             root nil)))))
  +    ;; 2- check that new doesn't go above root (this can occur with :up or :back, or with symlinks.
  +    (let ((rd (pathname-directory root))
  +          (nd (pathname-directory new)))
  +      (if (= (length rd) (mismatch rd nd :test (function equal)))
  +          new
  +          root))))
  +
  +
  +;; (change-directory #P"/home/pjb/src/git/pjb/nasium-lse/"
  +;;                   #P"/home/pjb/src/git/pjb/nasium-lse/tests/"
  +;;                   "../..")
  +;; #P"/home/pjb/src/git/pjb/nasium-lse/"
  +;; (change-directory #P"/home/pjb/src/git/pjb/nasium-lse/"
  +;;                   #P"/home/pjb/src/git/pjb/nasium-lse/"
  +;;                   "tests/")
  +;; #P"/home/pjb/src/git/pjb/nasium-lse/tests/"
  +
  +
  +(defun clip-directory (root directory)
  +  (concatenate 'string "/" (enough-namestring directory root)))
  +
  +
   (defun make-temporaries-directory ()
     (let ((dir (pathname (format nil "/tmp/lse~D/" (getuid)))))
       (ensure-directories-exist (make-pathname :name "test" :type "test" :defaults dir))
  
positive.code:              (< 1 (length nouveau-repertoire)))
      (unless (char= #\/ (aref nouveau-repertoire (1- (length nouveau-repertoire))))
        (setf nouveau-repertoire (concatenate 'string nouveau-repertoire "/")))
      (setf *current-directory*
            (truename (make-pathname
                       :name nil :type nil :version nil
                       :defaults (if (char= #\/ (aref nouveau-repertoire 0))
                                     (merge-pathnames (concatenate 'string "." nouveau-repertoire) *lse-root*)
                                     (merge-pathnames nouveau-repertoire *current-directory*))))))
    (task-close-all-files *task*))
  
  
  
negative.code: 
  Voir les commandes CHANGER REPERTOIRE, TABLE DES FICHIER, UTILISATION DISQUE."
    (io-new-line *task*)
    (io-format *task* "REPERTOIRE COURANT: ~A~%"
               (clip-directory *lse-root* *current-directory*)))
  
  
  (defcommand "CHANGER REPERTOIRE" awake une-ligne (nouveau-repertoire)
  