Issue #285 - Add a ResetTags func to erset html5 mode before each document
This commit is contained in:
parent
55060018b3
commit
d75c82275d
|
@ -100,7 +100,7 @@ static void Show_Node( TidyDocImpl* doc, const char *msg, Node *node )
|
||||||
int col = ( doc->lexer ? doc->lexer->columns : 0 );
|
int col = ( doc->lexer ? doc->lexer->columns : 0 );
|
||||||
SPRTF("R=%d C=%d: ", line, col );
|
SPRTF("R=%d C=%d: ", line, col );
|
||||||
// DEBUG: Be able to set a TRAP on a SPECIFIC row,col
|
// DEBUG: Be able to set a TRAP on a SPECIFIC row,col
|
||||||
if ((line == 60) && (col == 1)) {
|
if ((line == 7) && (col == 1)) {
|
||||||
check_me("Show_Node"); // just a debug trap
|
check_me("Show_Node"); // just a debug trap
|
||||||
}
|
}
|
||||||
if (lexer && lexer->token &&
|
if (lexer && lexer->token &&
|
||||||
|
|
35
src/tags.c
35
src/tags.c
|
@ -734,7 +734,9 @@ void TY_(FreeDeclaredTags)( TidyDocImpl* doc, UserTagType tagType )
|
||||||
* Tidy defaults to HTML5 mode
|
* Tidy defaults to HTML5 mode
|
||||||
* If the <!DOCTYPE ...> is found to NOT be HTML5,
|
* If the <!DOCTYPE ...> is found to NOT be HTML5,
|
||||||
* then adjust tags to HTML4 mode
|
* then adjust tags to HTML4 mode
|
||||||
* At present only TidyTag_A, but could apply to others
|
*
|
||||||
|
* NOTE: For each change added to here, there must
|
||||||
|
* be a RESET added in TY_(ResetTags) below!
|
||||||
\*/
|
\*/
|
||||||
void TY_(AdjustTags)( TidyDocImpl *doc )
|
void TY_(AdjustTags)( TidyDocImpl *doc )
|
||||||
{
|
{
|
||||||
|
@ -778,6 +780,37 @@ void TY_(AdjustTags)( TidyDocImpl *doc )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*\
|
||||||
|
* Issue #285
|
||||||
|
* Reset the table to default HTML5 mode.
|
||||||
|
* For every change made in the above AdjustTags,
|
||||||
|
* the equivalent reset must be added here.
|
||||||
|
\*/
|
||||||
|
void TY_(ResetTags)( TidyDocImpl *doc )
|
||||||
|
{
|
||||||
|
Dict *np = (Dict *)TY_(LookupTagDef)( TidyTag_A );
|
||||||
|
TidyTagImpl* tags = &doc->tags;
|
||||||
|
if (np)
|
||||||
|
{
|
||||||
|
np->parser = TY_(ParseBlock);
|
||||||
|
np->model = (CM_INLINE|CM_BLOCK|CM_MIXED);
|
||||||
|
}
|
||||||
|
np = (Dict *)TY_(LookupTagDef)( TidyTag_CAPTION );
|
||||||
|
if (np)
|
||||||
|
{
|
||||||
|
np->parser = TY_(ParseBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
np = (Dict *)TY_(LookupTagDef)( TidyTag_OBJECT );
|
||||||
|
if (np)
|
||||||
|
{
|
||||||
|
np->model = (CM_OBJECT|CM_IMG|CM_INLINE|CM_PARAM); /* reset */
|
||||||
|
}
|
||||||
|
#if ELEMENT_HASH_LOOKUP
|
||||||
|
tagsEmptyHash( doc, tags ); /* not sure this is really required, but to be sure */
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void TY_(FreeTags)( TidyDocImpl* doc )
|
void TY_(FreeTags)( TidyDocImpl* doc )
|
||||||
{
|
{
|
||||||
TidyTagImpl* tags = &doc->tags;
|
TidyTagImpl* tags = &doc->tags;
|
||||||
|
|
|
@ -87,7 +87,7 @@ ctmbstr TY_(GetNextDeclaredTag)( TidyDocImpl* doc, UserTagType tagType,
|
||||||
void TY_(InitTags)( TidyDocImpl* doc );
|
void TY_(InitTags)( TidyDocImpl* doc );
|
||||||
void TY_(FreeTags)( TidyDocImpl* doc );
|
void TY_(FreeTags)( TidyDocImpl* doc );
|
||||||
void TY_(AdjustTags)( TidyDocImpl *doc ); /* if NOT HTML5 DOCTYPE, fall back to HTML4 legacy mode */
|
void TY_(AdjustTags)( TidyDocImpl *doc ); /* if NOT HTML5 DOCTYPE, fall back to HTML4 legacy mode */
|
||||||
|
void TY_(ResetTags)( TidyDocImpl *doc ); /* set table to HTML5 mode */
|
||||||
|
|
||||||
/* Parser methods for tags */
|
/* Parser methods for tags */
|
||||||
|
|
||||||
|
|
|
@ -1185,6 +1185,7 @@ int TY_(DocParseStream)( TidyDocImpl* doc, StreamIn* in )
|
||||||
assert( doc->docIn == NULL );
|
assert( doc->docIn == NULL );
|
||||||
doc->docIn = in;
|
doc->docIn = in;
|
||||||
|
|
||||||
|
TY_(ResetTags)(doc); /* reset table to html5 mode */
|
||||||
TY_(TakeConfigSnapshot)( doc ); /* Save config state */
|
TY_(TakeConfigSnapshot)( doc ); /* Save config state */
|
||||||
TY_(FreeAnchors)( doc );
|
TY_(FreeAnchors)( doc );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue