Commit graph

531 commits

Author SHA1 Message Date
Jim Derry 9614019e8c Added Portuguese (Brazil) localization to Tidy.
Rebased the new language due to organization of strings in newest-next.
Bumped version for external changes.
2017-09-20 17:57:42 -04:00
Jim Derry c88f9c318c Merge branch 'include-portuguese-brazil' of https://github.com/rffontenelle/tidy-html5 into rffontenelle-include-portuguese-brazil 2017-09-20 17:49:22 -04:00
Jim Derry 2a4dc1af52 Merge branch 'dialogue_cleanup' into next
Version bump for internal API change.

Conflicts:
	version.txt
2017-09-20 17:47:27 -04:00
Geoff McLane 79aa8b7460 Merge pull request #599 from htacg/memory-test
Issue #597 - Memory tests/diagnostics
2017-09-20 19:11:34 +02:00
Geoff McLane cd9bb76caf Merge pull request #595 from ablackton/fix/XmlElementNameParsing
Issue #594 - Parse XML element names beginning with Valid NameChar
2017-09-20 17:02:14 +02:00
Jim Derry f26d70c394 Added Doxygen documentation to the header. Some of these could be expanded a
bit, but they look nice in Doxygen.
2017-09-19 15:07:52 -04:00
Rafael Fontenelle c1a4f018df Add Brazilian Portuguese translation 2017-09-19 15:38:49 -03:00
Jim Derry 55ceb55fad Updated PO's and languages with minor changes from English. 2017-09-19 14:03:45 -04:00
Jim Derry 51e2e0f3bd Following the example of the recent changes in the "reports" aspect of Tidy's
output, classify and organize all of the dialogue type of messages. This paves
the way towards formalizing (and expanding!) the footnotes system with much
greater explanatory text, as well as providing much better fine-grained control
over which types of output that Tidy will produce.

Moved STRING_DOCTYPE_GIVEN, STRING_CONTENT_LOOKS, and STRING_NO_SYSID to the
Report paradigm from the Dialogue paradigm, as these are items that are
traditionally TidyInfo and included in the Report table, rather than any type
of dialogue.

