anchor.diff:  ;;;; (http://antigrain.com/).
   ;;;;
   ;;;; Changelogs:
  +;;;;
  +;;;; 2007-03-11: Extended the protocol to provide a way to sweep only
  +;;;;             a rectangular zone of the resulting state. This was
  +;;;;             done with some new functions: FREEZE-STATE,
  +;;;;             SCANLINE-SWEEP, SCANLINE-Y and CELLS-SWEEP/RECTANGLE.
  +;;;;             The function CELLS-SWEEP is now based on them.
   ;;;;
   ;;;; 2007-02-25: Released under LLGPL this time. Future changes made
   ;;;;             in this file will be thus covered by this license.
  
positive.code: 
  Returns the current cell."
    (let ((current-cell (state-current-cell state)))
      (when (or (/= x (cell-x current-cell))
                (/= y (cell-y current-cell)))
        ;; Store the current cell, then reset it.
  
negative.code:   "AA state. Hold all the cells generated when drawing lines."
    (current-cell (make-cell) :type cell)
    (cells nil)
    (scanlines nil)
    ;; these slots for reusing cells with state-reset
    (end-of-lines nil)
    (dropped-cells nil)
    (recycling-cells (cons nil nil)))
  
  (defun state-reset (state)
  