*::: ClassAd::sPrintExpr() *DONE*
*::: ClassAd::NextExpr() *DONE*
*::: ClassAd::NextDirtyExpr() *DONE*
-*::: ClassAd::SetDirtyFlag() *DONE, needs callsite changes*
-*::: ClassAd::GetDirtyFlag() *DONE, needs callsite changes*
+*::: ClassAd::SetDirtyFlag() *DONE*
+*::: ClassAd::GetDirtyFlag() *DONE*
*::: ClassAd::ClearAllDirtyFlags() *DONE*
*::: ClassAd::GetReferences() *INCOMPLETE*
*::: ClassAd::ChainCollapse() *DONE*
*::: ClassAd::EscapeStringValue() *DONE, will need callsite changes*
-*::: ClassAd::CopyAttribute() *DONE, needs callsite changes*
+*::: ClassAd::CopyAttribute() *DONE*
*::: ClassAd::fPrintAsXML() *DONE*
*::: ClassAd::sPrintAsXML() *DONE*
*::: ClassAd::IsValidAttrValue() *DONE*
@@ -43,7 +43,7 @@
*: Write helper functions for these methods which we can't emulate transparently *[4 hours]*:
*:: ExprTree::PrintToNewStr() *DONE*
*:: ExprTree::PrintToStr() *DONE*
-*:: ExprTree::EvalTree() *DONE, needs callsite changes*
+*:: ExprTree::EvalTree() *DONE*
*: Write compatibility versions of these free-standing functions that are part of old {quote:ClassAds}:
*:: int Parse(const char*s, MyString&name, ExprTree*&tree, int*pos = NULL) *DONE*
@@ -69,7 +69,7 @@
*: Arrange header and make files so that switching between old and new {quote:ClassAds} can be done with the flip of a switch. *[1 day]*.
-*: Fix up the one or two callsites in matchmaker.cpp that move an ad from one {quote:ClassAdList} to another *[4 hours]*.
+*: Fix up the one or two callsites in matchmaker.cpp that move an ad from one {quote:ClassAdList} to another *DONE*.
*: The following methods will need some fixing at the callsites *[5 days]*:
*:: ExprTree::RArg() *DONE*