At this point, we are exactly passing all tests.
2017-09-19 13:52:27 -04:00
Geoff McLane 55d287bc9d Issue #597 - Free the 'node' not stacked, and add 'message' 2017-09-18 19:47:52 +02:00
Geoff McLane eb81a53165 Issue #597 - Free the 'message' structure, in messageobj.c 2017-09-18 19:46:46 +02:00
Geoff McLane d5ba3d8939 Issue #597 - Switch to 'stderr' in sprtf.c 2017-09-17 16:30:37 +02:00
Geoff McLane a14cffc598 Issue #597 - Avoid reporting root node in lexer.c 2017-09-17 16:29:47 +02:00
Geoff McLane 5d017fe532 Issue #597 - Minor enhancement of memory debug in alloc.c 2017-09-17 16:28:39 +02:00
Andrew Blackton 5a50afe42c Parse XML element names beginning with Valid NameChar 2017-09-11 14:00:11 -05:00
Jim Derry 4509695445 Updated documentation in file.
Simplified the update counting.
2017-09-06 21:25:19 -04:00
Jim Derry 6bce1b377f Updated the POs and POT to reflect the re-sorted strings.
Updated language_fr.h reflect the re-sorted strings.
2017-09-06 20:55:36 -04:00
Jim Derry 80cb74fece Removed comments from and sorted error messages, as they are documented elsewhere in code now, here, too. 2017-09-04 17:43:06 -04:00
Jim Derry d8220c061f Updated the remaining items, including all of the accessibility module items.
Note that there are several regressions in the accessibility test suit that
are not related to output messages. These are a result of previous work, and
these results should be updated in the test suite when this item is merged.
2017-09-04 17:35:57 -04:00
Jim Derry 832b4772ad A bit of organizational cleanup. 2017-09-04 16:49:49 -04:00
Jim Derry bc4388e317 Migrated surrogate errors; removed break after return. 2017-09-04 16:38:07 -04:00
Jim Derry 5b6edb5813 EncodingWarning and MissingAttr migrated. 2017-09-04 16:12:01 -04:00
Jim Derry f49c419908 Implement formatter for encoding reports. 2017-09-04 15:50:45 -04:00
Jim Derry 8cb4198724 Entity errors migrated. 2017-09-04 15:28:08 -04:00
Jim Derry 18754c701d Transitioned formatCustomTagDetected to the general formatter. 2017-09-04 11:44:54 -04:00
Jim Derry e3893eb8b3 Also merged reportBadArgument into standard formatter as above. 2017-09-04 11:40:34 -04:00
Jim Derry be22ad3d03 Move file errors into the standard formatter. Local context is preserved with
braces to not pollute stack for other cases.
2017-09-04 11:35:49 -04:00
Jim Derry 283f8974c3 Migrated reports using formatFileError and formatStandard to flexible messaging system. Migrated old reportNotice() to report(). 2017-09-04 11:24:48 -04:00
Jim Derry 1d2c019162 Added a new string to disambiguate between config files and other file types. 2017-09-04 11:23:37 -04:00
Jim Derry 66e4d1f8e6 Migrated reports using formatter formatCustomTagDetected. 2017-09-02 18:04:51 -04:00
Jim Derry 0c8f684a4b Migrated messages using formatter formatBadArgument to new message system. All tests passing. 2017-09-02 18:00:46 -04:00
Jim Derry 46aa9605ee All reports that can use formatAttributeReport are now using it. Moved the
badAccess flag to the point of detection.
2017-09-02 17:29:56 -04:00
Jim Derry 00178113c8 A *complete* inventory of every message has been completed, and the dispatchTable
reflects such. Some fleshed in report formatters are included with cases for
several of Tidy's reports, but nothing is yet enabled. All reporting is status
quo, and this is just a bunch of dead code at this point.
2017-09-02 16:47:14 -04:00
Jim Derry 83263466f2 Cleanup ReportNotice() a bit by introducing an HTMLVersion() function. 2017-09-02 12:54:02 -04:00
Jim Derry 951ed381a3 Restore message logic. No bump. 2017-08-31 13:45:01 -04:00
Jim Derry e5a05ae5a8 Address merge conflicts. 2017-08-31 13:15:28 -04:00
Jim Derry 2c82cfa23b Inventoried current error strings, and removed/commented out several:
- BAD_COMMENT_CHARS
  - BAD_XML_COMMENT
  - DTYPE_NOT_UPPER_CASE
  - ENCODING_IO_CONFLICT
  - INCONSISTENT_NAMESPACE
  - INCONSISTENT_VERSION
  - INDICATE_CHANGES_IN_LANGUAGE
  - UNESCAPED_ELEMENT
  - XML_ATTRIBUTE_VALUE
Re-sorted new tidy options.
All tests passing.
Bump version to reflect strings that are externally accessible to API.
2017-08-31 12:57:58 -04:00
Jim Derry 38814f9e3b Sort message labels for simpler inventorying. 2017-08-31 10:57:54 -04:00
Jim Derry e1cbafd647 Handle message outlook properly in messageOut(). 2017-08-31 10:44:16 -04:00
Jim Derry e5eb09198d Begin migration towards "one output function to rule them all." Consolidated
the basic reporting functions that share the same signature. This also resulted
in eliminating a string, and adding a new string to disambiguate between
errors and warnings.
2017-08-30 20:01:44 -04:00
Jim Derry 1562c42c2e Merge branch 'next' into issue-456
Manually fixed merge commits.
2017-08-28 15:17:10 -04:00
Jim Derry 7badd93417 Geenrated en_gb language from the PR'd PO. Version bump for recent PR's. 2017-08-28 14:29:02 -04:00
Jim Derry 1f3cf24e82 Merge pull request #590 from mthorpe7/fix_upstream_crash
Fix NULL pointer issue with Word2000 empty attributes.
2017-08-28 14:25:35 -04:00
Jim Derry 6533181edf Merge pull request #583 from htacg/issue-582
Issue #582 - Remove extra new line in 'classic' mode
2017-08-28 14:24:26 -04:00
Michael Thorpe 52465c6142
Fix NULL pointer issue with Word2000 empty attributes.
This appears to be an issue with Word2000 handling of empty attributes.

