Commit graph

84 commits

Author SHA1 Message Date
Jim Derry 81b7fe3251 Merging changes from Next. These do not affect the binary, so no version bump. 2021-07-16 19:42:23 -04:00
Jim Derry dfad115417 Merge branch 'next' 2021-07-10 16:53:56 -04:00
Jim Derry c044ab323e
Update Info.plist.in 2021-05-21 08:23:10 -04:00
Jim Derry cfcf6b7667 Add support for the required Info.plist to the Tidy console application, thus enabling
notarization support that's now required on macOS.

Unlike the similar pull request on the master branch, this one ensures that the proper
version is always used, via the same mechanism that CMakeLists uses to set the version.
2021-04-28 14:47:50 -04:00
Jim Derry a6e5c9ec1b macOS requires embedding plist files in order to enable modern security features such
as enabling the hardened runtime and notarizing executables and disk images containing
them. This change provides a plist file to be embedded, and modifies the linker flags
for macOS targets in order to include the plist in the binary. This is done to the
Mach O executable in a backwards-compatible way, and has been tested as far back as
macOS 10.12 High Sierra.

Note: expect to carry this forward to 'next' branch; however this is being applied
to current official release master version 5.6.0 so that release disk images can be
notarized.
2021-04-28 10:20:51 -04:00
Geoff McLane dcf56a18ca
Merge pull request #809 from htacg/issue-791
Pr #809 - free some -xml-help allocations in tidy.c - closes #791
2019-06-07 20:31:47 +02:00
Geoff R. McLane 1d74ed8f27 Is. #791 - free some allocations 2019-01-09 20:55:33 +01:00
林博仁(Buo-ren, Lin) edc70c52be Is. #781 - Drop redundant blank lines in -help
Fixes #781.
2018-11-29 16:59:43 +08:00
Geoff McLane ddc68b4b71
Merge pull request #722 from htacg/issue-721
Is #721 - cast away some gcc warnings - PR #722
2018-04-24 18:30:35 +02:00
Geoff McLane afcea7c920 Is #713 - show-filename to errout when no warnings 2018-04-24 15:15:23 +02:00
Geoff R. McLane 74fe3e0766 Is #721 - cast away some gcc warnings 2018-04-20 19:56:35 +02:00
Geoff McLane bb7c494657 Is #679 - add 'priority-attributes' to -show-config 2018-02-19 17:22:12 +01:00
Geoff McLane ea4ae0dd13 Is #679 - some fixes for -export-config 2018-02-19 03:21:04 +01:00
Jim Derry e6c891ea00 Doctype made no sense! It was a write-only property in some cases, and uses
itself and DoctypeMode to make up for Tidy's ability to store only a single
value for an option. It's a little bit special relative to every single other
option, in that it's declared as a string, but also has a picklist. This change
makes Doctype behave in the way every other Tidy option behaves, and treats
Doctype as a string, but also supports selection via the picklist.
2017-11-17 08:11:22 -05:00
Jim Derry 57f623eb7c Updated PR to make LIBRARY default to the environment language, rather than just console tidy. 2017-10-31 17:41:32 -04:00
Jim Derry cc023c26b7 Address #639. 2017-10-30 07:53:35 -04:00
Jim Derry 9c96551fe0 Merge branch 'issue-604' into next 2017-10-19 17:37:22 -04:00
Jim Derry feb0811ba2 Use the new tidyPlatform() in console, and fix (!!) bug where no platform is defined. 2017-10-19 17:16:59 -04:00
Geoff McLane 3b154dc407 Issue #604 - Try to fix. Initial cut. WIP 2017-10-13 20:50:53 +02:00
Jim Derry 0977aa6077 Removed dependency on NDEBUG, and introduced ENABLE_DEBUG_LOG in CMakeLists.txt.
By default Windows will continue to show SPRTF output, and other platforms will
require the -DENABLE_DEBUG_LOG to be set in default (debug) configurations.

Debug and Release builds on macOS, Windows 10, and Ubuntu 16.04 confirmed
working as most people expect.
2017-10-07 14:56:01 -04:00
Jim Derry a413b1264b Merge branch 'next' into options_categories 2017-10-05 15:15:36 -04:00
Jim Derry fa30773938 Centralize control of message output to the messageOut() method in order to:
- Prevent the message filter from missing possible messages due to dispered
    control.
  - Single decision point for the types of messages to be output given current
    conditions and options settings.
