anchor.diff:              (let ((*print-case* :downcase)) (princ x)))
           (setf firstp t)))))
   
  +(defun modeline-linum (window)
  +  (point-linum (window-point window)))
  +
  +(defun modeline-column (window)
  +  (point-column (window-point window)))
  +
   (defun modeline-string (window)
  -  (let ((str (with-output-to-string (out)
  -               (dolist (x
  -			 (get-bvar :modeline-format
  -				   :buffer (window-buffer window)
  -				   :default *modeline-default-format*))
  -                 (if (or (symbolp x) (functionp x))
  -                     (princ (funcall x window) out)
  -                     (princ x out)))))
  -        (mdstr (make-string (window-width window) :initial-element #\space)))
  +  (let* ((posline (posline window))
  +         (str (with-output-to-string (out)
  +                (dolist (x
  +                         (get-bvar :modeline-format
  +                                   :buffer (window-buffer window)
  +                                   :default *modeline-default-format*))
  +                  (if (or (symbolp x) (functionp x))
  +                      (princ (funcall x window) out)
  +                      (princ x out)))))
  +         (mdstr (make-string (window-width window)
  +                             :initial-element #\space)))
       (replace mdstr str)
  -    mdstr))
  +    (replace mdstr posline :start1 (- (length mdstr) 5))))
  
positive.code:           modeline-name
            modeline-major-mode
            modeline-minor-modes
            modeline-string))
  
  (defvar *modeline-default-format*
    (list 'modeline-read-only-p
          'modeline-modified-p
          " "
          'modeline-name
          " ("
          'modeline-major-mode
          'modeline-minor-modes
          ") "))
  
  (defvar *modeline-status-list* nil)
  
  
negative.code:             (remove x (get-bvar :modeline-status-list :buffer buffer)))
        (setf *modeline-status-list*
              (remove x *modeline-status-list*))))
  
  (defun posline (window)
    (cond
      ((<= (buffer-nlines (window-buffer window))
           (window-height window))
       "All")
      ((first-line-p (window-view-point window))
       "Top")
      ((null (line-offset (copy-point (window-view-point window)
                                      :temporary)
                          (window-height window)))
       "Bot")
      (t
       (format nil "~2d%"
               (floor
                (* 100
                   (float (/ (point-linum (window-view-point window))
                             (buffer-nlines (window-buffer window))))))))))
  
  (defun modeline-read-only-p (window)
    (if (buffer-read-only-p (window-buffer window)) "%" "-"))
  