A reproduction case can be seen here:

```
$ cat test.html
<html xmlns:o="urn:schemas-microsoft-com:office:office">
    <body>
        <table>
            <img class="" />
        </table>
    </body>
</html>

$ ./tidy --tidy-mark no --word-2000 yes test.html
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 3 column 1 - Warning: <img> isn't allowed in <table> elements
line 2 column 1 - Info: <table> previously mentioned
line 1 column 57 - Warning: inserting missing 'title' element
line 3 column 1 - Warning: <img> lacks "alt" attribute
line 3 column 1 - Warning: <img> lacks "src" attribute
line 2 column 1 - Warning: trimming empty <table>
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:o"
[2]    52405 segmentation fault  ./tidy --tidy-mark no --word-2000 yes test.html
```

This was called from 6f2fb6e0e7/src/clean.c (L1710).

(It is technically undefined behaviour to call strncmp with `NULL` pointers however).
2017-08-28 15:30:28 +01:00
Jim Derry 561d43c7e5 Merge pull request #579 from htacg/issue-567-2
Issue 567 2 - style tag to head
2017-08-28 10:02:25 -04:00
Jim Derry d4a11b553e Merge pull request #577 from htacg/issue-572
Issue 572
2017-08-28 10:01:48 -04:00
Jim Derry f4c64966f0 Added TidyConfigCallback and deprecated TidyOptCallback for consistency with
the remainder of the callbacks. TidyConfigCallback is now given a reference
to the instance of the TidyDoc that caused the callback to occur.

+    TidyConfigCallback
2017-08-26 12:47:18 -04:00
Geoff McLane f7658b2c89 Issue #582 - Remove extra new line in 'classic' mode 2017-08-04 14:23:14 +02:00
Geoff McLane 09f1806834 Issue #572 - discard an all space text node.
An earlier patch now passes back an all space text node. Previously this
would have been skipped. So add code in ParseList to detect, and discard
such a node.

Change committed:
	modified:   src/parser.c
2017-07-08 19:45:42 +02:00
Geoff McLane f26a068809 Issue #572 - More conditions for #396 2017-07-02 21:10:20 +02:00
Geoff McLane 50859e8258 Issue #567 - add option, messages, and fix node iteration.
Add option TidyStyleTags, --fix-style-tags, Bool, to turn off
this action.

Add warning messages MOVED_STYLE_TO_HEAD, and FOUND_STYLE_IN_BODY.

Fully iterate ALL nodes in the body, in search of style tags...

Changes to be committed:
	modified:   include/tidyenum.h
	modified:   src/clean.c
	modified:   src/config.c
	modified:   src/language_en.h
	modified:   src/message.c
2017-06-28 20:41:46 +02:00
Geoff McLane d4ca02adfb Issue #567 - Branch 'issue-567-2' to move all 'style' to 'head' 2017-06-18 20:06:24 +02:00
Geoff McLane b32e14a8ea Issue #456 - add new option show-meta-change 2017-06-09 03:11:39 +02:00
Geoff McLane 97292646f6 Issue #456 - Add 'Info:' message when charset replaced 2017-06-05 17:16:53 +02:00
Geoff McLane a4770daa2b Issue #456 - Add 'Info:' message, when meta added.
It also fixes the addition of the constant 'http-equiv="Content-Type"
attribute.
2017-06-04 20:44:02 +02:00
Geoff McLane 13b34c9d8b Issue #456 - BAH! Fix a stupid logic reversal 2017-06-04 15:41:16 +02:00
Geoff McLane e28ec72301 Merge branch 'next' into issue-456
Continue WIP #456
2017-06-04 14:59:18 +02:00
Geoff McLane eb127a5c5b Issue #550 - K&R/MSVC10 fix - message.c 2017-05-30 18:14:58 +02:00
Geoff McLane 722a841ce2 Merge branch 'next' into issue-456
This was to pick up the fix for #395, PR #564, and bumps the version to
5.5.30...
2017-05-29 14:36:14 +02:00
Geoff McLane 4136d85a9c Issue #395, #564 - Oops, restore orig char if not closing 2017-05-29 14:26:55 +02:00
Geoff McLane 40e1d64963 Issue #456 - A desparate commit to get this WIP right, but... 2017-05-27 20:13:51 +02:00
Geoff McLane 8a932f96eb Issue #456 - Oops, incorrect merge conflict 2017-05-27 18:52:49 +02:00
Geoff McLane 049bc6c288 mERGE branch 'next' into issue-456 2017-05-27 18:35:01 +02:00
Geoff McLane c61b5b7b0c Merge branch 'next' into issue-395 2017-05-27 18:20:28 +02:00
Geoff McLane 825ad59262 Merge branch 'next' into issue-392 2017-05-27 16:25:24 +02:00
Jim Derry 47c27ecf8e Generated French header file; bumped to 5.5.26 for updated French language. 2017-05-21 14:29:13 -04:00
Jim Derry 996ddb813d Merge pull request #554 from htacg/issue-365
Issue 365
2017-05-21 14:24:03 -04:00
Geoff McLane c9c1d7ae55 Issue #395 - a potential fix 2017-05-21 01:47:36 +02:00
Geoff McLane 6f05041b5e Issue #392 - a simple fix, but maybe incomplete 2017-05-21 00:18:43 +02:00
Geoff McLane ec03beb361 Issue #552 - remove no 'case default:' warning in most gcc versions
Seems too small for a version bump. Closes #552
2017-05-19 18:38:01 +02:00
Geoff McLane 21f008501a Issue #456 - Oops, also out of 'lexer.h' 2017-05-15 16:51:34 +02:00
Geoff McLane a7a4cd6a16 Issue #456 - avoid head work if showing body only 2017-05-15 16:42:49 +02:00
Geoff McLane f310f1d5de Issue #456 - Move new TidyMetaCharset to clean 2017-05-15 16:39:53 +02:00
Geoff McLane 6ebd12be67 Issue #456 - More work on this option 2017-05-14 19:08:29 +02:00
Jim Derry 9b2cd06711 Merge branch 'next' into issue-365 2017-05-13 22:27:14 -04:00
Jim Derry 66d0825e58 Merge pull request #557 from htacg/update_langs
Update languages against current English.
2017-05-13 22:24:43 -04:00
Jim Derry 5791c55081 Update languages against current English. 2017-05-13 21:07:02 -04:00
Jim Derry 0f1e625324 Address #378
Addresses issue #378 by NOT emitting warnings if `fix-uri` is `no`, for HTML5
documents. This preserves existing behavior for legacy document types.
2017-05-13 20:46:48 -04:00
Jim Derry d18b21b94c Merge branch 'next' into issue-365 2017-05-13 19:55:19 -04:00
Jim Derry b6bf48c24a Merge pull request #553 from htacg/new_picklists
New picklists and parsers
2017-05-13 19:50:20 -04:00
Jim Derry a399725a1e Fixed ParseAutoBool error. 2017-05-13 11:39:13 -04:00
Geoff McLane 8843199370 Issue #456 - Merge branch 'meta-charset' of tidy-html5-marco.
This pulls the work done by @marcoscaceres WIP #458 into the issue-456
branch, to complete the new add-meta-charset option.
2017-05-13 16:02:26 +02:00
Jim Derry 982504eee0 Case insensitive compare is safe here, and prevents erroneous propriertary attribute errors. 2017-05-12 08:28:11 -04:00
Jim Derry e7c28636b9 Fixed cause of assertions -- funny, these don't pop up in XCode. 2017-05-12 07:30:20 -04:00
Jim Derry 29766afcfd Initial take on issue 365. This is based off of the simplification of the
parser and picklist system. Console application needs to be updated to fix
the description, as it shows autobool, and for some reason on the current
system I'm not getting assertion failures.
2017-05-11 18:12:56 -04:00
Jim Derry 7112fba553 Merge pull request #549 from htacg/issue_391
Address #391. Tested on macOS and Win10.
2017-05-11 15:24:44 -04:00
Jim Derry aeb9a24fab Refactor Picklists and Option Parsers
This PR refactors how picklists and option parsers are implemented in LibTidy,
making is vastly easier to implement new picklists in the future, as well as
modify some of the existing picklists such that they have more logical names.