2017-10-05 15:04:22 -04:00
Jim Derry bd3503eea5 Changed the XML classes to use the string representation of the key rather than
the translated string of they key, which fix manpage and quickref generation in
non-default locales.

As a result the translated strings are no longer used and have been deleted.
2017-10-05 09:31:25 -04:00
Jim Derry 4fa26f4f5d Affects documentation only: updates the manpage (and soon the quickref) by
breaking up the existing options into several more logical categories.
2017-10-04 12:24:07 -04:00
Jim Derry dedcb7bb4d SPRTF is now compatible with macOS and Linux, and most likely all supported
platforms.
2017-10-03 22:31:55 -04:00
Jim Derry a137c068e5 Added debug to several files. WIP 2017-10-03 20:56:50 -04:00
Jim Derry 4e3c1a1562 Move all of the sprtf includes into tidyplatform.h 2017-10-03 20:42:29 -04:00
Jim Derry 1cd0438849 Standard Library file header; termporary notes for me. 2017-10-03 18:08:10 -04:00
Jim Derry 5ff6aa8a8b Not sure how this got missed... 2017-10-03 14:46:29 -04:00
Jim Derry 238b8f0a66 Wipe out dead code. We use git for a reason, so it's never really deleted. 2017-10-03 13:56:31 -04:00
Jim Derry a1e4dcc066 Removed option for SUPPORT_ACCESSIBILITY_CHECKS, regen'd strings. 2017-10-03 12:45:34 -04:00
Jim Derry dfa2501928 Removed option for SUPPORT_ASIAN_ENCODINGS, and regen'd strings. 2017-10-03 12:37:23 -04:00
Jim Derry 2758939406 Removed SUPPORT_UTF16_ENCODINGS, and regen'd strings. 2017-10-03 12:26:38 -04:00
Jim Derry 9c6a1e47ae Added -export-config and -export-default-config so that users can generate a
starting config style with every option, suitable for rc files.
2017-10-01 19:49:44 -04:00
Jim Derry 393fdfda3f Updated the man page and the help output. 2017-10-01 19:19:47 -04:00
Jim Derry 1ad3241d3c Updated documentation to reflect the rc files Tidy will use on Unix systems,
and added a new -help-env service that intelligently displays information about
$HTML_TIDY, rc files, and application order.
2017-10-01 18:58:17 -04:00
Jim Derry a4e0409323 Address #584
Modify the build system to assume config files by default. Modify tidyplatform
to accomodate these changes. Reformat tidyplatform for friendliness to new
developers.
2017-10-01 10:37:49 -04:00
Geoff R. McLane 18f52d5916 Change perm back to 0664, from 0755, for tidy.c 2017-09-28 16:43:47 +02:00
Jim Derry 20a1b7bb69 Updated documentation relating to new option. 2017-09-23 07:53:57 -04:00
Jim Derry cf6f47ca1c Squelch some MSVC 2010 warnings, and reset indentation in tidy.c. No version bump. 2017-09-22 17:27:49 -04:00
Geoff McLane 3e27882109 Issue #597 - Add WIN CRT memory debug in tidy.c 2017-09-17 16:27:17 +02:00
Geoff McLane 2c096dfa68 Issue #550 - K&R/MSVC10 fix - tidy.c 2017-05-30 18:15:25 +02:00
Jim Derry 08399b5203 Cleanup -help-config output to better show new enumerator types from new parsers and picklists. 2017-05-12 10:52:59 -04:00
Jim Derry 49b833f63b WIP 2017-05-03 18:16:03 -04:00
Jim Derry ce1e638a0f Added documentation to tidy.c for potential developers to look at and
understand.

- No version bump as no API was changed; just comments and reorganization.
- Built and tested in macOS, Win10, and Ubuntu.
2017-04-04 14:07:20 -04:00
Geoff McLane 73f68e2b2a Issue #119 - remove old debug code 2017-03-17 18:02:11 +01:00
Jim Derry 66de84bc2b - Add support for the is attribute.
- Add support for autonomous custom elements.
2017-03-13 13:45:32 -04:00
Jim Derry 11178d775b Massive Revamp of the Messaging System
This is a rather large refactoring of Tidy's messaging system. This was done
mostly to allow non-C libraries that cannot adequately take advantage of
arg_lists a chance to query report filter information for information related
to arguments used in constructing an error message.

