anchor.diff:  		  (string-capitalize string1)
   		  string2
   		  :start1 start1 :start2 start2 :end1 end1 :end2 end2))))))
  +
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  +;;;
  +;;; Test STRING-NOT-GREATERP.
  +
  +(defun list-not-greaterp (list1 list2 start1 end1 start2 end2)
  +  (let ((l1 (loop for i from 0
  +		  for c in list1
  +		  when (and (>= i start1) (< i end1))
  +		    collect c))
  +	(l2 (loop for i from 0
  +		  for c in list2
  +		  when (and (>= i start2) (< i end2))
  +		    collect c)))
  +    (loop for c1 in l1
  +	  for i from start1
  +	  for c2 in l2
  +	  when (char-lessp c1 c2)
  +	    return i
  +	  when (char-greaterp c1 c2)
  +	    return nil
  +	  finally (return (if (<= (- end1 start1) (- end2 start2)) end1 nil)))))
  +
  +(defun test-one-string-not-greaterp
  +    (string1 string2 &rest args &key (start1 0) end1 (start2 0) end2)
  +  (let ((e1 (if (null end1) (length string1) end1))
  +	(e2 (if (null end2) (length string2) end2)))
  +    (assert (eq (apply #'string-not-greaterp string1 string2 args)
  +		(list-not-greaterp (coerce string1 'list) (coerce string2 'list)
  +				   start1 e1 start2 e2)))))
  +
  +(defun test-string-not-greaterp (n)
  +  (loop repeat n
  +	do (let ((string1 (random-string 0 5 64 66))
  +		 (string2 (random-string 0 5 64 66)))
  +	     (multiple-value-bind (start1 end1)
  +		 (random-bounding-indices string1)
  +	       (multiple-value-bind (start2 end2)
  +		   (random-bounding-indices string2)
  +		 (test-one-string-not-greaterp
  +		  string1
  +		  string2
  +		  :start1 start1 :start2 start2 :end1 end1 :end2 end2)
  +		 (test-one-string-not-greaterp
  +		  (string-to-non-simple-string string1)
  +		  string2
  +		  :start1 start1 :start2 start2 :end1 end1 :end2 end2)
  +		 (test-one-string-not-greaterp
  +		  string1
  +		  (string-to-non-simple-string string2)
  +		  :start1 start1 :start2 start2 :end1 end1 :end2 end2)
  +		 (test-one-string-not-greaterp
  +		  (string-capitalize string1)
  +		  string2
  +		  :start1 start1 :start2 start2 :end1 end1 :end2 end2))))))
  
positive.code: 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Test STRING-lessp.
  
  (defun list-lessp (list1 list2 start1 end1 start2 end2)
    (let ((l1 (loop for i from 0
  
negative.code: 
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Test STRING-EQUAL.
  
  (defun list-equal (list1 list2 start1 end1 start2 end2)
    (let ((l1 (loop for i from 0
  