Picklist arrays are now arrays of structures that include the possible strings
capable of setting a particular option value, and a new parser has been written
to work with these structures.

In addition, several of the existing parsers were removed, as they are now
redundant, and a couple of the remaining parsers were refactored to take
advantage of the new parser.

In effect, this means that:

- New parsers don't have to be written in the majority of cases where new
  options are added that exceed yes/no/auto.
- Some of the existing options can have more meaningful names than yes/no/auto,
  in a backward compatible way. For example, vertical-spacing "auto" currently
  in no way reflects "auto" when used.
2017-05-11 14:40:21 -04:00
Geoff McLane f7e7554c95 Close the file before the _WIN32 switch 2017-05-09 19:24:20 +02:00
Jim Derry acaab679c5 Merge pull request #547 from htacg/issue_352
Attempt to address issue #352.
2017-05-08 17:36:52 -04:00
Geoff McLane 77420b94d0 Fix for 'isalnum' in Windows
According to the MSN documentation 'isalnum(c)' is only valid when c equals
EOF, or is in the range 0 to 255 inclusive. It states the behavior is
undefined outside this range, and in Debug mode triggers an assert dialog.
2017-05-08 18:42:33 +02:00
Jim Derry ce105dcf09 Address #391. Tested on macOS and Win10.
- Add a check upon opening a file for validity of the file.
- Add a new message to indicate that the path is not a file.
2017-05-07 17:04:53 -04:00
Jim Derry fd77312175 Attempt to address issue #352. This patch correctly address the specific issues
in #352, but I'm worried that there's some over-reach here.

Currently only implemented as a warning, with no switch to turn it off, which
maintains current behavior other than the warning.

In general, we're treating any string as a complete URL, rather than breaking
URL's into component parts. Thus the `IsURLCodePoint()` check includes a few
other generic characters that strictly speaking aren't valid codepoints, but
are valid as escape characters and delimiters.

When addressing #338, I ran into a similar situation in not having a built-in
method to separate path components (although a simple generalized solution was
good enough in that case).

Thus without introducing a new structure and functions to deconstruct a URL
into scheme, authority, path, parameters, etc., some variation of this patch
will have to be used to address #352.
2017-05-06 18:54:42 -04:00
Jim Derry 09d1802298 Merge branch 'next' into deprecations 2017-05-06 14:34:48 -04:00
Geoff McLane fd2400d55b Merge pull request #543 from htacg/issue-436
Small documentation change to close #436
2017-05-06 15:44:45 +02:00
Geoff McLane d4978608e7 Merge pull request #537 from deathbaba/next
Correctly process 'bookmarks' in html exported from Google Doc.
2017-05-06 15:35:57 +02:00
Geoff McLane 6839dfe601 Merge pull request #541 from htacg/issue_338
Issue #338 - fix 3 spurious access level 3 warnings...
2017-05-06 15:20:55 +02:00
Geoff McLane 6da0fff256 Merge pull request #532 from lhchavez/add-warn-prop-attrs
Add a flag to warn on proprietary attributes
2017-05-06 14:48:36 +02:00
Jim Derry 846b3cde55 Address #436 just to close it. 2017-05-04 13:45:06 -04:00
Geoff McLane d142527a8e Issue #338 - Deal with two other spurious access warnings 2017-05-04 17:36:39 +02:00