As per the chosen versioning system, this immediately becomes 5.1.0, the
master development stream - hopefully ALWAYS stable - with improvements of
all types...
Should any bug fix be interesting for 5.0.0 release, this change would be
push to the release/5.0.0 branch, making it version 5.0.1... or 5.0.0RC2
if still in the RC stage of release...
html5 allows a naked ampersand unquoted, and now tidy will not issue a
warning. This only deals with a & b, and P&<li>O</li>
More may need to be done for other cases.
There was an idea to mark this function deprecated, such that if used the
developer would see a warning. But this was never implemented in a cross
platform way.
So for now revert to circa Jan 2015 when Jim added a build date to the
version.txt file. And now both LIBTIDY_VERSION and RELEASE_DATE macros are
established in CMakeLists.txt, and picked up in version.h.
The idea is the date will now march forward with the version number, side
by side in version.txt. Although have left tidy.c only emitting the
version on the --version command.
After this function has been marked deprecated for several release periods,
only then should consideration be given to potentially removing it.
This is when setting a String config value through say tidyOptSetValue
using say tidyOptSetValue(tdoc,id,"").
If the length of the new string is zero then do not allocate a 1 byte
buffer, set it to 0, for the option. Any previous buffer has already been
released.
This means API functions like tidyOptSaveSink will not return erroneous
null String values!
This new warning will only be seen if the document remains in HTML5 mode,
where the summary attribute is obsolete. The W3C validator flags this as
an error, and suggests 'Consider describing the structure of the table in
a caption element or in a figure element containing the table; or simplify
the structure of the table so that no description is needed'.
At the same time this patch also restored the old warning if the document
is HTML4--, if the table element lacks a summary attribute. This has been
a tidy warning since the beginning of time, although the W3C validator
does not presently flag this.
In certain circumstances a leading space has to be preverved to allow it
to be used to create a text space node to insert before this element to
preserve the view in a browser.
And added a note asking why is ParseTag called with a hardcoded
IgnoreWhitespace when some effort above has set the mode variable to
MixedContent in certain cases, but need to think about this 2nd change.
Also added some MSVC Debug output when this leading text is used to insert
such a created text node before the element just to be reminded of this
special event.
Such debug is OFF by default, and only added by defining DEBUG_MEMORY. And
is only available for the Debug configuration compiled with MSVC, but this
could be easily extended...
Not sure how this has lasted so long, but I guess there are not too many
users wanting to specifically use the static tidy library.
Now it is possible to define TIDY_STATIC and the TIDY_EXPORT macro will
just be 'external', suitable for linking with the static library, instead
of adding the _imp_ MSVC __declspec( dllimport )...
This fix does not effect other than the WIN32 platform build.
First many other projects do this, and it seems a good choice.
Due mainly to windows where the static and shared libraries have the same
name, appended an 's' to the static library.
The tidy console app will use the static library, since to build the man
page tidy may need to be run before the shared libraries are installed.
And this makes the windows tidy exe a stand-alone app. No DLL install
issue.
This addresses issue #194, and possibly #190
Thought there may be some comments on this but nothing for a week.
So have merged to master hoping more people will test it, and any
remaining issues resolved.
Now it will be present from version 4.9.29 onwards.