Release Notes
Directive 'code-block':
- Allow the 'states' executable to be found anywhere on the path, but
check standard locations first.
Writer 'latex':
- Sort the dependent usepackage modules so that there is a canonical
order for regression testing
Writer 'index':
- Sort the inline targets so that there is a canonical order for
regression testing
There were no functional changes in this release.
Fixed the latex simple test not to use a code-block directive, which
compiles differently on different machines.
reStructuredText transforms:
- Fixed a bug with hyperlink resolution when a chained target went to
an indirect target to an internal target.
Writer 'index':
- Fixed a bug in dealing with raw DOM objects.
Writer 'latex':
- Fixed bugs in line blocks
- Fixed bugs in parsed literals
- Fixed a bug where a paragraph ending in an interpreted text item did
not result in a new paragraph
- Fixed a bug with processing quotes around marked up text
- Fixed a bug with special characters in options
- Added support for outputting mathml to latex (requires
Text::ASCIIMathML 0.4 or later)
There were no functional changes in this release.
- Fixed some tests and expects to be compatible with perl 5.9.5.
- Modified Makefile.PL hopefully to be compatible with more versions
of make.
- Changed the way the system plug-in directive gets the message from
STDERR so that it will hopefully be compatible with more systems.
prest script:
- Generated a fatal error if an input file cannot be opened.
ReStructuredText parsing:
- The target role now keeps the case of the target in creating its
name.
Writer 'html':
- Process the :class: option on images.
- If the "-W image-exts" option is used (it's actually deprecated in
favor of "-D image-exts"), the default alt attribute now also uses
the substituted extension.
Writer 'index':
- Improved help text.
- Added "-W index-indirect-targets" option.
- Added "-W index-role-target" option.
Writer 'xref':
- Added a "-W xref-role-target" option to specify which target role
(if any) should be used for cross references.
- The "-W xref-role-targets" option has been removed.
In general:
- Recoded to remove most dependencies on internal structure of DOM
objects outside of DOM.pm.
ReStructuredText parsing:
- Added a "target" role that allows separation of inline target tags
from the text that is displayed.
- Fixed a bug where, if two items in an enumerated list occurred with
no blank line between them and a third item was separated by a blank
line, the third item was put into a separate list.
Directive 'perl':
- Exported the following new global variables: $DIRECTIVE and
$PARSER.
Writer 'html':
- Mark a single paragraph in a compound as both class "compound-first"
and "compound-last".
- Fixed a bug where a class attribute on a field list did not
propagate to the output.
- Fixed a bug where an align attribute on a table did not propagate to
the output.
Writer 'index':
- Implemented the '-W doc-titles' and '-W index-role-targets' options.
- Output nothing instead of an empty table if there are no index
entries.
Writer 'xref':
- Added the -W xref-role-targets option.
- Allowed the suffix to be an empty string.
- Fixed problem with find command in Makefile.PL that used a Linuxism.
- Made most of the perl modules use the subversion release as version number.
- Renamed ReleaseNotes.txt to ChangeLog so that it will appear as a
special file on CPAN.
- Made one more effort to fix the indexing of version numbers.
- Create lib/Text/Restructured.pm from lib/Text/Restructured.pm.PL so
we can insert the version number in to allow CPAN to index it
correctly.
- Fixed a problem with creating regular-expression expects for tests.
Fixed problem with CPAN indexing of versions.
- Completely reworked the regression test structure so as not to be
dependent upon GNU make.
Writers 'dom' and 'xml':
- Fixed a bug with attribute strings that contain double quotes.
- Fixed a problem with Makefile.PL.
ReStructuredText parsing:
- Don't write messages to STDERR for errors in directives in test
data.
Writer 'html':
- Fixed a problem with quote markes in "alt" image text.
- Added "-W body-only" flag.
- Fixed problems with running with -T.
- Fixed Makefile.
- Fixed the help to parse as reStructuredText.
- Execute evals in Text::Restructured::Writer::Eval instead of Eval_::.
- Initialize some of the opt variables to avoid warnings if not driven
by prest.
ReStructuredText parsing:
- Added "-D image-exts" flag so that each writer doesn't have to
support the functionality separately.
Writer 'html':
- Added "-W enum-list-prefixes" flag.
- Documentation deprecates "-W image-exts".
Writer 'latex':
- Be more lenient about including graphics for files that aren't in
the current directory.
- Fixed the processing of raw DOM elements to ignore those not
intended for latex.
- Added a newline before admonitions so they're processed in vertical
mode.
Writer 'toc':
- Added "-W parent-role" flag.
Updated the toc writer to have expanded abilities with the -W
file-suffix option.
Fixed the Makefile.PL so that hopefully at least some platforms will
pass regression tests.
Added release notes to the prest documentation.
Made the html, toc, and xref writers compatible with
non-breaking spaces in Perl 5.8.0 implementation of Unicode. (Unicode
implementation was fixed in Perl 5.8.6.)
All -D or -W option names can use either hyphens ("-") or
underscores ("_") for word separators; internally everything uses
underscores.
reStructuredText parsing:
- Added hyphens to the following -D options: entry-attr,
include-ext, include-path, nest-inline, perl-path,
row-attr, table-attr.
- Added the following -D options: file-insertion-enabled,
ignore-include-errs, raw-enabled.
- Fixed a bug where explicit targets were not permitted within an
embedded url (e.g., 'reference <#explicit-target>').
- Don't consider targets defined on the same source/line number to be
duplicate targets (can happen with multiply-included files).
- Fixed the checking for inconsistent title levels to be more robust.
- Keep an @INCLUDES array to keep track of the include stack. This
variable can be accessed in a perl/if directive.
- Fixed a bug where large grid tables could result in a deep
recursion error.
reStructuredText transforms:
- Added the -D docinfo-levels option.
- Changed the documentation to show the -D options with hyphens ("-")
instead of underscores ("_") separting words.
- The sectnum directive now processes starting from its containing
section, rather than from the top of the DOM tree.
Directive 'raw':
Directive 'if':
- Export the $SOURCE, $LINE, and @INCLUDES for use in Perl
code.
Directive 'perl':
- Implemented :file: option.
- Exported @INCLUDES.
Directive 'sectnum':
- Added a :prefix-title: option.
Writer 'html':
- Inserted hyphen in the -W body-attr option.
- Updated for adding hyphens to the following -D options:
table-attr, entry-attr, row-attr.
- Added -W image-exts option.
- Added support for :head: option of raw DOM.
- Fixed a bug with targets.
- Fixed a potential undefined variable warning for footnote references.
Writer 'index':
- Changed documentation for -W options to use hyphens ("-") instead of
underscores ("_") between words.
- Implemented -W output-header and -W title-underline options.
- Changed implementation to use a compound directive instead of a
raw directive to set the class for the generated contents.
- Removed a potential undefined variable warning for indirect targets.
Writer 'toc':
- Updated documentation to show -W options with hyphens ("-") instead of
underscores ("_") to separate words.
- Restructured for simplicity.
- Changed the way non-breaking spaces are removed from generated DOM
objects since the auto-numbering may have things other than numbers
in it.
Writer 'xref':
- Added the following -W options: appendix, chapter,
section, xref-sections, xref-targets.
- Restructured the code for simplification.
Added support for ascii-mathml role and directive to produce mathml
markup. The mathml markup is only supported in the dom and html
writers for now.
Went through code coverage reports and updated the tests to bring the
line and condition coverage up to 100% (except the soon-to-be-outdated
latex writer). This analysis resulted in the following fixes:
Prest application:
- Fixed a bug where help prints out multiple times if there are
duplicate writers.
- Relocated all the code for parsing and interpreting writer schemas
to Text::Restructured::Writer.
- Fixed the version number not to end with a period.
- Don't use FindBin to append the directory in which the script is
found to its @INC path.
- Don't convert digits in -W options to underscores.
- Removed code for parsing DOM files to Text::Restructured::DOM::Parse.
- Insert blank line in usage before "Descriptions of Plug-in
Directives" and "Descriptions of Writers".
reStructuredText parsing:
- Stricter option checking in most directives.
- Removed package globals and incorporated into a parser object.
- Initialize ANONYMOUS_TARGETS in init.
- Fixed the handling of inline literals in definition lists.
- Put a system message in the document rather than dying if a plug-in
directive fails to compile.
- Simplified the code by removing tests whose conditions were
invariant.
- Fixed an infinite loop that could come up in processing nested
inline markup.
- Fixed an infinite loop that could come up if a line block started
with two or more blank lines.
- Fixed the removal of inline markup characters from normalized names.
- Have include directive do nothing if the file is empty, as opposed
to returning an empty paragraph.
- Added checks for the :prefix: and :suffix: options to the
role directive to be sure they're formatted correctly.
- Return a system message if the title in a table-type directive is
not a single paragraph.
- Merged the code for csv-table and list-table directives to the
extent possible.
- Fixed the :class: option for target-notes.
reStructuredText transforms:
- Simplified code by removing branches whose conditions were
invariant.
- Return a system message if evaluating transform code results in an
error.
- Process :class: option for target-notes directive.
- Allow decorations transform to put in link to prest documentation if
DOCURL is specified.
Directive 'code_block':
- Added -D code-block-states-file option.
- Do line numbering whether or not states can be run if
:numbered:.
Directive 'system':
- Return a PCDATA DOM if in a substitution definition context (instead
of appending it).
- Don't add a null paragraph if the text is empty.
Writer 'dom':
- Updated to use $writer argument to access ProcessDOMPhase.
Writer 'html':
- Changed the semantics of -W embed-stylesheet and -W stylesheet.
- Added -W stylesheet2 option to specify a secondary embedded stylesheet.
- Changed default of -W field-limit to 14 from 15.
- Reworked so all the writer's annotations are in DOM's {_html} member.
- Reworked so that DOM's {attr} member is read-only; HTML attributes
are all copied to {_html}{attr} member.
- Factored out much of the attribute handling into a GetAttr routine.
- Fixed output of literals embedded in literals.
Writer 'index':
- Restructured code for simplification
- Pass the a writer argument into QuoteStart.
- Fixed processing of -W short-titles.
- Added handler for interpreted roles.
Writer 'toc':
- Simplified code for generated.
Writer 'xref':
- Simplified code for substitution definitions.
Updated manifest to add files that will allow the regression to pass
on machines with differing locales.
Added test files to fix problems when different locales use different
text for system error messages.
Prest application:
- Fixed problem that caused bare subroutines in writers to be compiled
more than once.
- Removed the path out of the subroutine names created when compiling
writer routines.
- Fixed the #line directives for writer subroutines so that better
error messages/coverage results are obtained.
Made writers more efficient by renaming package subroutines to BEGIN
so that they will always be called exactly once.
Writer 'html':
- Incorporated changes in docutils html writer:
- No longer change double-quotes to """.
- No longer put a newline after a <pre>.
First release that was indexable on CPAN.