opened https://pharo.fogbugz.com/f/cases/12229/XML-Tools-improvement otherwise 
these changes are as good as lost.
sending mcz via mail is from the last century.

On 2013-11-23, at 09:00, Stéphane Ducasse <stephane.duca...@inria.fr> wrote:

> No time so fr to handle it.
> 
> Stef
> 
> Begin forwarded message:
> 
>> From: "monty" <monty...@engineer.com>
>> Subject: Patches for Pharo packages you are maintaining
>> Date: November 21, 2013 3:14:25 AM GMT+01:00
>> To: stephane.duca...@inria.fr
>> 
>> Prof. Stef, I have produced updates to the XML-Parser, XML-Parser-Testing, 
>> and XML-Writer-Core packages you are maintaining.
>> 
>> These updates add validation against internal and external DTDs, proper 
>> replacement of general and parameter entites, customizable resolution of 
>> external parsed entities using Zinc and FileSystem, awareness of notations 
>> and unparsed entities, preservation of the internal DTD subset by the DOM 
>> parser (so printing a parsed doc with a DTD will produce approximately what 
>> was input), line numbers reporting in error messages, and better well-formed 
>> and validity constraints.
>> 
>> I had to largely rewrite the tokenizer to make everything work, but I 
>> followed the spec closely, and it is about the same speed as long as there 
>> is no DTD to validate against.
>> 
>> One problem is that while the tests I added and the existing tests all pass, 
>> for some reason helper messages in some test classes starting with "should" 
>> (in the style of should:raise:) are being interpreted as tests and run by 
>> TestRuner, even though they don't begin with "test" and take arguments! This 
>> is possibly a bug in TestRunner.
>> 
>> Another problem is that there are so many deprecated methods cluttering up 
>> classes, some of which have been deprecated for years! It is confusing and 
>> hard to see which methods to use just by browsing the protocols. I would 
>> really suggest using this code to get rid of the XML-Parser methods that 
>> have been deprecated for at least a year:
>> 
>> expiry := 1 year.
>> (SystemNavigation default allClassesInPackageNamed: 'XML-Parser')
>> do: [:class |
>> class selectors do: [:selector | | compiledMethod timeStamp |
>> compiledMethod := class compiledMethodAt: selector.
>> timeStamp := compiledMethod timeStamp copyAfter: Character space.
>> (compiledMethod isDeprecated
>> and: [(DateAndTime now - (DateAndTime fromString: timeStamp)) > expiry])
>> ifTrue: [class removeSelector: selector]]].
>> 
>> I ran and checked it myself and it doesn't break anything. Running the above 
>> with XML-Writer-Core might not be a bad idea either.
>> 
>> I also updated BitmapCharacterSet to use less memory.
> <XML-Writer-Core-monty.5.mcz>
> <XML-Tests-Parser-monty.27.mcz>
> <XML-Parser-monty.173.mcz>
> <Collections-BitmapCharacterSet-Anonymous.6.mcz>
> <Collections-BitmapCharacterSet-Anonymous.6.mcz>
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to