(module tag-state mzscheme
(require "tag-reader.ss"
(lib "contract.ss"))
(define current-tag-library
(let ([path (build-path (current-directory) "STAGS-LIBRARY")])
(cond
[(file-exists? path) (open-tag-library path)]
[else empty-tag-library])))
(provide/contract (set-current-tag-library! (tag-library? . -> . any)))
(define (set-current-tag-library! library)
(set! current-tag-library library))
(provide/contract (get-current-tag-library (-> tag-library?)))
(define (get-current-tag-library)
current-tag-library))