Method: (LOAD-TAL FILE-SYSTEM-GENERATOR PATHNAME)

Source

(defmethod load-tal ((generator file-system-generator) (name pathname))
  (let ((file-name (template-truename generator name)))
    (assert file-name
	    (name)
	    "No template named ~S found." name)
    (unless (gethash file-name *tal-templates*)
      (setf (gethash file-name *tal-templates*) (make-tal-template :last-load-time 0
								   :function nil
								   :file-name file-name)))
    (lambda (environment generator)
      (let ((template (gethash file-name *tal-templates*))
	    (file-write-date (file-write-date file-name)))
        (when (or (not (cachep generator))
                  (< (tal-template.last-load-time template) file-write-date))
          (setf
           (tal-template.function template) (compile nil (preprocess-tal generator file-name))
           (tal-template.last-load-time template) file-write-date))
	(funcall (tal-template.function template) environment generator)))))
Source Context