- From: Terje Bless <link@tss.no>
- Date: Mon, 18 Oct 1999 02:01:57 +0200
- To: W3C Validator <www-validator@w3.org>
- Message-Id: <199910172354.BAA13586@vals.intramed.rito.no>
('binary' encoding is not supported, stored as-is)
Well, it's not really a patch as the changes are somewhat messy and it's
easier to send the whole thing then to generate a patch that will aply
cleanly. Besides, it's easy to do a local diff to see changes.
I started out trying to track down some problems in the parse tree code,
but got carried away. Hopefully the changes are readable. :-)
Detailed change list below, but the highlights are:
* Eliminated a gazillion warnings (literally thousands of warnings per
validated file; all of which ended up in your error logs). Down to
about 10 per file now. :-)
* Made Parse Trees more readable by stripping unneccesary whitespace,
STRONGly emphasizing elements and wrapping text to 76 columns.
* Show IMG ALT text from headings in the Outlines.
* Reduced memory consumption.
Details:
* Silenced Parse Tree code under -w and use strict. The parse tree code was
generating a gazillion warnings when running under -w and use strict.
Literaly thousands of warnings per validated file! Fixed.
* Made the Parse Tree code use Text::Wrap to wrap long lines.
* Made som mainly frivolous changes to a few warnings to make them more
consistent and informative.
* Stripped newlines from nsgmls output as it's read. This saves a bit over
one byte of memory per line in the output. As an example, with the output
for the validator.w3.org homepage this saves you about 2.5KB memory.
This also makes more sense in later code.
* Demoted errors encountered while close()ing filehandles. They used to be
fatal die(), but are now non-fatal warn()s.
* Used CGI::Carp to timestamp error messages from warn() and die() which
end up in the web server's error log. This should make the error log
entries a *lot* more understandable and usefull.
* Made some changes to the output HTML in preparation for making the output
HTML 4.0 Strict with CSS. Also made some stylistic changes to make the
output HTML easier to read. These were supposed to be local
modifications, but were commited by mistake. I left them in as it's a
pain to back out of them and it won't do any harm (quite the contrary) if
it trickles in on w3.org.
* Made Outline code more namespace friendly.
* Stripped some dead code from the Outlines.
It had 3 conditionals that looked for specific strings to ignore followed
by a conditional ignoring all but a specific string. No point using 4 ops
to achieve the results of 1. Actually, since these were ifs with a regex
match, they translate into a significant performance hit; far more then
the 4 vs. 1 ratio leads you to believe.
* Replaced a substr() call with a pattern match in the Outline code. We
allready do the pattern match so why not use it for something?
* Changed confusing use of "while" into a slightly less confusing "until".
* Added support for extracting the value of alt attributes inside Hn
elements. If a heading contains an IMG with an alt attribute, the alt
attribute is now used as substitute text.
* Simplified HTML output and the code to generate it in the Parse Tree
code.
* Made Parse Tree code more namespace friendly.
* Made elements in Parse Trees STRONGly emphasized. This improves
readability quitea bit IMO. Also stripped away unnecessary whitespace
from parse trees. While whitespace is often good, in this case it just
made things confusing. IMO anyway. YMMV.
Attachments
- application/octet-stream attachment: check
Received on Sunday, 17 October 1999 19:55:09 UTC