anchor.diff:  		   (gethash key *builtin-bst-functions*)))
       table))
   
  +(defvar *bst-package* nil
  +  "A temporary package where the BST compiler puts the symbols
  +generated for the BibTeX style file")
  +
   (defun bst-name-to-lisp-name (bst-name &optional (type :function))
     (setq bst-name (substitute #\- #\. (string-upcase (string bst-name))))
     (ecase type
       ((:function :lexical)
        (if (string-equal bst-name "T")
  -	 (gentemp "TEMP")
  -	 (intern bst-name)))
  +	 (gentemp "TEMP" *bst-package*)
  +	 (bst-intern bst-name)))
       ((:variable)
        (if (string-equal bst-name "T")
  -	 (intern "*T*")
  -	 (intern (concatenate 'string "*" bst-name "*"))))))
  +	 (bst-intern "*T*")
  +	 (bst-intern (concatenate 'string "*" bst-name "*"))))))
   
  -      
  +(defun bst-intern (name)
  +  "Intern NAME into *BST-PACKAGE*, shadowing imported symbols."
  +  (shadow name *bst-package*)
  +  (intern name *bst-package*))
   
   (defun check-for-already-defined-function (name)
     (unless (symbolp name)
  
positive.code: 			     :lisp-form-maker #'(lambda () lisp-name)
  			     :setter-form-maker #'(lambda (value-form)
  						    `(setq ,lisp-name ,value-form))
  			     :side-effects (make-instance 'side-effects :used-variables (list variable))
  			     :type func-type
  			     :argument-types '()
  			     :result-types (list type)
  
negative.code:   (let ((variable (string variable)))
      (setf (gethash variable hash-table)
  	  (make-bst-function :name variable
  			     :lisp-name lisp-name
  			     :setter #'(lambda (value)
  					 (setf (bst-function-value
  						(gethash variable hash-table))
  