Monday, November 08, 2010 at 12:06 AM.
system.verbs.builtins.userland.oldstuff.buildChangesOutline
<<build a list of things that have changed since last release local (cutoffdate = frontier.shipdate); local (ct = 0); local (adrOutline = @userland.changes2); new (outlineType, adrOutline); editMenu.setFont ("Geneva"); editMenu.setFontSize (12); edit (adrOutline); target.set (adrOutline); local (adrsubitem, moddate); on traverse (adr) { local (i); for i = 1 to sizeof (adr^) { try { adrsubitem = @adr^ [i]; moddate = timeModified (adrsubitem^); if moddate { <<it's false if the item doesn't have a moddate if moddate >= cutoffdate { local (day, month, year, hour, minute, second, s); msg (moddate); date.get (moddate, @day, @month, @year, @hour, @minute, @second); s = string.delete (year, 1, 2) + "/"; s = s + string.padwithzeros (month, 2) + "/"; s = s + tstring.padwithzeros (day, 2); op.insert (adrsubitem, down); ct++} else { if typeOf (adrsubitem^) == tableType { traverse (adrsubitem)}}}}}}; <<recurse traverse (@system.agents); traverse (@system.verbs.apps); traverse (@system.extensions); traverse (@system.menubars); traverse (@people); traverse (@system.startup); traverse (@system.shutdown); traverse (@suites); traverse (@system.verbs.traps); traverse (@user); op.firstSummit (); op.deleteline (); op.sort (); op.firstSummit (); op.insert (ct + " objects changed between " + string.nthfield (cutoffdate, ';', 1) + " and " + string.nthfield (clock.now (), ';', 1), up); op.demote (); window.zoom (adrOutline)
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.