anchor.diff:    (ansi-cmd0 "6n")
     (force-output)
     (when (= #\[ (ansi-read-nonctrl))
  -     (with (height (ansi-read-digit)
  -     	    width  (ansi-read-digit))
  +     (with (height (ansi-read-natural-number)
  +     	    width  (ansi-read-natural-number))
     	   (%terminal-normal)
   	   (values width height))))
   
  
positive.code: 
  ;;;; Macros.
  
  (defmacro defc (cmd name args description &rest codes)
    `(defun ,name ,args
  	 ,description
  	 ,(cons cmd codes)))
  
  (defmacro %defz (defname cmd)
    `(defmacro ,defname (name &rest args)
       `(defc ,cmd ,,name () ,,@args)))
  
  (%defz defs ansi-set-flag)
  (%defz def-sgr ansi-sgr)
  (%defz def0 ansi-cmd0)
  
  (defmacro def1 (&rest args)
    `(defc ansi-cmd1 ,@args))
  
  (defmacro def2 (&rest args)
    `(defc ansi-cmd2 ,@args))
  
  ;;;; Public functions.
  
  
negative.code: 		c
  		(ansi-read-nonctrl))))
  
  (defun ansi-read-natural-number (&optional (v 0))
    (with (c (read-char))
      (if (digit-char-p  c)
  	    (ansi-read-natural-number (+ (- c #\0) (* 10 v)))
  		v)))
  
  (defun ansi-get-position ()
  