anchor.diff:       nil)))
   
   (defun buffer-undo (buffer)
  -  (let ((f (pop (buffer-undo-stack buffer))))
  -    (when f
  -      (let ((*use-redo-stack* t))
  +  (let ((tlist (buffer-undo-stack buffer)))
  +    (unless (tlist-empty-p tlist)
  +      (let ((f (tlist-right tlist))
  +            (*use-redo-stack* t))
  +        (setf (car tlist) (butlast (car tlist)))
  +        (tlist-update tlist)
           (funcall f)))))
   
   (defun buffer-redo (buffer)
  
positive.code:     (setf (buffer-cache-linum buffer) 1)
      (setf (buffer-keep-binfo buffer) nil)
      (setf (buffer-nlines buffer) 1)
      (setf (buffer-undo-stack buffer) nil)
      (setf (buffer-redo-stack buffer) nil)))
  
  (defun buffer-check-marked (buffer)
  
negative.code:     (buffer-filename buffer)))
  
  (defun push-undo-stack (buffer elt)
    (tlist-add-right (buffer-undo-stack buffer) elt))
  
  (defun push-redo-stack (buffer elt)
    (push elt (buffer-redo-stack buffer)))
  