Three main goals were in mind for this project:

- Don't change the contents of Tidy's existing output sinks. This will ensure
  that changes do no affect console Tidy users, or LibTidy users who use the
  output sinks directly. This was accomplished 100% other than some improved
  cosmetics in the output. See tidy-html5-tests repository, the `refactor` and
  `more_messages_changes` branches for these minor diffs.
- Provide an API that is simple and also extensible without having to write new
  error filters all the time. This was accomplished by adding the new message
  callback `TidyMessageCallback` that provides callback functions an opaque
  object representing the message, and an API to query the message for wanted
  details. With this, we should never have to add a new callback routine again,
  as additional API can simply be written against the opaque object.
- The API should work the same as the rest of LibTidy's API in that it's
  consistent and only uses simple types with wide interoperability with other
  languages. Thanks to @gagern who suggested the model for the API in #409.
  Although the API uses the "Tidy" way off accessing data via an iterator
  rather than an index, this can be easily abstracted in the target language.

There are two *major* API breaking changes:

- Removed TidyReportFilter2
  - This was only used by one application in the entire world, and was a hacky
    kludge that served its purpose. TidyReportCallback (né TidyReportFilter3)
    is much better. If, for some reason, this affects you, I recommend using
    TidyReportCallback instead. It's a minor change for your application.
- Renamed TidyReportFilter3 to TidyReportCallback
  - This name is much more semantic, and much more sensible in light of
    improved callback system. As the name implies, it remains capable of
    *only* receiving callbacks for Tidy "reports."

Introducing TidyMessageCallback, and a new message interrogation API.

- As its name implies, it is able to capture (and optionally suppress) *all*
  of Tidy's output, including the dialogue messages that never make it to
  the existing report filters.
- Provides an opaque `TidyMessage` and an API that can be used to query against
  it to find the juicy goodness inside.
  - For example, `tidyGetMessageOutput( tmessage )` will return the complete,
    localized message.
  - Another example, `tidyGetMessageLine( tmessage )` will return the line the
    message applies to.
- You can also get information about the individual arguments that make up a
  message. By using the `tidyGetMessageArguments( tmessage )` itorator and
  `tidyGetNextMessageArgument` you will obtain an opaque `TidyMessageArgument`
  which has its own interrogation API. For example:
    - tidyGetArgType( tmessage, &iterator );
    - tidyGetArgFormat( tmessage, &iterator );
    - tidyGetArgValueString( tmessage, &iterator );
    - …and so on.

Other major changes include refactoring `messages.c` to use the new message
"object" directly when emitting messages to the console or output sinks. This
allowed replacement of a lot of specialized functions with generalized ones.

Some of this generalizing involved modifications to the `language_xx.h` header
files, and these are all positive improvements even without the above changes.
2017-03-13 13:28:57 -04:00
Jim Derry 4dc8a2cf9a Bump version to 5.5.5 for this fiasco, and fix poor planning and unfortunate
merge.
  - Sort all of the existing options and re-indent per Tidy standards. This is
    simply for cosmetic effect.
  - Allow the iterator to return all options again, even "internal" options.
    Things are too embedded with N_TIDY_OPTIONS, etc., to try to hide them.
  - Instead, simply add documentation to LibTidy users that they shouldn't use
    internal options.
  - Also added `TidyInternalCategory` to `TidyConfigCategory` without adding a
    new field to the struct. API users should check for this category before
    use.
  - Defined a two character macro for `TidyInternalCategory` for use in
    `option_defs[]`.
  - Changed struct `option_defs[]` to reflect the new category for affected
    options.
  - Removed string indicating * refers to internal options, since it no longer
    applies.
  - Regen'd all strings for previous point.
  - `tidy.c` now checks for `TidyInternalCategory` everywhere in order to
    suppress output.
2017-03-10 09:13:21 -05:00
Jim Derry ac242e9ea4 hotfix 2017-03-09 19:56:16 -05:00