Bot releases are hidden (Show)
Published by jgm about 9 years ago
pre
from blocktags scanner. pre
is handled separatelyiframe
to list of blocktags, as per spec change.HRULE
after blank line. This previously caused cmarkS_process_line
ends with \n
(#72).S_process_line
sees only unix style line endings. Ultimately wecmark_strbuf_normalize_whitespace
(#73). Now all characterscmark_isspace
are recognized as whitespace. Previously\r
and \t
(and others) weren't included.--hardbreaks
with \r\n
line breaks (#68).#
s in ATX headercmark_strbuf_printf
and cmark_strbuf_vprintf
.HAVE_VA_COPY
and HAVE_C99_SNPRINTF
feature tests.CMARK_INLINE
macro.FileNotFoundError
errors on tests when cmark is built fromadd_subdirectory()
(Kevin Wojniak).utf8proc
functions to avoid conflict with existing library.pdb
files (Nick Wellnhofer).smart_punct.txt
(see jgm/commonmark.js#61).POSITION_INDEPENDENT_CODE
ON
for static library (see #39).make bench
: allow overriding BENCHFILE
. Previously if you didBENCHFILE
with the default bench file.make bench
: Use -10 priority with renice.make_autolink
. Ensures that title is chunk with emptyclang-check
target.roundtrip_test
and leakcheck
(OGINO Masanori).format
target to Makefile. Removed astyle
target..editorconfig
.Published by jgm over 9 years ago
cmark_render_latex
. New source file: src/latex.hs
.html_block_tag
scanner.html_block_start
and html_block_start_7
, as wellhtml_block_end_n
for n = 1-5. Rewrote block parser for new HTMLCMARK_OPT_VALIDATE_UTF8
option and command-line option--validate-utf8
. This option causes cmark to check for validCMARK_OPT_SAFE
option and --safe
command-line flag.
CMARK_OPT_SAFE
. This option disables rendering of raw HTML--safe
option in command-line program.cmark.3
man page.scan_dangerous_url
to scanners.CMARK_OPT_SAFE
. Dangerous URLs are those that beginjavascript:
, vbscript:
, file:
, or data:
(except forimage/png
, image/gif
, image/jpeg
, or image/webp
mime types).api_test
for OPT_CMARK_SAFE
.README.md
on security.render_man
(API change).renderer.[ch]
(#63). To write acmark_render
!
.[link](foo\(and\(bar\)\))
\
followed bytest/smart_punct.txt
.--smart
, convertingprocess_emphasis
: Fixed setting lower bound to potential openers.potential_openers
-> openers_bottom
.start_delim
-> stack_bottom
.pathological_test.py
.subject_from_buffer
. This gives bad results infinalize
removes the bytes parsed as a reference definition;column
and first_nonspace_column
fields to parser
.houdini_html_u.c
. An example of the kind of error that was fixed:≧̸
should be rendered as "≧̸" (U+02267 U+00338), but it was≧
).src/html_unescape.gperf
and src/html_unescape.h
.src/entities.h
(generated by tools/make_entities_h.py
).houdini_html_u.c
, andsrc/entities.h
.entities.h
-> entities.inc
, andtools/make_entities_h.py
-> tools/make_entitis_inc.py
.[ref]: url "title" ok
inlines.c
: Added utility functions to skip spaces and line endings.process_line
: Removed "add newline if line doesn't have one."process_emphasis
."*a_ " * 20000
.process_emphasis
to handle new pathological cases.potential_openers
),potential_openers
process_inlines
: remove closers from delim stack when possible."a_ " * 20000
(jgm/commonmark.js#43).spec_tests.py
: allow →
for tab in HTML examples.normalize.py
: don't collapse whitespace in pre contexts.-m none
, added CMARK_OPTS
.make afl
instructions.cmark.3
to 72 character line width.debug.h
. (It uses GNU extensions, and we don't need it anyway.)Published by jgm over 9 years ago
api_test
.cmark_chunk
rather than char *
.cmark_consolidate_text_nodes
(#32).is_autolink
in the CommonMark renderer (#50). Previously anysnprintf
on Windows (Nick Wellnhofer). On Windows,snprintf
returns -1 if the output was truncated. Fall back to_scprintf
.cmark_markdown_to_html
,cmark_parser_feed
, and cmark_parse_document
from int
size_t
(#53, Nick Wellnhofer).bufsize_t
for all string sizes and indices.strbuf
code, checking for integer overflows andcmark_strbuf_attach
(Nick Wellnhofer).-Wshorten-64-to-32
warns about (Nick Wellnhofer).cmark_strbuf_safe_strlen
that convertssize_t
to bufsize_t
and throws an error in case ofstrbuf
out of memory errors (Nick Wellnhofer).buffer
library that do not affectS_find_first_nonspace
in S_proces_line
.offset
, first_nonspace
, indent
, and blank
cmark_parser
struct. This just removes some repetition.-pg
from Debug build flags (#47).make leakcheck
. We now return an error status if anything--smart
and --normalize
options.wrapper3.py
, made wrapper.py
work with python 2 and 3.wrapper.rb
, added argument for options.Published by jgm over 9 years ago
_
emphasis parsing to conform to spec (jgm/CommonMark#317).spec.txt
.-DCMARK_STATIC_DEFINE
(Nick Wellnhofer).CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS
to suppress warnings.appveyor.yml
).os.path.join
in test/cmark.py
for proper cross-platform paths.Makefile.nmake
.make afl
: added test/afl_dictionary
, increased timeout for hangs.utf8proc_iterate
(#27).Published by jgm over 9 years ago
strbuf_printf
instead of snprintf
. snprintf
is not available on some platforms (Visual Studio 2013 and earlier).[link](<>)
.Published by jgm over 9 years ago
cmark_render_commonmark
. In addition to options, this takes a width
parameter. A value of 0 disables wrapping; a positive value wraps the document to the specified width. Note that width is automatically set to 0 if the CMARK_OPT_HARDBREAKS
option is set.cmark
executable now allows -t commonmark
for output as CommonMark. A --width
option has been added to specify wrapping width.roundtrip_test
Makefile target. This runs all the spec through the commonmark renderer, and then through the commonmark parser, and compares normalized HTML to the test. All tests pass with the current parser and renderer, giving us some confidence that the commonmark renderer is sufficiently robust. Eventually this should be pythonized and put in the cmake test routine.blocks.c
. By the time we check for a list start, we've already checked for a horizontal rule, so we don't need to repeat that check here. Thanks to Robin Stocker for pointing out a similar redundancy in commonmark.js.cmark_strbuf_unescape
(buffer.c
). The old function gave incorrect results on input like \\*
, since the next backslash would be treated as escaping the *
instead of being escaped itself.scanners.re
: added _scan_scheme
, scan_scheme
, used in the commonmark renderer.CMAKE_C_COMPILER
(not CC_COMPILER
) when setting C flags.CMARK_OPT_DEFAULT
(Nick Wellnhofer).cmark_markdown_to_html
.CMARK_NODE_LINK_LABEL
.make leakcheck
now checks all output formats.test/cmark.py
: set default options for markdown_to_html
.Published by jgm over 9 years ago
cmark.h
: Add missing argument to cmark_parser_new
(#12).Published by jgm over 9 years ago
make prof
target.CMARK_OPT_SMART
and --smart
option, smart.c
, smart.h
.--smart
option.cmark_parser_finish
.cmark_parse_document
, cmark_parse_file
.cmark.3
man page.options
an int rather than a long, for consistency.cmark_node
struct to fit into 128 bytes.delimiter
struct to avoid hole.parser->current
in the loop that creates newfinalize
in add_child
may have removedmake asan
will link against ASan; the$AFL_PATH
must point to the directory containing the AFLPublished by jgm over 9 years ago
cmake
is run again only when necessary (Nick Wellnhofer).INSTALL_PREFIX
to the Makefile, allowing installation to a location other than /usr/local
without invoking cmake
manually (Nick Wellnhofer).make test
now guarantees that the project will be rebuilt before tests are run (Nick Wellnhofer).CMARK_VERSION
, CMARK_VERSION_STRING
) and as symbols (cmark_version
, cmark_version_string
) (Nick Wellnhofer). All of these come from cmark_version.h
, which is constructed from a template cmark_version.h.in
and data in CMakeLists.txt
.free
on null pointer.cmark_iter_get_root
)._
.ends_with_blank_line
(#286).