Commits

Anonymous committed eb65b91

Fix bug where changes in a tag library referenced by a tag library
do not appear when a templated page is refreshed. Turns out, the
logic of how a tag library itself determines whether it is expired
did not depend on any of the tag libraries it references. That is now
fixed.

  • Participants
  • Parent commits 8124b48

Comments (0)

Files changed (1)

taglibraries.lisp

   )
 
 (defgeneric tag-library-expiredp (library)
-  (:method ( (library tag-library) )
-    (if (tag-library-stalep library)
-	t
-	(provider-tag-library-expiredp library (tag-library-provider library) )
-	)
-    )
+  (:documentation "Return if the library (or any of its dependent libraries) has epxired")
   )
 
 ;;;------------------------------------------------------------------------------------
     )
   )
 
+(defmethod tag-library-expiredp ( (library tag-library) )
+    (if (tag-library-stalep library)
+	t
+	(or (provider-tag-library-expiredp library (tag-library-provider library) )
+	    (find-if #'(lambda (library-name) 
+			 (let (
+			       (library (find-cached-tag-library library-name))
+			       )
+			   (if library
+			       (tag-library-expiredp (find-cached-tag-library library-name) )
+			       t
+			       )
+			   )
+			 )
+		     (tag-libraries-used library )
+		     )
+	    )
+	)
+    )
+
 ;; -------- Folder provider ---------------------
 ;; 
 ;;  provides tag libraries in individual files of a specified