anchor.diff:       source-registry)
       (t
        (with-output-to-string (s)
  -       (loop :for entry :in (split-string source-registry :separator ";")
  -         :for previousp = nil
  -         :for recursep = (string-suffix-p entry "//") :do
  -         (labels ((x (p)
  -                    (when p
  -                      (format s "~@[:~]~A~@[/~]"
  -                              previousp (ensure-directory-pathname p)
  -                              recursep))))
  +       (loop :for (entry . morep) :on (split-string source-registry :separator ";")
  +	     :for recursep = (string-suffix-p entry "//") :do
  +	 (labels ((x (p)
  +		    (if p
  +			(format s "~A~@[/~*~]~@[:~]"
  +				(ensure-directory-pathname p) recursep morep)
  +			(error "Couldn't find BUILD directory for source-registry entry ~S" entry))))
              (if (find #\: entry)
                  (x (label->pathname
                      entry :root root :readonly-root readonly-root))
  
positive.code: (defun BUILD-package->pathname
      (package-name
       &key (root *BUILD-root*) (readonly-root *READONLY-BUILD-root*))
    (flet ((sub (x) (probe-file* (subpathname x (strcat package-name "/")))))
      (or (sub root) (sub readonly-root))))
  
  (defun label->pathname (label &key
  
negative.code:   "current BUILD package directory")
  
  (define-option-spec +blaze-option-spec+
    '((("build-root" #\r) :type string :optional t :documentation "root of BUILD packges") ;; default: google3 ancestor of current directory
      (("readonly-root" #\R) :type string :optional t :documentation "google3 root (default: from current dir)") ;; default: ${BUILD-root}/../READONLY/google3/
      (("package" #\P) :type string :optional t :documentation "BUILD package"))) ;; default: package for current dir under BUILD-root
  
  (defun resolve-blaze-source-registry (source-registry &key root readonly-root)
  