anchor.diff:    (assert (eq (buffer mark1) (buffer mark2)))
     (let ((offset1 (offset mark1))
   	(offset2 (offset mark2)))
  -    (when (> offset1 offset2)
  -      (rotatef offset1 offset2))
  -    (capitalize-buffer-region (buffer mark1) offset1 offset2)))
  +    (as-region (offset1 offset2)
  +      (capitalize-buffer-region (buffer mark1) offset1 offset2))))
   
   (defmethod capitalize-region ((offset1 integer) (mark2 mark))
     (let ((offset2 (offset mark2)))
  -    (when (> offset1 offset2)
  -      (rotatef offset1 offset2))
  -    (capitalize-buffer-region (buffer mark2) offset1 offset2)))
  +    (as-region (offset1 offset2)
  +      (capitalize-buffer-region (buffer mark2) offset1 offset2))))
   
   (defmethod capitalize-region ((mark1 mark) (offset2 integer))
     (let ((offset1 (offset mark1)))
  -    (when (> offset1 offset2)
  -      (rotatef offset1 offset2))
  -    (capitalize-buffer-region (buffer mark1) offset1 offset2)))
  +    (as-region (offset1 offset2)
  +      (capitalize-buffer-region (buffer mark1) offset1 offset2))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;; 
  
positive.code:   (assert (eq (buffer mark1) (buffer mark2)))
    (let ((offset1 (offset mark1))
  	(offset2 (offset mark2)))
      (when (> offset1 offset2)
        (rotatef offset1 offset2))
      (untabify-buffer-region (buffer mark1) offset1 offset2 tab-width)))
  
  (defmethod untabify-region ((offset1 integer) (mark2 mark) tab-width)
    (let ((offset2 (offset mark2)))
      (when (> offset1 offset2)
        (rotatef offset1 offset2))
      (untabify-buffer-region (buffer mark2) offset1 offset2 tab-width)))
  
  (defmethod untabify-region ((mark1 mark) (offset2 integer) tab-width)
    (let ((offset1 (offset mark1)))
      (when (> offset1 offset2)
        (rotatef offset1 offset2))
      (untabify-buffer-region (buffer mark1) offset1 offset2 tab-width)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code:   (assert (eq (buffer mark1) (buffer mark2)))
    (let ((offset1 (offset mark1))
  	(offset2 (offset mark2)))
      (as-region (offset1 offset2)
        (upcase-buffer-region (buffer mark1) offset1 offset2))))
  
  (defmethod upcase-region ((offset1 integer) (mark2 mark))
    (let ((offset2 (offset mark2)))
      (as-region (offset1 offset2)
        (upcase-buffer-region (buffer mark2) offset1 offset2))))
  
  (defmethod upcase-region ((mark1 mark) (offset2 integer))
    (let ((offset1 (offset mark1)))
      (as-region (offset1 offset2)
        (upcase-buffer-region (buffer mark1) offset1 offset2))))
  
  (defun capitalize-buffer-region (buffer offset1 offset2)
    (let ((previous-char-constituent-p nil))
  