anchor.diff:      (values accepted-p
   	    (if accepted-p (subseq-buffer-mark buffer) ""))))
   
  +;;;;;;;;;;;;;;;;;;;;;;;
  +;;;; Parsing of json
  +;;;;;;;;;;;;;;;;;;;;;;;
   (defun read-object (buffer)
     "reads an object, starting with { and ending with } into a in internal jsown object"
     (declare (type buffer buffer))
  
positive.code:   POST: returns a list containing all read objects
    POST: the buffer's index is right after the ending ]"
    (declare (type buffer buffer))
    (let ((r
  	 (loop 
  	    until (progn (skip-until* buffer ",][")
  			 (eql (current-char buffer) #\]))
  	    collect (progn
  		      (next-char buffer)
  		      (read-value buffer)))))
      (declare (type (or cons nil) r))
      (next-char buffer)
      r))
  
  (eval-when (:compile-toplevel)
    (defun create-parse-number-code (&key exponent-p float-p)
  
negative.code: 
  (defun skip-string (buffer)
    (declare (type buffer buffer))
    "Skips the contents of an input string from the buffer.
    PRE: assumes the buffer's index is at the starting \"
    POST: the buffer's index is right after the ending \" "
    (next-char buffer)
    (skip-to/ buffer #\"))
  
  