Back to list

make: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
-- Found SnapCMakeModules:  -DUTC_BUILD_YEAR=2025 -DUTC_BUILD_MONTH=06 -DUTC_BUILD_MDAY=30 -DUTC_BUILD_HOUR=06 -DUTC_BUILD_MINUTE=01 -DUTC_BUILD_SECOND=07 -DUTC_BUILD_TIME_STAMP=1751263267 -DUTC_BUILD_DATE='"2025-06-30"' -DUTC_BUILD_TIME='"06:01:07"' -DCMAKE_SOURCE_DIR='"/home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp"' -DCMAKE_BINARY_DIR='"/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp"' -fdiagnostics-color -Werror -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Winit-self -Wlogical-op -Wmissing-include-dirs -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=2 -Wundef -Wno-unused -Wunused-variable -Wno-variadic-macros -Wno-parentheses -Wno-unknown-pragmas -Wwrite-strings -Wswitch -Wunused-parameter -Wfloat-equal -Wnon-virtual-dtor -Weffc++ -Wdate-time -Wno-trigraphs -fdiagnostics-show-option -DQT_DISABLE_DEPRECATED_BEFORE=0x050501 -DQT_DEPRECATED_WARNINGS -fPIC -Wimplicit-fallthrough=5 -std=gnu++23  
-- Configuring done (0.4s)
-- Generating done (0.1s)
-- Build files have been written to: /home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp
make[1]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[  5%] Building CXX object commonmarkcpp/CMakeFiles/generate_entities.dir/generate_entities.cpp.o
[ 10%] Linking CXX executable generate_entities
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 10%] Built target generate_entities
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 15%] Generating commonmark_entities.cpp
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 15%] Built target commonmark_entities
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 20%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/block.cpp.o
[ 25%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/commonmark.cpp.o
[ 30%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/features.cpp.o
[ 35%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/link.cpp.o
[ 40%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/version.cpp.o
[ 45%] Building CXX object commonmarkcpp/CMakeFiles/commonmarkcpp.dir/commonmark_entities.cpp.o
[ 50%] Linking CXX shared library libcommonmarkcpp.so
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 55%] Built target commonmarkcpp
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 60%] Generating API documentation with Doxygen
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 65%] Built target commonmarkcpp_Documentation
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 70%] Building CXX object tools/CMakeFiles/md.dir/md.cpp.o
[ 75%] Linking CXX executable md
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 75%] Built target md
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make[2]: Entering directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[ 80%] Building CXX object tests/CMakeFiles/unittest.dir/catch_main.cpp.o
[ 85%] Building CXX object tests/CMakeFiles/unittest.dir/catch_character.cpp.o
[ 90%] Building CXX object tests/CMakeFiles/unittest.dir/catch_commonmark.cpp.o
[ 95%] Building CXX object tests/CMakeFiles/unittest.dir/catch_version.cpp.o
[100%] Linking CXX executable unittest
make[2]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
[100%] Built target unittest
make[1]: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
make: Leaving directory '/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp'
../../BUILD/Debug/contrib/commonmarkcpp/tests/unittest --tmp-dir "../../BUILD/Debug/contrib/commonmarkcpp/tmp" --binary-dir "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp" --dist-dir "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/dist" --source-dir "/home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp"   --progress "" 
commonmarkcpp v1.0.0 [243457]:unittest: seed is 1751263290
source directory: "/home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp"
binary directory: "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/contrib/commonmarkcpp"
dist directory: "/home/alexis/snapwebsites/snapcpp/BUILD/Debug/dist"
temporary directory: "../../BUILD/Debug/contrib/commonmarkcpp/tmp"
Randomness seeded to: 2762643217
SECTION: cm: invalid character (null)
SECTION: cm: test basic characters
SECTION: cm: character: print hello
SECTION: cm: character: digits
SECTION: cm: test "***" -> 
---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1SECTION: cm: test "***" ->
(with a space) , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5350 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0SECTION: cm: test "***" ->
(space & no class) +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5130 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1SECTION: cm: test "***\n" ->
, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: SECTION: cm: test " ***\r\n" ->
1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac4f04 it on entry: [0x5c49d1ac4f04] --- not HTML block? -- it position: 3 -- 0x5c49d1ac4f04 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac5350 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/4) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/4) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) SECTION: cm: test "---" ->
column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5130 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ---", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: SECTION: cm: test " ---\n" ->
0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/3) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/3) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: SECTION: cm: test "---\r\n" ->
1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5350 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END SECTION: cm: test " ___" ->
+++ checking for containers (list_indent=1, f_last_line=" ___", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1abf42c it on entry: [0x5c49d1abf42c] --- not HTML block? -- it position: 1 -- 0x5c49d1abf42c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac5130 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/2) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/2) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="___ ", list?=(no parent), f_working_block->end_column()=1, has empty line? SECTION: cm: test "___ \t\n" ->
YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="_ _ _", list?=(no parent), f_working_block->end_column()=1, has empty line? YESSECTION: cm: test "_ _ _\r\n" ->
) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5350 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# H1", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) SECTION: cm: test "#... ..." -> column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1abf420 it on entry: [0x5c49d1abf420] --- not HTML block? -- it position: 0 -- 0x5c49d1abf420 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5130 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "H1" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="## H2", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5350 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="### H3", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H3" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="#### H4", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 4) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H4" - Number: 4 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="##### H5", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6110 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 5) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H4" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H5" - Number: 5 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="###### H6", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac65b0 it on entry: [0x5c49d1ac65b0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac65b0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6780 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 6) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H4" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H5" - Number: 5 + HEADER_OPEN (line/column: 6/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H6" - Number: 6 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 6) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H1" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H2" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H4" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H5" - Number: 5 + HEADER_OPEN (line/column: 6/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "H6" - Number: 6 - * -------------------------------------------- TREE END --- ---- inline to parse: [H1] ---- inline to parse: [H2] ---- inline to parse: [H3] ---- inline to parse: [H4] ---- inline to parse: [H5] ---- inline to parse: [H6] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unittest is a Catch2 v3.8.0 host application. Run with -? for options ------------------------------------------------------------------------------- commonmark_atx_heading  cm: test "#... ..." -> ------------------------------------------------------------------------------- /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:166 ............................................................................... /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:172: FAILED:  CATCH_REQUIRE( md.process("# H1\n## H2\n### H3\n#### H4\n##### H5\n###### H6\n") == "

H1

" "

H2

" "

H3

" "

H4

" "
H5
" "
H6
" ) with expansion:  "

H1

H2

H3

H4

H5
H6
" == "

H1

H2

H3

H4

H5
H6
"  ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# H1 # # SECTION: cm: test "#... ... #..." -> #", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6110 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Count: 1) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="## H2 # # #", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 2) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="### H3 ### ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6780 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 3) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 + HEADER_ENCLOSED (line/column: 3/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H3" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="#### H4 ########## #########", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 4) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 + HEADER_ENCLOSED (line/column: 3/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_ENCLOSED (line/column: 4/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H4 ##########" - Number: 4 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="##### H5 ##", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac66a0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 5) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 + HEADER_ENCLOSED (line/column: 3/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_ENCLOSED (line/column: 4/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H4 ##########" - Number: 4 + HEADER_ENCLOSED (line/column: 5/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H5" - Number: 5 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="###### H6 # ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 6) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 + HEADER_ENCLOSED (line/column: 3/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_ENCLOSED (line/column: 4/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H4 ##########" - Number: 4 + HEADER_ENCLOSED (line/column: 5/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H5" - Number: 5 + HEADER_ENCLOSED (line/column: 6/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H6" - Number: 6 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 6) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H1 # #" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H2 # #" - Number: 2 + HEADER_ENCLOSED (line/column: 3/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H3" - Number: 3 + HEADER_ENCLOSED (line/column: 4/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H4 ##########" - Number: 4 + HEADER_ENCLOSED (line/column: 5/1) - Next Sibling (HEADER_ENCLOSED), Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H5" - Number: 5 + HEADER_ENCLOSED (line/column: 6/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "H6" - Number: 6 - * -------------------------------------------- TREE END --- ---- inline to parse: [H1 # #] ---- inline to parse: [H2 # #] ---- inline to parse: [H3] ---- inline to parse: [H4 ##########] ---- inline to parse: [H5] ---- inline to parse: [H6] ------------------------------------------------------------------------------- commonmark_atx_heading  cm: test "#... ... #..." -> ------------------------------------------------------------------------------- /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:182 ............................................................................... /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:188: FAILED:  CATCH_REQUIRE( md.process("# H1 # # #\n## H2 #\t#\t#\n### H3 ### \n" "#### H4 ########## #########\n##### H5 ##\n###### H6 # \t \t\n") == "

H1 # #

" "

H2 #\t#

" "

H3

" "

H4 ##########

" "
H5
" "
H6
" ) with expansion:  "

H1 # #

H2 # #

H3

H4 ##########

H5
H6" == "

H1 # #

H2 # #

H3

H4 ##########

H5
H6
"  SECTION: cm: run against commonmark test suite ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo baz bim", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) markdown #1: [⇥ foo⇥ baz⇥ ⇥ bim↵ ] column: 1 indent 1 -- it position: 0 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 1) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac66a0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo baz bim " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo baz bim " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo baz bim", list?=(no parent), f_working_block->end_column()=1, has empty line? YES | +---> resulting html: [
foo	baz		bim
] matched! markdown #2: [⎵ ⎵ ⇥ foo⇥ baz⇥ ⇥ bim↵ ] ) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 3) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo baz bim " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo baz bim " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" a a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 | +---> resulting html: [
foo	baz		bim
] matched! markdown #3: [⎵ ⎵ ⎵ ⎵ a⇥ a↵ ⎵ ⎵ ⎵ ⎵ ὐ⇥ a↵ ] +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a a " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ὐ a", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ὐ a ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a a ὐ a " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a a ὐ a " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent | +---> resulting html: [
a	a
ὐ	a
] matched! markdown #4: [⎵ ⎵ -⎵ foo↵ ↵ ⇥ bar↵ ] 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac4f10 it on entry: [0x5c49d1ac4f10] --- not HTML block? -- it position: 4 -- 0x5c49d1ac4f10 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f10 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 3 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 1 column: 5 indent 5 -- it position: 1 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 1 working block is a list? no and list_indent is 5 -- it position: 1 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 1 then compare 5 vs list_indent + 4 = 9 -- it position: 1 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 1) +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac4eec it on entry: [0x5c49d1ac4eec] --- not HTML block? -- it position: 1 -- 0x5c49d1ac4eec --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4eec -- 0x5c49d1ac4f10 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: | +---> resulting html: [
  • foo

    bar

] matched! markdown #5: [-⎵ foo↵ ↵ ⇥ ⇥ bar↵ ] 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 3 -- it position: 1 column: 5 indent 3 -- it position: 1 +++ got a gap of 8 >= 4 blanks! (working column/end: 1/1, it column 9, list indent + 4: 7 -- it position: 2) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 9 ---- got indented code block +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/9) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: " bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/9) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: " bar " - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: | +---> resulting html: [
  • foo

      bar
    
] matched! markdown #6: [>⇥ ⇥ foo↵ ] 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 5 indent 1 -- it position: 2 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/3, it column 9, list indent + 4: 5 -- it position: 3) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 +++ adding a CODE BLOCK here (indent: 0) ---- blockquote (3) + code block (9) ---- got indent of 7 vs column 9 ---- got indented code block +++ add child to child? (list sub-block: 0) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/9) - Parent (BLOCKQUOTE) - Content: " foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/9) - Parent (BLOCKQUOTE) - Content: " foo " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [
  foo
] matched! markdown #7: [-⇥ ⇥ foo↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 2 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/2, it column 9, list indent + 4: 5 -- it position: 3) TOP has-empty-line ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 9 ---- got indented code block +++ add child to child? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) + CODE_BLOCK_INDENTED (line/column: 1/9) - Parent (LIST_DASH) - Content: " foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) + CODE_BLOCK_INDENTED (line/column: 1/9) - Parent (LIST_DASH) - Content: " foo " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()= | +---> resulting html: [
  •   foo
    
] matched! markdown #8: [⎵ ⎵ ⎵ ⎵ foo↵ ⇥ bar↵ ] 1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 1) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [bar ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo bar " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1 | +---> resulting html: [
foo
bar
] matched! markdown #9: [⎵ -⎵ foo↵ ⎵ ⎵ ⎵ -⎵ bar↵ ⇥ ⎵ -⎵ baz↵ ] , it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac4f04 it on entry: [0x5c49d1ac4f04] --- not HTML block? -- it position: 3 -- 0x5c49d1ac4f04 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f04 -- 0x5c49d1ac4f28 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 2 & no parent +++ link new? 0x5c49d1ac6780 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/4) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? YES and list_indent is 2147483647 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac4f1c it on entry: [0x5c49d1ac4f1c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac4f1c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f1c -- 0x5c49d1ac4f40 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 4, last parent end-column: 3 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/4) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/4-5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/6) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 1 column: 5 indent 2147483647 -- it position: 1 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 2 column: 6 indent 2147483647 -- it position: 2 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 8 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 7, it column 8, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac4f10 it on entry: [0x5c49d1ac4f10] --- not HTML block? -- it position: 4 -- 0x5c49d1ac4f10 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f10 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 6, last parent end-column: 5 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/4) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/4-5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/6) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/6-7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/8) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/4) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/4-5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/6) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/6-7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/8) - Parent (LIST_DASH) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1 | +---> resulting html: [
  • foo
    • bar
      • baz
] matched! markdown #10: [#⇥ Foo↵ ] , has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* * * ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

Foo

] matched! markdown #11: [*⇥ *⇥ *⇥ ↵ ] 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\!\"\#\$\%\&\'\(\ | +---> resulting html: [
] matched! markdown #12: [\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~↵ ] )\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac99c0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\ [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\ [...]" - * -------------------------------------------- TREE END --- ---- inline to parse: [\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\ \A\a\ \3\φ\« | +---> resulting html: [

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

] matched! markdown #13: [\⇥ \A\a\⎵ \3\φ\«↵ ] ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5260 it on entry: [0x5c49d1ac5260] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5260 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5260 -- 0x5c49d1ac5260 -- 0x5c49d1ac5308 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\ \A\a\ \3\φ\«" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\ \A\a\ \3\φ\«" - * -------------------------------------------- TREE END --- ---- inline to parse: [\ \A\a\ \3\φ\«] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\*not emphasize | +---> resulting html: [

\ \A\a\ \3\φ\«

] matched! markdown #14: [\*not⎵ emphasized*↵ \
⎵ not⎵ a⎵ tag↵ \[not⎵ a⎵ link](/foo)↵ \`not⎵ code`↵ 1\.⎵ not⎵ a⎵ list↵ \*⎵ not⎵ a⎵ list↵ \#⎵ not⎵ a⎵ heading↵ \[foo]:⎵ /url⎵ "not⎵ a⎵ reference"↵ \ö⎵ not⎵ a⎵ character⎵ entity↵ ] d*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac510c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\
not a tag", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac5100 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\
not a tag] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\[not a link](/foo)", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac5124 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\[not a link](/foo)] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo)" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\`not code`", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac50c4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\`not code`] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="1\. not a list", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [49]... >> numbered list... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac50e8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [1\. not a list] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\* not a list", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac50dc link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\* not a list] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\# not a heading", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac5100 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\# not a heading] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\[foo]: /url "not a reference"", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac51a8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\[foo]: /url "not a reference"] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\ö not a character entity", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac51a8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\ö not a character entity] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\*not emphasized* \
not a tag \[not a link](/foo) [...]" - * -------------------------------------------- TREE END --- ---- inline to parse: [\*not emphasized* \
not a tag \[not a link](/foo) \`not code` 1\. not a list \* not a list \# not a heading \[foo]: /url "not a reference" \ö not a character entity] >>> found some mark... >>> just mark... ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\\*emphasis*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8f30 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 | +---> resulting html: [

*not emphasized* <br/> not a tag [not a link](/foo) `not code` 1. not a list * not a list # not a heading [foo]: /url "not a reference" &ouml; not a character entity

] matched! markdown #15: [\\*emphasis*↵ ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\\*emphasis*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\\*emphasis*" - * -------------------------------------------- TREE END --- ---- inline to parse: [\\*emphasis*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo\ | +---> resulting html: [

\emphasis

] matched! markdown #16: [foo\↵ bar↵ ] ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5450 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo\" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo\ bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo\ bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo\ bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="`` \[\` ``", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 | +---> resulting html: [

foo
bar

] matched! markdown #17: [``⎵ \[\`⎵ ``↵ ] +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5da8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`` \[\` ``" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`` \[\` ``" - * -------------------------------------------- TREE END --- ---- inline to parse: [`` \[\` ``] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" \[\]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column | +---> resulting html: [

\[\`

] matched! markdown #18: [⎵ ⎵ ⎵ ⎵ \[\]↵ ] 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "\[\] " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "\[\] " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 | +---> resulting html: [
\[\]
] matched! markdown #19: [~~~↵ \[\]↵ ~~~↵ ] blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [\[\]] --- check indent: 1 vs 1 --- end count: 0 --- add: \[\] --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "\[\] " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "\[\] " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" resulting html: [
\[\]
] matched! markdown #20: [↵ ] find=\*>", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] it column 1 vs 1 it after reading name "http": [0x5c49d1ac5040] ... et [0x5c49d1ac507c] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac5190 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "" - * -------------------------------------------- TREE END --- ---- inline to parse: [] ---------------- convert HTML tag (inline) convert character: 104 convert character: 116 convert character: 116 convert character: 112 convert character: 58 convert character: 47 convert character: 47 convert character: 101 convert character: 120 convert character: 97 convert character: 109 convert character: 112 convert character: 108 convert character: 101 convert character: 46 convert character: 99 convert character: 111 convert character: 109 convert character: 63 convert character: 102 convert character: 105 convert character: 110 convert character: 100 convert character: 61 convert character: 42 URI converted: http://example.com?find=%5C* ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="http://example.com?find=\*

] matched! markdown #21: [↵ ] ">", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] it column 1 vs 1 it after reading name "a": [0x5c49d1ac5040] ... et [0x5c49d1ac5058] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: ")... ---- tag innards state: 0 for [ href="/bar\/)">]... ---- tag innards skip blank ---- tag innards state: 0 for [href="/bar\/)">]... ---- tag innards found attribute name ---- tag innards state: 1 for [="/bar\/)">]... ---- tag innards got '=' before value ---- tag innards state: 3 for ["/bar\/)">]... ---- tag innards state: 5 for [/bar\/)">]... ---- tag innards state: 5 for [bar\/)">]... ---- tag innards state: 5 for [ar\/)">]... ---- tag innards state: 5 for [r\/)">]... ---- tag innards state: 5 for [\/)">]... ---- tag innards state: 5 for [/)">]... ---- tag innards state: 5 for [)">]... ---- tag innards state: 5 for [">]... ---- tag innards state: 0 for [>]... ---- tag innards found '>', valid! ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo](/bar\* "ti\*tle")", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [ ] matched! markdown #22: [[foo](/bar\*⎵ "ti\*tle")↵ ] , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 40... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5040 -- 0x5c49d1ac5040 -- 0x5c49d1ac5154 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo](/bar\* "ti\*tle")" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo](/bar\* "ti\*tle")" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo](/bar\* "ti\*tle")] >>> destination -- got '(' >>> destination -- got more than '(' >>> destination -- as is URL valid? true >>> destination -- check for title open quote >>> destination -- closing parenthesis? convert character: 47 convert character: 98 convert character: 97 convert character: 114 convert character: 42 URI converted: /bar* ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /bar\* "ti\*tle"", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5040 it on entry: [0x5c49d1ac5040] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5040 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/bar\* "ti\*tle"}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/bar*]... ---- add result as link reference [foo] [/bar*] [ti*tle]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 98 convert character: 97 convert character: 114 convert character: 42 URI converted: /bar* ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="``` foo\+bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [foo\+bar] -- indentation: 1 --- got next line [f | +---> resulting html: [

foo

] matched! markdown #23: [[foo]↵ ↵ [foo]:⎵ /bar\*⎵ "ti\*tle"↵ ] | +---> resulting html: [

foo

] matched! markdown #24: [```⎵ foo\+bar↵ foo↵ ```↵ ] oo] --- check indent: 1 vs 1 --- end count: 0 --- add: foo --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "foo\+bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "foo\+bar" - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="  & © Æ &D | +---> resulting html: [
foo
] matched! markdown #25: [ ⎵ &⎵ ©⎵ Æ⎵ Ď↵ ¾⎵ ℋ⎵ ⅆ↵ ∲⎵ ≧̸↵ ] caron;", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9870 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  & © Æ Ď" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="¾ ℋ ⅆ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9894 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [¾ ℋ ⅆ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  & © Æ Ď ¾ &HilbertS [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="∲ ≧̸", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9840 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [∲ ≧̸] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  & © Æ Ď ¾ &HilbertS [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  & © Æ Ď ¾ &HilbertS [...]" - * -------------------------------------------- TREE END --- ---- inline to parse: [  & © Æ Ď ¾ ℋ ⅆ ∲ ≧̸] results name = [nbsp] and codes = -62, -96 results name = [copy] and codes = -62, -87 results name = [AElig] and codes = -61, -122 results name = [Dcaron] and codes = -60, -114 results name = [frac34] and codes = -62, -66 results name = [HilbertSpace] and codes = -30, -124, -117 results name = [DifferentialD] and codes = -30, -123, -122 results name = [ClockwiseContourIntegral] and codes = -30, -120, -78 results name = [ngE] and codes = -30, -119, -89, -52, -72 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# Ӓ Ϡ �", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [

  & © Æ Ď ¾ ℋ ⅆ ∲ ≧̸

] matched! markdown #26: [#⎵ Ӓ⎵ Ϡ⎵ �↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7bdc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "# Ӓ Ϡ �" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "# Ӓ Ϡ �" - * -------------------------------------------- TREE END --- ---- inline to parse: [# Ӓ Ϡ �] --- code = [35] -- HAS DIGIT SEMI-COLON --- code = [1234] -- HAS DIGIT SEMI-COLON --- code = [992] -- HAS DIGIT SEMI-COLON --- code = [0] -- HAS DIGIT SEMI-COLON ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="" ആ ಫ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far | +---> resulting html: [

# Ӓ Ϡ �

] matched! markdown #27: ["⎵ ആ⎵ ಫ↵ ] 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7bb8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "" ആ ಫ" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "" ആ ಫ" - * -------------------------------------------- TREE END --- ---- inline to parse: [" ആ ಫ] --- code = [34] -- HAS DIGIT SEMI-COLON --- code = [3334] -- HAS DIGIT SEMI-COLON --- code = [3243] -- HAS DIGIT SEMI-COLON ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="  &x; &#; &#x;", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1 | +---> resulting html: [

" ആ ಫ

] matched! markdown #28: [ ⎵ &x;⎵ &#;⎵ &#x;↵ �↵ &#abcdef0;↵ &ThisIsNotDefined;⎵ &hi?;↵ ] , list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b88 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  &x; &#; &#x;" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="�", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b34 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [�] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  &x; &#; &#x; �" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="&#abcdef0;", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b28 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [&#abcdef0;] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  &x; &#; &#x; � &#abcdef0;" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="&ThisIsNotDefined; &hi?;", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7bd0 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [&ThisIsNotDefined; &hi?;] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  &x; &#; &#x; � &#abcdef0; &ThisIsNotDef [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "  &x; &#; &#x; � &#abcdef0; &ThisIsNotDef [...]" - * -------------------------------------------- TREE END --- ---- inline to parse: [  &x; &#; &#x; � &#abcdef0; &ThisIsNotDefined; &hi?;] --- code = [0] -- no digit SEMI-COLON --- code = [0] -- no digit SEMI-COLON --- code = [8765432] -- HAS DIGIT not ';' --- code = [0] -- no digit not ';' ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="©", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [

&nbsp &x; &#; &#x; &#87654321; &#abcdef0; &ThisIsNotDefined; &hi?;

] matched! markdown #29: [©↵ ] 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "©" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "©" - * -------------------------------------------- TREE END --- ---- inline to parse: [©] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="&MadeUpEntity;", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [

&copy

] matched! markdown #30: [&MadeUpEntity;↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5dd8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "&MadeUpEntity;" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "&MadeUpEntity;" - * -------------------------------------------- TREE END --- ---- inline to parse: [&MadeUpEntity;] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent) | +---> resulting html: [

&MadeUpEntity;

] matched! markdown #31: [↵ ] , f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "a": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ac8] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: ")... ---- tag innards state: 0 for [ href="öö.html">]... ---- tag innards skip blank ---- tag innards state: 0 for [href="öö.html">]... ---- tag innards found attribute name ---- tag innards state: 1 for [="öö.html">]... ---- tag innards got '=' before value ---- tag innards state: 3 for ["öö.html">]... ---- tag innards state: 5 for [öö.html">]... ---- tag innards state: 5 for [ouml;ö.html">]... ---- tag innards state: 5 for [uml;ö.html">]... ---- tag innards state: 5 for [ml;ö.html">]... ---- tag innards state: 5 for [l;ö.html">]... ---- tag innards state: 5 for [;ö.html">]... ---- tag innards state: 5 for [ö.html">]... ---- tag innards state: 5 for [ouml;.html">]... ---- tag innards state: 5 for [uml;.html">]... ---- tag innards state: 5 for [ml;.html">]... ---- tag innards state: 5 for [l;.html">]... ---- tag innards state: 5 for [;.html">]... ---- tag innards state: 5 for [.html">]... ---- tag innards state: 5 for [html">]... ---- tag innards state: 5 for [tml">]... ---- tag innards state: 5 for [ml">]... ---- tag innards state: 5 for [l">]... ---- tag innards state: 5 for [">]... ---- tag innards state: 0 for [>]... ---- tag innards found '>', valid! ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo](/föö "föö | +---> resulting html: [ ] matched! markdown #32: [[foo](/föö⎵ "föö")↵ ] ;")", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 40... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac987c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo](/föö "föö")" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo](/föö "föö")" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo](/föö "föö")] >>> destination -- got '(' >>> destination -- got more than '(' >>> destination -- as is URL valid? true >>> destination -- check for title open quote >>> destination -- closing parenthesis? results name = [ouml] and codes = -61, -74 results name = [ouml] and codes = -61, -74 convert character: 47 convert character: 102 convert character: 246 convert character: 246 URI converted: /f%C3%B6%C3%B6 results name = [ouml] and codes = -61, -74 results name = [ouml] and codes = -61, -74 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo

] matched! markdown #33: [[foo]↵ ↵ [foo]:⎵ /föö⎵ "föö"↵ ] >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /föö "föö"", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/föö "föö"}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/föö]... ---- add result as link reference [foo] [/föö] [föö]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] results name = [ouml] and codes = -61, -74 results name = [ouml] and codes = -61, -74 convert character: 47 convert character: 102 convert character: 246 convert character: 246 URI converted: /f%C3%B6%C3%B6 results name = [ouml] and codes = -61, -74 results name = [ouml] and codes = -61, -74 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="``` föö", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 | +---> resulting html: [

foo

] matched! markdown #34: [```⎵ föö↵ foo↵ ```↵ ] --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [föö] -- indentation: 1 --- got next line [foo] --- check indent: 1 vs 1 --- end count: 0 --- add: foo --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "föö" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "föö" - * -------------------------------------------- TREE END --- results name = [ouml] and codes = -61, -74 results name = [ouml] and codes = -61, -74 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="`föö`", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [
foo
] matched! markdown #35: [`föö`↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6850 it on entry: [0x5c49d1ac6850] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6850 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6850 -- 0x5c49d1ac6850 -- 0x5c49d1ac6904 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`föö`" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`föö`" - * -------------------------------------------- TREE END --- ---- inline to parse: [`föö`] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" föfö", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2 | +---> resulting html: [

f&ouml;&ouml;

] matched! markdown #36: [⎵ ⎵ ⎵ ⎵ föfö↵ ] , list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "föfö " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "föfö " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*foo*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
f&ouml;f&ouml;
] matched! markdown #37: [*foo*↵ *foo*↵ ] 1 -- it position: 0 >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8f3c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "*foo*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="*foo*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [102]... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8edc link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [*foo*] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "*foo* *foo*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "*foo* *foo*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*foo* *foo*] --- code = [42] -- HAS DIGIT SEMI-COLON --- code = [42] -- HAS DIGIT SEMI-COLON >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

*foo* foo

] matched! markdown #38: [*⎵ foo↵ ↵ *⎵ foo↵ ] 38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d9c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "* foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "* foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "* foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "* foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5d48 it on entry: [0x5c49d1ac5d48] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5d48 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d48 -- 0x5c49d1ac5d6c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT) - Content: "* foo" - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 3/1-2) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_ASTERISK) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT) - Content: "* foo" - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 3/1-2) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_ASTERISK) - Content: "foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [* foo] --- code = [42] -- HAS DIGIT SEMI-COLON ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [

* foo

  • foo
] matched! markdown #39: [foo bar↵ ] , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac76f0 it on entry: [0x5c49d1ac76f0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac76f0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac76f0 -- 0x5c49d1ac76f0 -- 0x5c49d1ac77b0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo bar] --- code = [10] -- HAS DIGIT SEMI-COLON --- code = [10] -- HAS DIGIT SEMI-COLON ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo bar

] matched! markdown #40: [ foo↵ ] >> parse for list [38]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: " foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: " foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [ foo] --- code = [9] -- HAS DIGIT SEMI-COLON ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[a](url "tit") | +---> resulting html: [

foo

] matched! markdown #41: [[a](url⎵ "tit")↵ ] ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 40... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7bd0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[a](url "tit")" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[a](url "tit")" - * -------------------------------------------- TREE END --- ---- inline to parse: [[a](url "tit")] >>> destination -- got '(' >>> destination -- got more than '(' >>> destination -- as is URL valid? true >>> destination -- check for title open quote >>> destination -- closing parenthesis? >>> destination -- return false? not a valid link destination, try again as a reference... --- ref: search for link named [a] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- `one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [

[a](url "tit")

] matched! markdown #42: [-⎵ `one↵ -⎵ two`↵ ] 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f28 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "`one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- two`", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f28 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "`one" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "two`" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "`one" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "two`" - * -------------------------------------------- TREE END --- ---- inline to parse: [`one] ---- inline to parse: [two`] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... | +---> resulting html: [
  • `one
  • two`
] matched! markdown #43: [***↵ ---↵ ___↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="___", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_UNDERLINE, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Next Sibling (BREAK_UNDERLINE), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_UNDERLINE (line/column: 3/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_UNDERLINE, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Next Sibling (BREAK_UNDERLINE), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_UNDERLINE (line/column: 3/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="+++", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [43]... >> list type [ | +---> resulting html: [


] matched! markdown #44: [+++↵ ] 43]... >> list blank missing [43]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "+++" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "+++" - * -------------------------------------------- TREE END --- ---- inline to parse: [+++] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="===", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: | +---> resulting html: [

+++

] matched! markdown #45: [===↵ ] 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "===" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "===" - * -------------------------------------------- TREE END --- ---- inline to parse: [===] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="--", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... >> list blank missing [ | +---> resulting html: [

===

] matched! markdown #46: [--↵ **↵ __↵ ] 45]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac58e0 it on entry: [0x5c49d1ac58e0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac58e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac58e0 -- 0x5c49d1ac58e0 -- 0x5c49d1ac58f8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "--" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="**", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [42]... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac58e0 it on entry: [0x5c49d1ac58e0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac58e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "--" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac58e0 -- 0x5c49d1ac58e0 -- 0x5c49d1ac58f8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [**] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-- **" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="__", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac58e0 it on entry: [0x5c49d1ac58e0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac58e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-- **" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac58e0 -- 0x5c49d1ac58e0 -- 0x5c49d1ac58f8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [__] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-- ** __" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-- ** __" - * -------------------------------------------- TREE END --- ---- inline to parse: [-- ** __] >>> found some mark... >>> just mark... >>> found some mark... >>> just mark... ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2 | +---> resulting html: [

-- ** __

] matched! markdown #47: [⎵ ***↵ ⎵ ⎵ ***↵ ⎵ ⎵ ⎵ ***↵ ] , list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac542c it on entry: [0x5c49d1ac542c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac542c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ***", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 2/3) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ***", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac4f04 it on entry: [0x5c49d1ac4f04] --- not HTML block? -- it position: 3 -- 0x5c49d1ac4f04 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 2/3) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 4 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 2/3) - Next Sibling (BREAK_ASTERISK), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 3/4) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 2/3) - Next Sibling (BREAK_ASTERISK), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) + BREAK_ASTERISK (line/column: 3/4) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ***", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1 | +---> resulting html: [


] matched! markdown #48: [⎵ ⎵ ⎵ ⎵ ***↵ ] , it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "*** " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "*** " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [
***
] matched! markdown #49: [Foo↵ ⎵ ⎵ ⎵ ⎵ ***↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ***", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f10 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ append to existing block code or paragraph? [***] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo ***" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo ***" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo ***] >>> found some mark... >>> just mark... ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="_____________________________________", list?=(no parent) | +---> resulting html: [

Foo ***

] matched! markdown #50: [_____________________________________↵ ] , f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_UNDERLINE, Count: 1) - Block is followed by at least one empty line + BREAK_UNDERLINE (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - - -", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: | +---> resulting html: [
] matched! markdown #51: [⎵ -⎵ -⎵ -↵ ] 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac4eec it on entry: [0x5c49d1ac4eec] --- not HTML block? -- it position: 1 -- 0x5c49d1ac4eec --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/2) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/2) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ** * ** * ** * **", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 | +---> resulting html: [
] matched! markdown #52: [⎵ **⎵ ⎵ *⎵ **⎵ *⎵ **⎵ *⎵ **↵ ] blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac7abc it on entry: [0x5c49d1ac7abc] --- not HTML block? -- it position: 1 -- 0x5c49d1ac7abc --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/2) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- - - -", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far | +---> resulting html: [
] matched! markdown #53: [-⎵ ⎵ ⎵ ⎵ ⎵ -⎵ ⎵ ⎵ ⎵ ⎵ ⎵ -⎵ ⎵ ⎵ ⎵ ⎵ ⎵ -↵ ] 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- - - - ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: | +---> resulting html: [
] matched! markdown #54: [-⎵ -⎵ -⎵ -⎵ ⎵ ⎵ ⎵ ↵ ] 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="_ _ _ _ a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
] matched! markdown #55: [_⎵ _⎵ _⎵ _⎵ a↵ ↵ a------↵ ↵ ---a---↵ ] 1 -- it position: 0 >> parse for list [95]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8f0c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "_ _ _ _ a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="a------", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ef4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---a---", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... >> list blank missing [45]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ef4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "---a---" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "_ _ _ _ a" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "a------" - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "---a---" - * -------------------------------------------- TREE END --- ---- inline to parse: [_ _ _ _ a] >>> found some mark... >>> just mark... >>> found some mark... >>> just mark... >>> found some mark... >>> just mark... >>> found some mark... >>> just mark... ---- inline to parse: [a------] ---- inline to parse: [---a---] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" *-*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2 | +---> resulting html: [

_ _ _ _ a

a------

---a---

] matched! markdown #56: [⎵ *-*↵ ] , list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [42]... >> list type [42]... >> list blank missing [45]... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac542c it on entry: [0x5c49d1ac542c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac542c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac542c -- 0x5c49d1ac5450 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/2) - Parent (DOCUMENT) - Content: "*-*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/2) - Parent (DOCUMENT) - Content: "*-*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*-*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

-

] matched! markdown #57: [-⎵ foo↵ ***↵ -⎵ bar↵ ] >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5270 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="***", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + BREAK_ASTERISK (line/column: 2/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [
  • foo

  • bar
] matched! markdown #58: [Foo↵ ***↵ bar↵ ] -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="***", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 3/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 3/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... | +---> resulting html: [

Foo


bar

] matched! markdown #59: [Foo↵ ---↵ bar↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac5270 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

Foo

bar

] matched! markdown #60: [*⎵ Foo↵ *⎵ *⎵ *↵ *⎵ Bar↵ ] >> parse for list [42]... >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="* * *", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="* Bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 3) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (LIST_ASTERISK), Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT) + LIST_ASTERISK (line/column: 3/1-2) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_ASTERISK) - Content: "Bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 3) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "Foo" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (LIST_ASTERISK), Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT) + LIST_ASTERISK (line/column: 3/1-2) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_ASTERISK) - Content: "Bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [Bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • Foo

  • Bar
] matched! markdown #61: [-⎵ Foo↵ -⎵ *⎵ *⎵ *↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- * * *", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LIST_DASH (line/column: 2/1-2) - Parent (LINE) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: BREAK_ASTERISK, Count: 1) + BREAK_ASTERISK (line/column: 2/3) - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: BREAK_ASTERISK, Count: 1) + BREAK_ASTERISK (line/column: 2/3) - Parent (LIST_DASH) - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35 | +---> resulting html: [
  • Foo

] matched! markdown #62: [#⎵ foo↵ ##⎵ foo↵ ###⎵ foo↵ ####⎵ foo↵ #####⎵ foo↵ ######⎵ foo↵ ] ]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="## foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="### foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="#### foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 4) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 4 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="##### foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 5) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 5 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="###### foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 6) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 5 + HEADER_OPEN (line/column: 6/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 6 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 6) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 4/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 4 + HEADER_OPEN (line/column: 5/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 5 + HEADER_OPEN (line/column: 6/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 6 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [foo] ---- inline to parse: [foo] ---- inline to parse: [foo] ---- inline to parse: [foo] ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="####### foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo

foo

foo

foo

foo
foo
] matched! markdown #63: [#######⎵ foo↵ ] >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7540 it on entry: [0x5c49d1ac7540] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7540 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7540 -- 0x5c49d1ac7540 -- 0x5c49d1ac75c4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "####### foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "####### foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [####### foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="#5 bolt", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [

####### foo

] matched! markdown #64: [#5⎵ bolt↵ ↵ #hashtag↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "#5 bolt" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "#5 bolt" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "#5 bolt" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "#5 bolt" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="#hashtag", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "#5 bolt" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "#hashtag" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "#5 bolt" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "#hashtag" - * -------------------------------------------- TREE END --- ---- inline to parse: [#5 bolt] ---- inline to parse: [#hashtag] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\## foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

#5 bolt

#hashtag

] matched! markdown #65: [\##⎵ foo↵ ] 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\## foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\## foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [\## foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# foo *bar* \*baz\*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [

## foo

] matched! markdown #66: [#⎵ foo⎵ *bar*⎵ \*baz\*↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *bar* \*baz\*" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *bar* \*baz\*" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo *bar* \*baz\*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [ \*baz\*] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# | +---> resulting html: [

foo bar *baz*

] matched! markdown #67: [#⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ foo⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ↵ ] foo ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ### foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: | +---> resulting html: [

foo

] matched! markdown #68: [⎵ ###⎵ foo↵ ⎵ ⎵ ##⎵ foo↵ ⎵ ⎵ ⎵ #⎵ foo↵ ] 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac584c it on entry: [0x5c49d1ac584c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac584c ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/2) - Parent (DOCUMENT) - Content: "foo" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ## foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/2) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" # foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 4 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/2) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 2/3) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/4) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/2) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 3 + HEADER_OPEN (line/column: 2/3) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_OPEN (line/column: 3/4) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [foo] ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" # foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column | +---> resulting html: [

foo

foo

foo

] matched! markdown #69: [⎵ ⎵ ⎵ ⎵ #⎵ foo↵ ] 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "# foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "# foo " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 | +---> resulting html: [
# foo
] matched! markdown #70: [foo↵ ⎵ ⎵ ⎵ ⎵ #⎵ bar↵ ] -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" # bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1ac7540 -- 0x5c49d1ac7570 -- 0x5c49d1ac75ac link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ append to existing block code or paragraph? [# bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo # bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo # bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo # bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="## foo ##", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

foo # bar

] matched! markdown #71: [##⎵ foo⎵ ##↵ ⎵ ⎵ ###⎵ ⎵ ⎵ bar⎵ ⎵ ⎵ ⎵ ###↵ ] 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Count: 1) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ### bar ###", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac7ac8 it on entry: [0x5c49d1ac7ac8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac7ac8 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 2) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_ENCLOSED (line/column: 2/3) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "bar" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 2) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 2 + HEADER_ENCLOSED (line/column: 2/3) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "bar" - Number: 3 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# foo ##################################", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 | +---> resulting html: [

foo

bar

] matched! markdown #72: [#⎵ foo⎵ ##################################↵ #####⎵ foo⎵ ##↵ ] indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Count: 1) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="##### foo ##", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 2) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 5 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Last: HEADER_ENCLOSED, Count: 2) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Next Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 1 + HEADER_ENCLOSED (line/column: 2/1) - Previous Sibling (HEADER_ENCLOSED), Parent (DOCUMENT) - Content: "foo" - Number: 5 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="### foo ### ", list?=(no parent), f_working_block->end_column()=1 | +---> resulting html: [

foo

foo
] matched! markdown #73: [###⎵ foo⎵ ###⎵ ⎵ ⎵ ⎵ ⎵ ↵ ] , has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] --- not HTML block? -- it position: 0 -- 0x5c49d1accd30 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Count: 1) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_ENCLOSED, Count: 1) - Block is followed by at least one empty line + HEADER_ENCLOSED (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - Number: 3 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="### foo ### b", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 | +---> resulting html: [

foo

] matched! markdown #74: [###⎵ foo⎵ ###⎵ b↵ ] blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acce10 it on entry: [0x5c49d1acce10] --- not HTML block? -- it position: 0 -- 0x5c49d1acce10 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo ### b" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo ### b" - Number: 3 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo ### b] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# foo#", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

foo ### b

] matched! markdown #75: [#⎵ foo#↵ ] 35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo#" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo#" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo#] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="### foo \###", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo#

] matched! markdown #76: [###⎵ foo⎵ \###↵ ##⎵ foo⎵ #\##↵ #⎵ foo⎵ \#↵ ] >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo \###" - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="## foo #\##", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo \###" - Number: 3 + HEADER_OPEN (line/column: 2/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo #\##" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="# foo \#", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo \###" - Number: 3 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo #\##" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo \#" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo \###" - Number: 3 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo #\##" - Number: 2 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo \#" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo \###] ---- inline to parse: [foo #\##] ---- inline to parse: [foo \#] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="****", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: | +---> resulting html: [

foo ###

foo ###

foo #

] matched! markdown #77: [****↵ ##⎵ foo↵ ****↵ ] 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Count: 1) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="## foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) + HEADER_OPEN (line/column: 2/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="****", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) + HEADER_OPEN (line/column: 2/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) + HEADER_OPEN (line/column: 2/1) - Next Sibling (BREAK_ASTERISK), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "foo" - Number: 2 + BREAK_ASTERISK (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_ASTERISK, Last: BREAK_ASTERISK, Count: 3) - Block is followed by at least one empty line + BREAK_ASTERISK (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) + HEADER_OPEN (line/column: 2/1) - Next Sibling (BREAK_ASTERISK), Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "foo" - Number: 2 + BREAK_ASTERISK (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70 | +---> resulting html: [

foo


] matched! markdown #78: [Foo⎵ bar↵ #⎵ baz↵ Bar⎵ foo↵ ] ]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="# baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "Foo bar" + HEADER_OPEN (line/column: 2/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "baz" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Bar foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "Foo bar" + HEADER_OPEN (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "baz" - Number: 1 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "Bar foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "Foo bar" + HEADER_OPEN (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "baz" - Number: 1 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "Bar foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo bar] ---- inline to parse: [baz] ---- inline to parse: [Bar foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="## ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [

Foo bar

baz

Bar foo

] matched! markdown #79: [##⎵ ↵ #↵ ###⎵ ###↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="#", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 2 + HEADER_OPEN (line/column: 2/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="### ###", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 2 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 1 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 3 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 2 + HEADER_OPEN (line/column: 2/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 1 + HEADER_OPEN (line/column: 3/1) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Number: 3 - * -------------------------------------------- TREE END --- ---- inline to parse: [] ---- inline to parse: [] ---- inline to parse: [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo *bar*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [

] matched! markdown #80: [Foo⎵ *bar*↵ =========↵ ↵ Foo⎵ *bar*↵ ---------↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acce10 it on entry: [0x5c49d1acce10] --- not HTML block? -- it position: 0 -- 0x5c49d1acce10 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acce10 -- 0x5c49d1acce10 -- 0x5c49d1acce7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="=========", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acce10 it on entry: [0x5c49d1acce10] --- not HTML block? -- it position: 0 -- 0x5c49d1acce10 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8eb0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo *bar*", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acce10 it on entry: [0x5c49d1acce10] --- not HTML block? -- it position: 0 -- 0x5c49d1acce10 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acce10 -- 0x5c49d1acce10 -- 0x5c49d1acce7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---------", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acce10 it on entry: [0x5c49d1acce10] --- not HTML block? -- it position: 0 -- 0x5c49d1acce10 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo *bar*" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8eb0 --- next 0 --- previous 0x5c49d1accd40 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accf00 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 1 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo *bar*" - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo *bar*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---- inline to parse: [Foo *bar*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo *bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

Foo bar

Foo bar

] matched! markdown #81: [Foo⎵ *bar↵ baz*↵ ====↵ ] >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz*] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar baz*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="====", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar baz*" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo *bar baz*" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1acce20 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo *bar baz*" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo *bar baz*" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo *bar baz*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo *bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far | +---> resulting html: [

Foo bar baz

] matched! markdown #82: [⎵ ⎵ Foo⎵ *bar↵ baz*⇥ ↵ ====↵ ] 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1accd48 it on entry: [0x5c49d1accd48] --- not HTML block? -- it position: 2 -- 0x5c49d1accd48 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accd30 -- 0x5c49d1accd48 -- 0x5c49d1accda8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "Foo *bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz* ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] --- not HTML block? -- it position: 0 -- 0x5c49d1accd30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accd30 -- 0x5c49d1accd30 -- 0x5c49d1accd6c link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz* ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "Foo *bar baz* " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="====", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] --- not HTML block? -- it position: 0 -- 0x5c49d1accd30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "Foo *bar baz* " - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "Foo *bar baz* " - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1acce20 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo *bar baz* " - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo *bar baz* " - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo *bar baz* ] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [ ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 | +---> resulting html: [

Foo bar baz

] matched! markdown #83: [Foo↵ -------------------------↵ ↵ Foo↵ =↵ ] any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-------------------------", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ad4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="=", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0x5c49d1acce20 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_DOUBLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_DOUBLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: | +---> resulting html: [

Foo

Foo

] matched! markdown #84: [⎵ ⎵ ⎵ Foo↵ ---↵ ↵ ⎵ ⎵ Foo↵ -----↵ ↵ ⎵ ⎵ Foo↵ ⎵ ⎵ ===↵ ] 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1acb204 it on entry: [0x5c49d1acb204] --- not HTML block? -- it position: 3 -- 0x5c49d1acb204 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb204 -- 0x5c49d1acb228 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 4/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0x5c49d1acce20 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 7/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ===", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 7/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 8/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 7/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 8/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0x5c49d1ac8eb0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_DOUBLE, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Next Sibling (HEADER_DOUBLE), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 8/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_DOUBLE, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 5/1) - Next Sibling (HEADER_DOUBLE), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 8/3) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [Foo] ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 | +---> resulting html: [

Foo

Foo

Foo

] matched! markdown #85: [⎵ ⎵ ⎵ ⎵ Foo↵ ⎵ ⎵ ⎵ ⎵ ---↵ ↵ ⎵ ⎵ ⎵ ⎵ Foo↵ ---↵ ] -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [--- ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" Foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [Foo ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- Foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "Foo --- Foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo --- Foo " - Block is followed by at least one empty line + BREAK_DASH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo --- Foo " - Block is followed by at least one empty line + BREAK_DASH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: | +---> resulting html: [
Foo
---

Foo

] matched! markdown #86: [Foo↵ ⎵ ⎵ ⎵ ----⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ↵ ] 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ---- ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac8ec4 it on entry: [0x5c49d1ac8ec4] --- not HTML block? -- it position: 3 -- 0x5c49d1ac8ec4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accd40 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/4) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/4) - Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: | +---> resulting html: [

Foo

] matched! markdown #87: [Foo↵ ⎵ ⎵ ⎵ ⎵ ---↵ ] 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb210 -- 0x5c49d1acb234 link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ append to existing block code or paragraph? [---] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo ---" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo ---" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo ---] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [

Foo ---

] matched! markdown #88: [Foo↵ =⎵ =↵ ↵ Foo↵ ---⎵ -↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="= =", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [= =] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo = =" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="--- -", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_DASH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Next Sibling (BREAK_DASH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" + BREAK_DASH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_DASH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo = =" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Next Sibling (BREAK_DASH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" + BREAK_DASH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo = =] ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

Foo = =

Foo


] matched! markdown #89: [Foo⎵ ⎵ ↵ -----↵ ] 70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1e0 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo " - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo " - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8eb0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo " - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo " - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo\", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... | +---> resulting html: [

Foo

] matched! markdown #90: [Foo\↵ ----↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61c0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo\" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo\" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo\" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8eb0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo\" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "Foo\" - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo\] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="`Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [

Foo\

] matched! markdown #91: [`Foo↵ ----↵ `↵ ↵ ↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61c0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8eb0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "`Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="`", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac619c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accef0 it on entry: [0x5c49d1accef0] it column 1 vs 1 it after reading name "a": [0x5c49d1accef0] ... et [0x5c49d1accf08] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 5/1) - Content: "end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accef0 it on entry: [0x5c49d1accef0] --- not HTML block? -- it position: 0 -- 0x5c49d1accef0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accef0 it on entry: [0x5c49d1accef0] --- not HTML block? -- it position: 0 -- 0x5c49d1accef0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accef0 -- 0x5c49d1accef0 -- 0x5c49d1accf80 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 4) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 6/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: PARAGRAPH, Count: 4) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "`Foo" - Number: 2 + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "`" - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 6/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "" - * -------------------------------------------- TREE END --- ---- inline to parse: [`Foo] ---- inline to parse: [`] ---- inline to parse: [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 | +---> resulting html: [

`Foo

`

<a title="a lot

of dashes"/>

] matched! markdown #92: [>⎵ Foo↵ ---↵ ] blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: IN BLOCKQUOTE & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: | +---> resulting html: [

Foo


] matched! markdown #93: [>⎵ foo↵ bar↵ ===↵ ] 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1e0 -- 0x5c49d1acb204 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="===", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: IN BLOCKQUOTE & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1e0 -- 0x5c49d1acb204 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [===] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar ===" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar ===" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo bar ===] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

foo bar ===

] matched! markdown #94: [-⎵ Foo↵ ---↵ ] 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 | +---> resulting html: [
  • Foo

] matched! markdown #95: [Foo↵ Bar↵ ---↵ ] any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [Bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo Bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo Bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo Bar" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accfe0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo Bar" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "Foo Bar" - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo Bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = | +---> resulting html: [

Foo Bar

] matched! markdown #96: [---↵ Foo↵ ---↵ Bar↵ ---↵ Baz↵ ] 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 2/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 2/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 2/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accfe0 --- next 0 --- previous 0x5c49d1ac7550 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 5/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accfe0 --- next 0 --- previous 0x5c49d1accd40 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: HEADER_SINGLE, Count: 3) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Next Sibling (HEADER_SINGLE), Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + HEADER_SINGLE (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 4) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Next Sibling (HEADER_SINGLE), Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + HEADER_SINGLE (line/column: 5/1) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - Number: 2 + PARAGRAPH (line/column: 6/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: PARAGRAPH, Count: 4) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) + HEADER_SINGLE (line/column: 3/1) - Next Sibling (HEADER_SINGLE), Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo" - Number: 2 + HEADER_SINGLE (line/column: 5/1) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Bar" - Number: 2 + PARAGRAPH (line/column: 6/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [Bar] ---- inline to parse: [Baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="= | +---> resulting html: [

Foo

Bar

Baz

] matched! markdown #97: [↵ ====↵ ] ===", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5450 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "====" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "====" - * -------------------------------------------- TREE END --- ---- inline to parse: [====] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45 | +---> resulting html: [

====

] matched! markdown #98: [---↵ ---↵ ] ]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 1/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Count: 1) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BREAK_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BREAK_DASH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) + BREAK_DASH (line/column: 2/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45 | +---> resulting html: [

] matched! markdown #99: [-⎵ foo↵ -----↵ ] ]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-----", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: | +---> resulting html: [
  • foo

] matched! markdown #100: [⎵ ⎵ ⎵ ⎵ foo↵ ---↵ ] 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "foo " + BREAK_DASH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "foo " + BREAK_DASH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 | +---> resulting html: [
foo

] matched! markdown #101: [>⎵ foo↵ -----↵ ] +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: IN BLOCKQUOTE & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="\> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo


] matched! markdown #102: [\>⎵ foo↵ ------↵ ] >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1e0 -- 0x5c49d1acb228 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\> foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="------", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\> foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "\> foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accfe0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "\> foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "\> foo" - Number: 2 - * -------------------------------------------- TREE END --- ---- inline to parse: [\> foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [

> foo

] matched! markdown #103: [Foo↵ ↵ bar↵ ---↵ baz↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 4/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 4/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accfe0 --- next 0 --- previous 0x5c49d1ac6860 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_SINGLE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 4/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - Number: 2 + PARAGRAPH (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "Foo" - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 4/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - Number: 2 + PARAGRAPH (line/column: 5/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

Foo

bar

baz

] matched! markdown #104: [Foo↵ bar↵ ↵ ---↵ ↵ baz↵ ] >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 4/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line + BREAK_DASH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line + BREAK_DASH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + BREAK_DASH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line + BREAK_DASH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line + BREAK_DASH (line/column: 4/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line + BREAK_DASH (line/column: 4/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Previous Sibling (BREAK_DASH), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

Foo bar


baz

] matched! markdown #105: [Foo↵ bar↵ *⎵ *⎵ *↵ baz↵ ] 70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="* * *", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo bar" + BREAK_ASTERISK (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acb1e0 it on entry: [0x5c49d1acb1e0] --- not HTML block? -- it position: 0 -- 0x5c49d1acb1e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1e0 -- 0x5c49d1acb204 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo bar" + BREAK_ASTERISK (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 4/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "Foo bar" + BREAK_ASTERISK (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) + PARAGRAPH (line/column: 4/1) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [

Foo bar


baz

] matched! markdown #106: [Foo↵ bar↵ \---↵ baz↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7550 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="\---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [92]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5450 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [\---] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar \---" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar \--- baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar \--- baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo bar \--- baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" a simple", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 | +---> resulting html: [

Foo bar --- baz

] matched! markdown #107: [⎵ ⎵ ⎵ ⎵ a⎵ simple↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code⎵ block↵ ] indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a simple " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" indented code block", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ indented code block ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a simple indented code block " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "a simple indented code block " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [
a simple
  indented code block
] matched! markdown #108: [⎵ ⎵ -⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ bar↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 3 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/3-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... | +---> resulting html: [
  • foo

    bar

] matched! markdown #109: [1.⎵ ⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ -⎵ bar↵ ] >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [45]... >> list computed gap 5 vs first child 5 >> list type [45]... +++ found a list... column: 7 indent 5 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 5 -- it position: 6 working block is a list? YES and list_indent is 5 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 6 then compare 7 vs list_indent + 4 = 9 -- it position: 6 +++ this is a list item followed by this additional paragraph: 7 or 7 >= 5 blanks! (working column: 6 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7588 it on entry: [0x5c49d1ac7588] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7588 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7540 -- 0x5c49d1ac7588 -- 0x5c49d1ac75ac link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (LIST_DASH), Parent (LIST_PERIOD) - Content: "foo" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (LIST_DASH), Parent (LIST_PERIOD) - Content: "foo" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column | +---> resulting html: [
  1. foo

    • bar
] matched! markdown #110: [⎵ ⎵ ⎵ ⎵
↵ ⎵ ⎵ ⎵ ⎵ *hi*↵ ↵ ⎵ ⎵ ⎵ ⎵ -⎵ one↵ ] 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" *hi*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [*hi* ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - one", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [- one ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* - one " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " *hi* - one " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" chunk1", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [
<a/>
*hi*

- one
] matched! markdown #111: [⎵ ⎵ ⎵ ⎵ chunk1↵ ↵ ⎵ ⎵ ⎵ ⎵ chunk2↵ ⎵ ⎵ ↵ ⎵ ↵ ⎵ ↵ ⎵ ⎵ ⎵ ⎵ chunk3↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" chunk2", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [chunk2 ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 2 any containers (other than line)? -- it position: 2 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 1 any containers (other than line)? -- it position: 1 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 1 any containers (other than line)? -- it position: 1 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" chunk3", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [chunk3 ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 chunk3 " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 chunk3 " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" chunk1", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 | +---> resulting html: [
chunk1

chunk2



chunk3
] matched! markdown #112: [⎵ ⎵ ⎵ ⎵ chunk1↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ chunk2↵ ] column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" chunk2", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ chunk2 ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "chunk1 chunk2 " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
chunk1
  
  chunk2
] matched! markdown #113: [Foo↵ ⎵ ⎵ ⎵ ⎵ bar↵ ↵ ] 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f10 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo bar" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [

Foo bar

] matched! markdown #114: [⎵ ⎵ ⎵ ⎵ foo↵ bar↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f04 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo " + PARAGRAPH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo " + PARAGRAPH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# Heading", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... | +---> resulting html: [
foo

bar

] matched! markdown #115: [#⎵ Heading↵ ⎵ ⎵ ⎵ ⎵ foo↵ Heading↵ ------↵ ⎵ ⎵ ⎵ ⎵ foo↵ ----↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accfd0 it on entry: [0x5c49d1accfd0] --- not HTML block? -- it position: 0 -- 0x5c49d1accfd0 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "Heading" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="Heading", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [72]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accfd0 it on entry: [0x5c49d1accfd0] --- not HTML block? -- it position: 0 -- 0x5c49d1accfd0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accfd0 -- 0x5c49d1accfd0 -- 0x5c49d1acd024 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="------", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accfd0 it on entry: [0x5c49d1accfd0] --- not HTML block? -- it position: 0 -- 0x5c49d1accfd0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (PARAGRAPH), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 4/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 4/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ac8f90 --- next 0 --- previous 0x5c49d1accd40 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: HEADER_SINGLE, Count: 3) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + HEADER_SINGLE (line/column: 4/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: CODE_BLOCK_INDENTED, Count: 4) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + HEADER_SINGLE (line/column: 4/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 2 + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="----", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accfd0 it on entry: [0x5c49d1accfd0] --- not HTML block? -- it position: 0 -- 0x5c49d1accfd0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: CODE_BLOCK_INDENTED, Count: 4) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + HEADER_SINGLE (line/column: 4/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 2 + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 6/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: BREAK_DASH, Count: 5) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + HEADER_SINGLE (line/column: 4/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 2 + CODE_BLOCK_INDENTED (line/column: 5/5) - Next Sibling (BREAK_DASH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "foo " + BREAK_DASH (line/column: 6/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: BREAK_DASH, Count: 5) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 1 + CODE_BLOCK_INDENTED (line/column: 2/5) - Next Sibling (HEADER_SINGLE), Previous Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "foo " + HEADER_SINGLE (line/column: 4/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "Heading" - Number: 2 + CODE_BLOCK_INDENTED (line/column: 5/5) - Next Sibling (BREAK_DASH), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "foo " + BREAK_DASH (line/column: 6/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [Heading] ---- inline to parse: [Heading] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?= | +---> resulting html: [

Heading

foo

Heading

foo

] matched! markdown #116: [⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ foo↵ ⎵ ⎵ ⎵ ⎵ bar↵ ] (no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [bar ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " foo bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: " foo bar " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... | +---> resulting html: [
    foo
bar
] matched! markdown #117: [↵ ⎵ ⎵ ⎵ ⎵ ↵ ⎵ ⎵ ⎵ ⎵ foo↵ ⎵ ⎵ ⎵ ⎵ ↵ ↵ ] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 4 any containers (other than line)? -- it position: 4 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 2147483647 -- it position: 4 any containers (other than line)? -- it position: 4 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Parent (DOCUMENT) - Content: "foo " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 | +---> resulting html: [
foo
] matched! markdown #118: [⎵ ⎵ ⎵ ⎵ foo⎵ ⎵ ↵ ] blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "foo " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 | +---> resulting html: [
foo  
] matched! markdown #119: [```↵ <↵ ⎵ >↵ ```↵ ] -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [<] --- check indent: 1 vs 1 --- add: < --- got next line [ >] --- check indent: 1 vs 1 --- add: > --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "< > " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "< > " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [
<
 >
] matched! markdown #120: [~~~↵ <↵ ⎵ >↵ ~~~↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [<] --- check indent: 1 vs 1 --- add: < --- got next line [ >] --- check indent: 1 vs 1 --- add: > --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "< > " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "< > " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="``", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... | +---> resulting html: [
<
 >
] matched! markdown #121: [``↵ foo↵ ``↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac58e0 it on entry: [0x5c49d1ac58e0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac58e0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac58e0 -- 0x5c49d1ac58e0 -- 0x5c49d1ac58f8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`` foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="``", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5438 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [``] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`` foo ``" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "`` foo ``" - * -------------------------------------------- TREE END --- ---- inline to parse: [`` foo ``] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... | +---> resulting html: [

foo

] matched! markdown #122: [```↵ aaa↵ ~~~↵ ```↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- end count: 0 --- add: aaa --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 0 --- add: ~~~ --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... | +---> resulting html: [
aaa
~~~
] matched! markdown #123: [~~~↵ aaa↵ ```↵ ~~~↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- end count: 0 --- add: aaa --- got next line [```] --- check indent: 1 vs 1 --- end count: 0 --- add: ``` --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="````", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 | +---> resulting html: [
aaa
```
] matched! markdown #124: [````↵ aaa↵ ```↵ ``````↵ ] -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- add: aaa --- got next line [```] --- check indent: 1 vs 1 --- add: ``` --- got next line [``````] --- check indent: 1 vs 1 --- end count: 6 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1 | +---> resulting html: [
aaa
```
] matched! markdown #125: [~~~~↵ aaa↵ ~~~↵ ~~~~↵ ] , list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- add: aaa --- got next line [~~~] --- check indent: 1 vs 1 --- add: ~~~ --- got next line [~~~~] --- check indent: 1 vs 1 --- end count: 4 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 | +---> resulting html: [
aaa
~~~
] matched! markdown #126: [```↵ ] +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [] --- found eof?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="`````", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent | +---> resulting html: [
] matched! markdown #127: [`````↵ ↵ ```↵ aaa↵ ] 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [] --- what about an empty line? --- check indent: 0 vs 1 --- add: --- got next line [```] --- check indent: 1 vs 1 --- add: ``` --- got next line [aaa] --- check indent: 1 vs 1 --- add: aaa --- got next line [] --- found eof?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: " ``` aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: " ``` aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 | +---> resulting html: [

```
aaa
] matched! markdown #128: [>⎵ ```↵ >⎵ aaa↵ ↵ bbb↵ ] +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [> aaa] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 --- check indent: 3 vs 3 --- end count: 0 --- add: aaa --- got next line [] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f04 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa " - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
aaa

bbb

] matched! markdown #129: [```↵ ↵ ⎵ ⎵ ↵ ```↵ ] 96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [] --- what about an empty line? --- check indent: 0 vs 1 --- add: --- got next line [ ] --- check indent: 1 vs 1 --- add: --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [

  
] matched! markdown #130: [```↵ ```↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1 | +---> resulting html: [
] matched! markdown #131: [⎵ ```↵ ⎵ aaa↵ aaa↵ ```↵ ] , it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- adding info string [] -- indentation: 2 --- got next line [ aaa] --- check indent: 1 vs 2 --- end count: 0 --- add: aaa --- got next line [aaa] --- check indent: 1 vs 2 --- end count: 0 --- add: aaa --- got next line [```] --- check indent: 1 vs 2 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/2) - Parent (DOCUMENT) - Content: "aaa aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/2) - Parent (DOCUMENT) - Content: "aaa aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [
aaa
aaa
] matched! markdown #132: [⎵ ⎵ ```↵ aaa↵ ⎵ ⎵ aaa↵ aaa↵ ⎵ ⎵ ```↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [aaa] --- check indent: 1 vs 3 --- end count: 0 --- add: aaa --- got next line [ aaa] --- check indent: 1 vs 3 --- end count: 0 --- add: aaa --- got next line [aaa] --- check indent: 1 vs 3 --- end count: 0 --- add: aaa --- got next line [ ```] --- check indent: 1 vs 3 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (DOCUMENT) - Content: "aaa aaa aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (DOCUMENT) - Content: "aaa aaa aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [
aaa
aaa
aaa
] matched! markdown #133: [⎵ ⎵ ⎵ ```↵ ⎵ ⎵ ⎵ aaa↵ ⎵ ⎵ ⎵ ⎵ aaa↵ ⎵ ⎵ aaa↵ ⎵ ⎵ ⎵ ```↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- adding info string [] -- indentation: 4 --- got next line [ aaa] --- check indent: 1 vs 4 --- end count: 0 --- add: aaa --- got next line [ aaa] --- check indent: 1 vs 4 --- end count: 0 --- add: aaa --- got next line [ aaa] --- check indent: 1 vs 4 --- end count: 0 --- add: aaa --- got next line [ ```] --- check indent: 1 vs 4 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa aaa aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa aaa aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: | +---> resulting html: [
aaa
 aaa
aaa
] matched! markdown #134: [⎵ ⎵ ⎵ ⎵ ```↵ ⎵ ⎵ ⎵ ⎵ aaa↵ ⎵ ⎵ ⎵ ⎵ ```↵ ] 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "``` " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" aaa", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [aaa ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "``` aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ```", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [``` ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "``` aaa ``` " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "``` aaa ``` " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 | +---> resulting html: [
```
aaa
```
] matched! markdown #135: [```↵ aaa↵ ⎵ ⎵ ```↵ ] -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- end count: 0 --- add: aaa --- got next line [ ```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 | +---> resulting html: [
aaa
] matched! markdown #136: [⎵ ⎵ ⎵ ```↵ aaa↵ ⎵ ⎵ ```↵ ] column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- adding info string [] -- indentation: 4 --- got next line [aaa] --- check indent: 1 vs 4 --- end count: 0 --- add: aaa --- got next line [ ```] --- check indent: 1 vs 4 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
aaa
] matched! markdown #137: [```↵ aaa↵ ⎵ ⎵ ⎵ ⎵ ```↵ ] 96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- end count: 0 --- add: aaa --- got next line [ ```] --- check indent: 1 vs 1 --- add: ``` --- got next line [] --- found eof?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ``` " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="``` ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
aaa
    ```
] matched! markdown #138: [```⎵ ```↵ aaa↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` ```" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="aaa", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f04 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [aaa] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` ``` aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` ``` aaa" - * -------------------------------------------- TREE END --- ---- inline to parse: [``` ``` aaa] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [

aaa

] matched! markdown #139: [~~~~~~↵ aaa↵ ~~~⎵ ~~↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [aaa] --- check indent: 1 vs 1 --- add: aaa --- got next line [~~~ ~~] --- check indent: 1 vs 1 --- end count: 3 --- add: ~~~ ~~ --- got next line [] --- found eof?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ ~~ " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa ~~~ ~~ " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [
aaa
~~~ ~~
] matched! markdown #140: [foo↵ ```↵ bar↵ ```↵ baz↵ ] -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="```", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [bar] --- check indent: 1 vs 1 --- end count: 0 --- add: bar --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 2/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar " + PARAGRAPH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 2/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar " + PARAGRAPH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

foo

bar

baz

] matched! markdown #141: [foo↵ ---↵ ~~~↵ bar↵ ~~~↵ #⎵ baz↵ ] 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5420 -- 0x5c49d1ac5420 -- 0x5c49d1ac5444 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5420 it on entry: [0x5c49d1ac5420] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5420 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1accf00 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Count: 1) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Parent (DOCUMENT) - Content: "foo" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="~~~", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [bar] --- check indent: 1 vs 1 --- end count: 0 --- add: bar --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: CODE_BLOCK_TILDE, Count: 2) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (CODE_BLOCK_TILDE), Parent (DOCUMENT) - Content: "foo" - Number: 2 + CODE_BLOCK_TILDE (line/column: 3/1) - Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="# baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (CODE_BLOCK_TILDE), Parent (DOCUMENT) - Content: "foo" - Number: 2 + CODE_BLOCK_TILDE (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "bar " + HEADER_OPEN (line/column: 6/1) - Previous Sibling (CODE_BLOCK_TILDE), Parent (DOCUMENT) - Content: "baz" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_SINGLE, Last: HEADER_OPEN, Count: 3) - Block is followed by at least one empty line + HEADER_SINGLE (line/column: 2/1) - Next Sibling (CODE_BLOCK_TILDE), Parent (DOCUMENT) - Content: "foo" - Number: 2 + CODE_BLOCK_TILDE (line/column: 3/1) - Next Sibling (HEADER_OPEN), Previous Sibling (HEADER_SINGLE), Parent (DOCUMENT) - Content: "bar " + HEADER_OPEN (line/column: 6/1) - Previous Sibling (CODE_BLOCK_TILDE), Parent (DOCUMENT) - Content: "baz" - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```ruby", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [

foo

bar

baz

] matched! markdown #142: [```ruby↵ def⎵ foo(x)↵ ⎵ ⎵ return⎵ 3↵ end↵ ```↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [ruby] -- indentation: 1 --- got next line [def foo(x)] --- check indent: 1 vs 1 --- end count: 0 --- add: def foo(x) --- got next line [ return 3] --- check indent: 1 vs 1 --- end count: 0 --- add: return 3 --- got next line [end] --- check indent: 1 vs 1 --- end count: 0 --- add: end --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "def foo(x) return 3 end " - String Info: "ruby" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "def foo(x) return 3 end " - String Info: "ruby" - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~~ ruby star | +---> resulting html: [
def foo(x)
  return 3
end
] matched! markdown #143: [~~~~⎵ ⎵ ⎵ ⎵ ruby⎵ startline=3⎵ $%@#$↵ def⎵ foo(x)↵ ⎵ ⎵ return⎵ 3↵ end↵ ~~~~~~~↵ ] tline=3 $%@#$", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [ruby startline=3 $%@#$] -- indentation: 1 --- got next line [def foo(x)] --- check indent: 1 vs 1 --- end count: 0 --- add: def foo(x) --- got next line [ return 3] --- check indent: 1 vs 1 --- end count: 0 --- add: return 3 --- got next line [end] --- check indent: 1 vs 1 --- add: end --- got next line [~~~~~~~] --- check indent: 1 vs 1 --- end count: 7 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "def foo(x) return 3 end " - String Info: "ruby startline=3 $%@#$" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "def foo(x) return 3 end " - String Info: "ruby startline=3 $%@#$" - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="````;", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [
def foo(x)
  return 3
end
] matched! markdown #144: [````;↵ ````↵ ] 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [;] -- indentation: 1 --- got next line [````] --- check indent: 1 vs 1 --- end count: 4 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - String Info: ";" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - String Info: ";" - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="``` aa ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
] matched! markdown #145: [```⎵ aa⎵ ```↵ foo↵ ] 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accef0 it on entry: [0x5c49d1accef0] --- not HTML block? -- it position: 0 -- 0x5c49d1accef0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accef0 -- 0x5c49d1accef0 -- 0x5c49d1accf68 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acce20 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` aa ```" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accef0 it on entry: [0x5c49d1accef0] --- not HTML block? -- it position: 0 -- 0x5c49d1accef0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accef0 -- 0x5c49d1accef0 -- 0x5c49d1accf14 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` aa ``` foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` aa ``` foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [``` aa ``` foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="~~~ aa ``` ~~~", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [

aa foo

] matched! markdown #146: [~~~⎵ aa⎵ ```⎵ ~~~↵ foo↵ ~~~↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [126]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [aa ] -- indentation: 1 --- got next line [foo] --- check indent: 1 vs 1 --- end count: 0 --- add: foo --- got next line [~~~] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "aa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_TILDE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_TILDE (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo " - String Info: "aa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [
foo
] matched! markdown #147: [```↵ ```⎵ aaa↵ ```↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [``` aaa] --- check indent: 1 vs 1 --- end count: 3 --- add: ``` aaa --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "``` aaa " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: | +---> resulting html: [
``` aaa
] matched! markdown #148: [
↵ **Hello**,↵ ↵ _world_.↵ 
↵ ] 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] it column 1 vs 1 it after reading name "table": [0x5c49d1accd30] ... et [0x5c49d1accd78] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 1/1)
  - Content: "
**Hello**,
"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- tag ended with an empty line
 ---- got HTML block
+++ working parent is list? no
    last parent is list? no parent
    columns (w/wp/lp): 1 & 1 & no parent
+++ link new? 0x5c49d1accf00
---------------- process containers...
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS:
+ DOCUMENT (line/column: 1/1)
  - Has Children (First: TAG, Count: 1)
  - Block is followed by at least one empty line
  + TAG (line/column: 1/1)
    - Parent (DOCUMENT)
    - Content: "
**Hello**,
"
    - Block is followed by at least one empty line
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END
+++ checking for containers (list_indent=1, f_last_line="_world_.", list?=(not list), f_working_block->end_column()=1, has empty line? YES)
   column: 1 indent 1 -- it position: 0
+++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0
working block is a list? no and list_indent is 1 -- it position: 0
 >> parse for list [95]...
 >> not a list mark...
but after calling parse_list() we have list_indent = 1 -- it position: 0
+++ not a list or blockquote? -- it position: 0
any containers (other than line)?  -- it position: 0
 --- not empty?  -- it position: 0
 --- not indented block?  -- it position: 0
 --- not fenced block?  -- it position: 0 -- 0x5c49d1accd30
   it on entry: [0x5c49d1accd30]
 --- not HTML block?  -- it position: 0 -- 0x5c49d1accd30
 --- not header?  -- it position: 0
process_thematic_break_or_setext_heading() called!
 >>> sub-block? 0
 --- not thematic break?  -- it position: 0
 ---- process_reference_definition()...
 ---- not reference (1)...
 --- not reference?  -- it position: 0 == it is not at the end, we're good, right?
    setup character
    create paragraph
    add content -- 0x5c49d1accd30 -- 0x5c49d1accd30 -- 0x5c49d1accd90
    link child
    save working child
    end paragraph handling
 ---- paragraph
+++ working parent is list? no
    last parent is list? no
    columns (w/wp/lp): 1 & 1 & 1
+++ link new? 0x5c49d1ac6860
---------------- process containers...
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS:
+ DOCUMENT (line/column: 1/1)
  - Has Children (First: TAG, Last: PARAGRAPH, Count: 2)
  - Block is followed by at least one empty line
  + TAG (line/column: 1/1)
    - Next Sibling (PARAGRAPH), Parent (DOCUMENT)
    - Content: ""
- * -------------------------------- HTML BLOCK START END ---
- * -------------------------------- LAST BLOCK SO FAR:
+ LINE (line/column: 7/1)
- * -------------------------------- LAST BLOCK SO FAR END ---
 ---- build tag block now
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 7/1)
  - Content: "
**Hello**,
"
    - Block is followed by at least one empty line
  + PARAGRAPH (line/column: 5/1)
    - Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "_world_."
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END
+++ checking for containers (list_indent=2147483647, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] it column 1 vs 1 it after reading name "pre": [0x5c49d1accd30] ... et [0x5c49d1accd6c] --- not HTML block? -- it position: 0 -- 0x5c49d1accd30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accd30 -- 0x5c49d1accd30 -- 0x5c49d1accd78 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
**Hello**,
"
    - Block is followed by at least one empty line
  + PARAGRAPH (line/column: 5/1)
    - Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "_world_.
" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "td": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ae0] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 7/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
**Hello**,
"
    - Block is followed by at least one empty line
  + PARAGRAPH (line/column: 5/1)
    - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "_world_.
" + TAG (line/column: 7/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
**Hello**,
"
    - Block is followed by at least one empty line
  + PARAGRAPH (line/column: 5/1)
    - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "_world_.
" + TAG (line/column: 7/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [_world_.
] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [. ] ---------------- convert HTML tag (inline) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
**Hello**,

world.

] matched! markdown #149: [↵ ⎵ ⎵ ↵ ⎵ ⎵ ⎵ ⎵ ↵ ⎵ ⎵ ↵
↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ hi↵ ⎵ ⎵ ⎵ ⎵
↵ ↵ okay.↵ ] 60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "table": [0x5c49d1ac5840] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
hi " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
hi
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
hi
< [...]" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
hi
[...]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="okay.", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d6c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
hi
[...]" - Block is followed by at least one empty line + PARAGRAPH (line/column: 9/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
hi
[...]" - Block is followed by at least one empty line + PARAGRAPH (line/column: 9/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay." - * -------------------------------------------- TREE END --- ---- inline to parse: [okay.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 | +---> resulting html: [
hi
hi

okay.

] matched! markdown #150: [⎵
↵ ⎵ ⎵ *hello*↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ↵ ] blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac4eec it on entry: [0x5c49d1ac4eec] it column 2 vs 1 it after reading name "div": [0x5c49d1ac4eec] ... et [0x5c49d1ac4f1c] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 2 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/2) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/2) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/2) - Content: "
*hello* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/2) - Content: "
*hello* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/2) - Parent (DOCUMENT) - Content: "
*hello* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/2) - Parent (DOCUMENT) - Content: " ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [ ↵ *foo*↵ ] 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac4ee0] ... et [0x5c49d1ac4f1c] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
*foo* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*foo* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*foo* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [
*foo* ] matched! markdown #152: [↵ ↵ *Markdown*↵ ↵
↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ae0] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*Markdown*", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [77]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b28 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7aec] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 5/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 5/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Markdown*" - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [*Markdown*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [

Markdown

] matched! markdown #153: [
↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] it column 1 vs 1 it after reading name "div": [0x5c49d1accd30] ... et [0x5c49d1accd60] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far | +---> resulting html: [
] matched! markdown #154: [
↵ ] 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ae0] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = | +---> resulting html: [
] matched! markdown #155: [
↵ *foo*↵ ↵ *bar*↵ ] 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac4ee0] ... et [0x5c49d1ac4f10] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
*foo* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*foo* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*bar*", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [98]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
*foo* " - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*bar*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
*foo* " - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*bar*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*bar*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [
*foo*

bar

] matched! markdown #156: [> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac76f0 it on entry: [0x5c49d1ac76f0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac76f0] ... et [0x5c49d1ac7720] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6850 it on entry: [0x5c49d1ac6850] it column 1 vs 1 it after reading name "div": [0x5c49d1ac6850] ... et [0x5c49d1ac6880] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ae0] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*foo* resulting html: [
*foo*
↵ ] div>", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac96c0] ... et [0x5c49d1ac96f0] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 | +---> resulting html: [ ] matched! markdown #160: [
↵ foo↵
↵ ] +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac76f0 it on entry: [0x5c49d1ac76f0] it column 1 vs 1 it after reading name "table": [0x5c49d1ac76f0] ... et [0x5c49d1ac7738] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
foo " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
foo
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
foo
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
foo
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
foo
] matched! markdown #161: [
↵ ```⎵ c↵ int⎵ x⎵ =⎵ 33;↵ ```↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac76f0 it on entry: [0x5c49d1ac76f0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac76f0] ... et [0x5c49d1ac7720] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
``` c " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
``` c int x = 33; " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
``` c int x = 33; ``` " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
``` c int x = 33; ``` " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
``` c int x = 33; ``` " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [
``` c int x = 33; ``` ] matched! markdown #162: [↵ *bar*↵
↵ ] 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] it column 1 vs 1 it after reading name "a": [0x5c49d1ac8f80] ... et [0x5c49d1ac8f98] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: ")... ---- tag innards state: 0 for [ href="foo">]... ---- tag innards skip blank ---- tag innards state: 0 for [href="foo">]... ---- tag innards found attribute name ---- tag innards state: 1 for [="foo">]... ---- tag innards got '=' before value ---- tag innards state: 3 for ["foo">]... ---- tag innards state: 5 for [foo">]... ---- tag innards state: 5 for [oo">]... ---- tag innards state: 5 for [o">]... ---- tag innards state: 5 for [">]... ---- tag innards state: 0 for [>]... ---- tag innards found '>', valid! ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [ *bar* ] matched! markdown #163: [↵ *bar*↵ ↵ ] 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accd30 it on entry: [0x5c49d1accd30] it column 1 vs 1 it after reading name "warning": [0x5c49d1accd30] ... et [0x5c49d1accd90] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [ *bar* ] matched! markdown #164: [↵ *bar*↵ ↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] it column 1 vs 1 it after reading name "i": [0x5c49d1ac5d30] ... et [0x5c49d1ac5d48] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: ")... ---- tag innards state: 0 for [ class="foo">]... ---- tag innards skip blank ---- tag innards state: 0 for [class="foo">]... ---- tag innards found attribute name ---- tag innards state: 1 for [="foo">]... ---- tag innards got '=' before value ---- tag innards state: 3 for ["foo">]... ---- tag innards state: 5 for [foo">]... ---- tag innards state: 5 for [oo">]... ---- tag innards state: 5 for [o">]... ---- tag innards state: 5 for [">]... ---- tag innards state: 0 for [>]... ---- tag innards found '>', valid! ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [ *bar* ] matched! markdown #165: [↵ *bar*↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "ins": [0x5c49d1ac5840] ... et [0x5c49d1ac587c] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *bar* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *bar* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [ *bar* ] matched! markdown #166: [↵ *foo*↵ ↵ ] >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "del": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *foo* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " *foo* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *foo* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " *foo* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... | +---> resulting html: [ *foo* ] matched! markdown #167: [↵ ↵ *foo*↵ ↵ ↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "del": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*foo*", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [102]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "del": [0x5c49d1ac5840] ... et [0x5c49d1ac587c] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 5/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 5/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [*foo*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*foo*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: | +---> resulting html: [

foo

] matched! markdown #168: [*foo*↵ ] 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac76f0 it on entry: [0x5c49d1ac76f0] it column 1 vs 1 it after reading name "del": [0x5c49d1ac76f0] ... et [0x5c49d1ac7720] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- COMPLETE TAG -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- not complete (followed by something other than blanks) --- not HTML block? -- it position: 0 -- 0x5c49d1ac76f0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac76f0 -- 0x5c49d1ac76f0 -- 0x5c49d1ac77b0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "*foo*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "*foo*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*foo*] ---------------- convert HTML tag (inline) ---- tag innards state: 0 for [>*foo*]... ---- tag innards found '>', valid! >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [
] ---------------- convert HTML tag (inline) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()= |
 +---> resulting html: [

foo

] matched! markdown #169: [↵ import⎵ Text.HTML.TagSoup↵ ↵ main⎵ ::⎵ IO⎵ ()↵ main⎵ =⎵ print⎵ $⎵ parseTags⎵ tags↵
↵ okay↵ ] 1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "pre": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7ae0] ---- append tag intro to tag_block -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "

import Text.HTML.TagSoup
"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 1/1)
  - Content: "

import Text.HTML.TagSoup

"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 1/1)
  - Content: "

import Text.HTML.TagSoup

 [...]"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 1/1)
  - Content: "

import Text.HTML.TagSoup

 [...]"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- got HTML block
+++ working parent is list? no
    last parent is list? no parent
    columns (w/wp/lp): 1 & 1 & no parent
+++ link new? 0x5c49d1ac8f90
---------------- process containers...
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS:
+ DOCUMENT (line/column: 1/1)
  - Has Children (First: TAG, Count: 1)
  - Block is followed by at least one empty line
  + TAG (line/column: 1/1)
    - Parent (DOCUMENT)
    - Content: "

import Text.HTML.TagSoup [...]"
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END
+++ checking for containers (list_indent=2147483647, f_last_line="okay", list?=(not list), f_working_block->end_column()=1, has empty line? no)
   column: 1 indent 2147483647 -- it position: 0
+++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0
working block is a list? no and list_indent is 2147483647 -- it position: 0
 >> parse for list [111]...
 >> not a list mark...
but after calling parse_list() we have list_indent = 2147483647 -- it position: 0
+++ not a list or blockquote? -- it position: 0
any containers (other than line)?  -- it position: 0
 --- not empty?  -- it position: 0
 --- not indented block?  -- it position: 0
 --- not fenced block?  -- it position: 0 -- 0x5c49d1ac7ab0
   it on entry: [0x5c49d1ac7ab0]
 --- not HTML block?  -- it position: 0 -- 0x5c49d1ac7ab0
 --- not header?  -- it position: 0
process_thematic_break_or_setext_heading() called!
 --- not thematic break?  -- it position: 0
 ---- process_reference_definition()...
 ---- not reference (1)...
 --- not reference?  -- it position: 0 == it is not at the end, we're good, right?
    setup character
    create paragraph
    add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ae0
    link child
    save working child
    end paragraph handling
 ---- paragraph
+++ working parent is list? no
    last parent is list? no
    columns (w/wp/lp): 1 & 1 & 1
+++ link new? 0x5c49d1ac5d40
---------------- process containers...
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS:
+ DOCUMENT (line/column: 1/1)
  - Has Children (First: TAG, Last: PARAGRAPH, Count: 2)
  - Block is followed by at least one empty line
  + TAG (line/column: 1/1)
    - Next Sibling (PARAGRAPH), Parent (DOCUMENT)
    - Content: "

import Text.HTML.TagSoup [...]"
  + PARAGRAPH (line/column: 7/1)
    - Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "okay"
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END
+++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no)
any containers (other than line)?  -- it position: 0
found empty line (completely empty + Last? EOS)
- * -------------------------------------------- TREE:
+ DOCUMENT (line/column: 1/1)
  - Has Children (First: TAG, Last: PARAGRAPH, Count: 2)
  - Block is followed by at least one empty line
  + TAG (line/column: 1/1)
    - Next Sibling (PARAGRAPH), Parent (DOCUMENT)
    - Content: "

import Text.HTML.TagSoup [...]"
  + PARAGRAPH (line/column: 7/1)
    - Previous Sibling (TAG), Parent (DOCUMENT)
    - Content: "okay"
- * -------------------------------------------- TREE END ---
 ---- inline to parse: [okay]
---------------- process containers...
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS:
+ DOCUMENT (line/column: 1/1)
  - Block is followed by at least one empty line
- * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END
+++ checking for containers (list_indent=1, f_last_line="↵ okay↵ ]
1, has empty line? YES)
   column: 1 indent 1 -- it position: 0
+++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0
working block is a list? no and list_indent is 1 -- it position: 0
 >> parse for list [60]...
 >> not a list mark...
but after calling parse_list() we have list_indent = 1 -- it position: 0
+++ not a list or blockquote? -- it position: 0
any containers (other than line)?  -- it position: 0
 --- not empty?  -- it position: 0
 --- not indented block?  -- it position: 0
 --- not fenced block?  -- it position: 0 -- 0x5c49d1ac7ab0
   it on entry: [0x5c49d1ac7ab0]
   it column 1 vs 1
   it after reading name "script": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7b04]
 ---- append tag intro to tag_block -- column limit: 1
- * -------------------------------- HTML BLOCK START:
+ TAG (line/column: 1/1)
  - Content: "
"
- * -------------------------------- HTML BLOCK APPEND LOOP END ---
 ---- append whole line before closing tag or empty line...
- * -------------------------------- HTML BLOCK APPEND LOOP:
+ TAG (line/column: 1/1)
  - Content: "

okay

] matched! markdown #171: [↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] it column 1 vs 1 it after reading name "textarea": [0x5c49d1ac8f80] ... et [0x5c49d1ac8fec] ---- append tag intro to tag_block -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [ ] matched! markdown #172: [↵ h1⎵ {color:red;}↵ ↵ p⎵ {color:blue;}↵ ↵ okay↵ ] >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "style": [0x5c49d1ac5840] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "

okay

] matched! markdown #173: [↵ ↵ foo↵ ] 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "style": [0x5c49d1ac5840] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 | +---> resulting html: [
  • foo
] matched! markdown #176: [↵ *foo*↵ ] indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "style": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7af8] ---- append tag intro to tag_block -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="*foo*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [102]... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " + PARAGRAPH (line/column: 2/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " + PARAGRAPH (line/column: 2/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*foo*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*foo*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*bar*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [

foo

] matched! markdown #177: [*bar*↵ *baz*↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 * checking for comment: *bar* +---> state 0 current end of string: [ foo -->*bar*] +---> state 0 current end of string: [foo -->*bar*] +---> state 0 current end of string: [oo -->*bar*] +---> state 0 current end of string: [o -->*bar*] +---> state 0 current end of string: [ -->*bar*] +---> state 0 current end of string: [-->*bar*] +---> state 1 current end of string: [->*bar*] +---> state 2 current end of string: [>*bar*] ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "*bar* " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="*baz*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [98]... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "*bar* " + PARAGRAPH (line/column: 2/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*baz*" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "*bar* " + PARAGRAPH (line/column: 2/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*baz*" - * -------------------------------------------- TREE END --- ---- inline to parse: [*baz*] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1.⎵ *bar*↵ ] 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "script": [0x5c49d1ac5840] ... et [0x5c49d1ac5894] ---- append tag intro to tag_block -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "1. *bar* " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "1. *bar* " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" resulting html: [1. *bar* ] matched! markdown #179: [↵ okay↵ ] >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 * checking for comment: state 0 current end of string: [ Foo] +---> state 0 current end of string: [Foo] +---> state 0 current end of string: [oo] +---> state 0 current end of string: [o] +---> state 0 current end of string: [] +---> checking next line: +---> state 0 current end of string: [] +---> checking next line: bar +---> state 0 current end of string: [bar] +---> state 0 current end of string: [ar] +---> state 0 current end of string: [r] +---> state 0 current end of string: [] +---> checking next line: baz --> +---> state 0 current end of string: [ baz -->] +---> state 0 current end of string: [ baz -->] +---> state 0 current end of string: [ baz -->] +---> state 0 current end of string: [baz -->] +---> state 0 current end of string: [az -->] +---> state 0 current end of string: [z -->] +---> state 0 current end of string: [ -->] +---> state 0 current end of string: [-->] +---> state 1 current end of string: [->] +---> state 2 current end of string: [>] ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="okay", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6850 it on entry: [0x5c49d1ac6850] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6850 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6850 -- 0x5c49d1ac6850 -- 0x5c49d1ac6880 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " + PARAGRAPH (line/column: 5/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: " " + PARAGRAPH (line/column: 5/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay" - * -------------------------------------------- TREE END --- ---- inline to parse: [okay] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... | +---> resulting html: [

okay

] matched! markdown #180: [';↵ ↵ ?>↵ okay↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "'; ?> " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="okay", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d60 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "'; ?> " + PARAGRAPH (line/column: 6/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "'; ?> " + PARAGRAPH (line/column: 6/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "okay" - * -------------------------------------------- TREE END --- ---- inline to parse: [okay] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 | +---> resulting html: ['; ?>

okay

] matched! markdown #181: [↵ ] -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] it column 1 vs 1 * identity first line: ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: " " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... | +---> resulting html: [ ] matched! markdown #182: [↵ okay↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] it column 1 vs 1 * identity first line: checking next line: function matchwo(a,b) +---> checking next line: { +---> checking next line: if (a < b && a < 0) then { +---> checking next line: return 1; +---> checking next line: +---> checking next line: } else { +---> checking next line: +---> checking next line: return 0; +---> checking next line: } +---> checking next line: } +---> checking next line: ]]> ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ae0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far | +---> resulting html: [

okay

] matched! markdown #183: [⎵ ⎵ ↵ ↵ ⎵ ⎵ ⎵ ⎵ ↵ ] 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5d48 it on entry: [0x5c49d1ac5d48] it column 3 vs 1 * checking for comment: +---> state 0 current end of string: [ foo -->] +---> state 0 current end of string: [foo -->] +---> state 0 current end of string: [oo -->] +---> state 0 current end of string: [o -->] +---> state 0 current end of string: [ -->] +---> state 0 current end of string: [-->] +---> state 1 current end of string: [->] +---> state 2 current end of string: [>] ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + TAG (line/column: 1/3) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far | +---> resulting html: [
<!-- foo -->
] matched! markdown #184: [⎵ ⎵
↵ ↵ ⎵ ⎵ ⎵ ⎵
↵ ] 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] it column 3 vs 1 it after reading name "div": [0x5c49d1ac5858] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 3 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/3) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/3) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 3/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
" - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? | +---> resulting html: [
<div>
] matched! markdown #185: [Foo↵
↵ bar↵
↵ ] -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac6860 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "div": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 2/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 2/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 2/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 2/1) - Content: "
bar " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 2/1) - Content: "
bar
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: TAG, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "Foo" + TAG (line/column: 2/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
bar
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: TAG, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "Foo" + TAG (line/column: 2/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
bar
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... | +---> resulting html: [

Foo

bar
] matched! markdown #186: [
↵ bar↵
↵ *foo*↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "div": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
bar " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
bar
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
bar
*foo* " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
bar
*foo* " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
bar
*foo* " - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: | +---> resulting html: [
bar
*foo* ] matched! markdown #187: [Foo↵ ↵ baz↵ ] 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] it column 1 vs 1 it after reading name "a": [0x5c49d1ac5d30] ... et [0x5c49d1ac5d48] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5dd8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d54 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo baz] ---------------- convert HTML tag (inline) ---- tag innards state: 0 for [href="bar"> baz]... ---- tag innards found attribute name ---- tag innards state: 1 for [="bar"> baz]... ---- tag innards got '=' before value ---- tag innards state: 3 for ["bar"> baz]... ---- tag innards state: 5 for [bar"> baz]... ---- tag innards state: 5 for [ar"> baz]... ---- tag innards state: 5 for [r"> baz]... ---- tag innards state: 5 for ["> baz]... ---- tag innards state: 0 for [> baz]... ---- tag innards found '>', valid! ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... | +---> resulting html: [

Foo baz

] matched! markdown #188: [
↵ ↵ *Emphasized*⎵ text.↵ ↵
↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "div": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*Emphasized* text.", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... >> list blank missing [69]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b88 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] it column 1 vs 1 it after reading name "div": [0x5c49d1ac7ab0] ... et [0x5c49d1ac7aec] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 5/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 5/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: "*Emphasized* text." - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [*Emphasized* text.] >>> found some mark... >>> mark could be a left flanking span... *** remain after 'span': [ text.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [

Emphasized text.

] matched! markdown #189: [
↵ *Emphasized*⎵ text.↵
↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "div": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
*Emphasized* text. " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
*Emphasized* text.
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*Emphasized* text.
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
*Emphasized* text.
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [
*Emphasized* text.
] matched! markdown #190: [
↵ ↵ ↵ ↵ ↵ ↵ ↵ ↵
↵ Hi↵
↵ ] >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "table": [0x5c49d1ac5840] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accfe0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "tr": [0x5c49d1ac5840] ... et [0x5c49d1ac5864] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 3/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 3/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 3/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + TAG (line/column: 3/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1accd40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "td": [0x5c49d1ac5840] ... et [0x5c49d1ac5864] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 5/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 5/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: " Hi " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 5/1) - Content: " Hi
" - Block is followed by at least one empty line + TAG (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 5/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "tr": [0x5c49d1ac5840] ... et [0x5c49d1ac5870] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 9/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 9/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 9/1) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 4) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line + TAG (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 5/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
Hi
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "table": [0x5c49d1ac5840] ... et [0x5c49d1ac5894] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 11/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 11/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 11/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 5) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 5/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 11/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 5) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 5/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/1) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 11/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [
Hi
] matched! markdown #191: [↵ ↵ ⎵ ⎵ ↵ ↵ ⎵ ⎵ ⎵ ⎵ ↵ ↵ ⎵ ⎵ ↵ ↵
↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ Hi↵ ⎵ ⎵ ⎵ ⎵
↵ ] >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 it after reading name "table": [0x5c49d1ac5840] ... et [0x5c49d1ac5888] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 1/1) - Content: "" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 1/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 1/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Count: 1) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] it column 3 vs 1 it after reading name "tr": [0x5c49d1ac5858] ... et [0x5c49d1ac587c] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 3 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 3/3) - Content: " " - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 3/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 3/3) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 2) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
" - Block is followed by at least one empty line + TAG (line/column: 3/3) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" Hi", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ Hi ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="
" - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi Hi
" - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac6868 it on entry: [0x5c49d1ac6868] it column 3 vs 1 it after reading name "tr": [0x5c49d1ac6868] ... et [0x5c49d1ac6898] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 3 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 9/3) - Content: " " - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 9/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 9/3) - Content: " " - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 4) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/3) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="
Hi
", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6850 it on entry: [0x5c49d1ac6850] it column 1 vs 1 it after reading name "table": [0x5c49d1ac6850] ... et [0x5c49d1ac68a4] ---- append tag intro to tag_block -- END WITH EMPTY LINE -- CLOSED -- column limit: 1 - * -------------------------------- HTML BLOCK START: + TAG (line/column: 11/1) - Content: "
" - * -------------------------------- HTML BLOCK START END --- - * -------------------------------- LAST BLOCK SO FAR: + LINE (line/column: 11/1) - * -------------------------------- LAST BLOCK SO FAR END --- ---- build tag block now ---- append whole line before closing tag or empty line... - * -------------------------------- HTML BLOCK APPEND LOOP: + TAG (line/column: 11/1) - Content: "
" - * -------------------------------- HTML BLOCK APPEND LOOP END --- ---- tag ended with an empty line ---- got HTML block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 5) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/3) - Next Sibling (TAG), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 11/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: TAG, Last: TAG, Count: 5) - Block is followed by at least one empty line + TAG (line/column: 1/1) - Next Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 3/3) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Next Sibling (TAG), Previous Sibling (TAG), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 9/3) - Next Sibling (TAG), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + TAG (line/column: 11/1) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "
Hi
" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url "title"", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url "title"}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] [title]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: | +---> resulting html: [
<td>
  Hi
</td>
] matched! markdown #192: [[foo]:⎵ /url⎵ "title"↵ ↵ [foo]↵ ] + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" [foo]: ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 | +---> resulting html: [

foo

] matched! markdown #193: [⎵ ⎵ ⎵ [foo]:⎵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ /url⎵ ⎵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ 'the⎵ title'⎵ ⎵ ↵ ↵ [foo]↵ ] +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ace3c4 it on entry: [0x5c49d1ace3c4] --- not HTML block? -- it position: 3 -- 0x5c49d1ace3c4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- skip blanks on next line... ---- parse link destination... ---- ref: destination {/url }... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] [the title]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[Foo*bar\]]:my_(url) 'title (with parens)'", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [

foo

] matched! markdown #194: [[Foo*bar\]]:my_(url)⎵ 'title⎵ (with⎵ parens)'↵ ↵ [Foo*bar\]]↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {my_(url) 'title (with parens)'}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [my_(url)]... ---- add result as link reference [Foo*bar\]] [my_(url)] [title (with parens)]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[Foo*bar\]]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9744 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[Foo*bar\]]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[Foo*bar\]]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[Foo*bar\]]] not a valid link destination, try again as a reference... --- ref: search for link named [foo*bar\]] convert character: 109 convert character: 121 convert character: 95 convert character: 40 convert character: 117 convert character: 114 convert character: 108 convert character: 41 URI converted: my_(url) >>> found some mark... >>> mark could be a left flanking span... ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[Foo bar]:", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 | +---> resulting html: [

Foo*bar]

] matched! markdown #195: [[Foo⎵ bar]:↵ ↵ 'title'↵ ↵ [Foo⎵ bar]↵ ] -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- skip blanks on next line... ---- parse link destination... ---- ref: destination {}... ---- ref: read between < and >... ---- ref: now destiation is ... ---- add result as link reference [Foo bar] [my%20url] [title]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[Foo bar]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8f0c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Parent (DOCUMENT) - Content: "[Foo bar]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Parent (DOCUMENT) - Content: "[Foo bar]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[Foo bar]] not a valid link destination, try again as a reference... --- ref: search for link named [foo bar] convert character: 109 convert character: 121 convert character: 117 convert character: 114 convert character: 108 URI converted: my%20url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url '", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [

Foo bar

] matched! markdown #196: [[foo]:⎵ /url⎵ '↵ title↵ line1↵ line2↵ '↵ ↵ [foo]↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace3a0 it on entry: [0x5c49d1ace3a0] --- not HTML block? -- it position: 0 -- 0x5c49d1ace3a0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url '}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] [ title line1 line2 ]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace3a0 it on entry: [0x5c49d1ace3a0] --- not HTML block? -- it position: 0 -- 0x5c49d1ace3a0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace3a0 -- 0x5c49d1ace3a0 -- 0x5c49d1ace3dc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 7/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 7/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url 'title", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [

foo

] matched! markdown #197: [[foo]:⎵ /url⎵ 'title↵ ↵ with⎵ blank⎵ line'↵ ↵ [foo]↵ ] , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url 'title}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- ref: bad title, two or more empty lines... ---- not reference (5)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b88 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url 'title" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="with blank line'", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b70 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url 'title" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "with blank line'" - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]: /url 'title] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---- inline to parse: [with blank line'] ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]:", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

[foo]: /url 'title

with blank line'

[foo]

] matched! markdown #198: [[foo]:↵ /url↵ ↵ [foo]↵ ] >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- skip blanks on next line... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]:", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 | +---> resulting html: [

foo

] matched! markdown #199: [[foo]:↵ ↵ [foo]↵ ] any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- skip blanks on next line... ---- not reference (4)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]:" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]:" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]:" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]:" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]:" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]:" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]:] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: <>", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [

[foo]:

[foo]

] matched! markdown #200: [[foo]:⎵ <>↵ ↵ [foo]↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {<>}... ---- ref: read between < and >... ---- ref: now destiation is <>... ---- add result as link reference [foo] [] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d6c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] URI converted: ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: (baz)", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [

foo

] matched! markdown #201: [[foo]:⎵ (baz)↵ ↵ [foo]↵ ] -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {(baz)}... ---- ref: read between < and >... ---- ref: now destiation is ... ---- not reference (5)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: (baz)" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: (baz)" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: (baz)" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: (baz)" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: (baz)" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: (baz)" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]: (baz)] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- convert HTML tag (inline) ---- tag innards state: 0 for [>(baz)]... ---- tag innards found '>', valid! ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url\bar\*baz "foo\"bar\baz | +---> resulting html: [

[foo]: (baz)

[foo]

] matched! markdown #202: [[foo]:⎵ /url\bar\*baz⎵ "foo\"bar\baz"↵ ↵ [foo]↵ ] "", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url\bar\*baz "foo\"bar\baz"}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url\bar*baz]... ---- add result as link reference [foo] [/url\bar*baz] [foo"bar\baz]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac96fc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 convert character: 98 convert character: 97 convert character: 114 convert character: 42 convert character: 98 convert character: 97 convert character: 122 URI converted: /url%5Cbar*baz ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

foo

] matched! markdown #203: [[foo]↵ ↵ [foo]:⎵ url↵ ] 91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: url", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accf30 it on entry: [0x5c49d1accf30] --- not HTML block? -- it position: 0 -- 0x5c49d1accf30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [url]... ---- add result as link reference [foo] [url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 117 convert character: 114 convert character: 108 URI converted: url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = | +---> resulting html: [

foo

] matched! markdown #204: [[foo]↵ ↵ [foo]:⎵ first↵ [foo]:⎵ second↵ ] 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: first", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace560 it on entry: [0x5c49d1ace560] --- not HTML block? -- it position: 0 -- 0x5c49d1ace560 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {first}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [first]... ---- add result as link reference [foo] [first] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: second", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace560 it on entry: [0x5c49d1ace560] --- not HTML block? -- it position: 0 -- 0x5c49d1ace560 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {second}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [second]... ---- add result as link reference [foo] [second] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 102 convert character: 105 convert character: 114 convert character: 115 convert character: 116 URI converted: first ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[FOO]: /url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

foo

] matched! markdown #205: [[FOO]:⎵ /url↵ ↵ [Foo]↵ ] 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [FOO] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[Foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fbc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[Foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[Foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[Foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[ΑΓΩ]: /φου", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [

Foo

] matched! markdown #206: [[ΑΓΩ]:⎵ /φου↵ ↵ [αγω]↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/φου}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/φου]... ---- add result as link reference [ΑΓΩ] [/φου] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[αγω]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5d30 it on entry: [0x5c49d1ac5d30] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5d30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d6c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[αγω]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "[αγω]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[αγω]] not a valid link destination, try again as a reference... --- ref: search for link named [αγω] convert character: 47 convert character: 966 convert character: 959 convert character: 965 URI converted: /%CF%86%CE%BF%CF%85 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

αγω

] matched! markdown #207: [[foo]:⎵ /url↵ ] >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace480 it on entry: [0x5c49d1ace480] --- not HTML block? -- it position: 0 -- 0x5c49d1ace480 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 | +---> resulting html: [] matched! markdown #208: [[↵ foo↵ ]:⎵ /url↵ bar↵ ] +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x7ffc66b20718 it on entry: [0x7ffc66b20718] --- not HTML block? -- it position: 0 -- 0x7ffc66b20718 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url "title" | +---> resulting html: [

bar

] matched! markdown #209: [[foo]:⎵ /url⎵ "title"⎵ ok↵ ] ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url "title" ok}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- ref: title followed by chars other than blanks... ---- not reference (5)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7bb8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url "title" ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url "title" ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]: /url "title" ok] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [

[foo]: /url "title" ok

] matched! markdown #210: [[foo]:⎵ /url↵ "title"⎵ ok↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accf30 it on entry: [0x5c49d1accf30] --- not HTML block? -- it position: 0 -- 0x5c49d1accf30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- ref: title followed by chars other than blanks... ---- add result as link reference [foo] [/url] [title]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=""title" ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [34]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accf30 it on entry: [0x5c49d1accf30] --- not HTML block? -- it position: 0 -- 0x5c49d1accf30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accf30 -- 0x5c49d1accf30 -- 0x5c49d1accfa8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: ""title" ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: ""title" ok" - * -------------------------------------------- TREE END --- ---- inline to parse: ["title" ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" [foo]: /url "title"", list?=(no parent) | +---> resulting html: [

"title" ok

] matched! markdown #211: [⎵ ⎵ ⎵ ⎵ [foo]:⎵ /url⎵ "title"↵ ↵ [foo]↵ ] , f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "[foo]: /url "title" " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "[foo]: /url "title" " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "[foo]: /url "title" " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "[foo]: /url "title" " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url "title" " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url "title" " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [96]... | +---> resulting html: [
[foo]: /url "title"

[foo]

] matched! markdown #212: [```↵ [foo]:⎵ /url↵ ```↵ ↵ [foo]↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [[foo]: /url] --- check indent: 1 vs 1 --- end count: 0 --- add: [foo]: /url --- got next line [```] --- check indent: 1 vs 1 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]: /url " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace480 it on entry: [0x5c49d1ace480] --- not HTML block? -- it position: 0 -- 0x5c49d1ace480 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace480 -- 0x5c49d1ace4bc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url " - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_GRAVE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[foo]: /url " - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/1) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... | +---> resulting html: [
[foo]: /url

[foo]

] matched! markdown #213: [Foo↵ [bar]:⎵ /baz↵ ↵ [bar]↵ ] but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[bar]: /baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accf30 it on entry: [0x5c49d1accf30] --- not HTML block? -- it position: 0 -- 0x5c49d1accf30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accf30 -- 0x5c49d1accf30 -- 0x5c49d1accfb4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [[bar]: /baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[bar]", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1accf30 it on entry: [0x5c49d1accf30] --- not HTML block? -- it position: 0 -- 0x5c49d1accf30 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1accf30 -- 0x5c49d1accf30 -- 0x5c49d1accf6c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[bar]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "Foo [bar]: /baz" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "[bar]" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo [bar]: /baz] not a valid link destination, try again as a reference... --- ref: search for link named [bar] >>> not a link... return error [[] ---- inline to parse: [[bar]] not a valid link destination, try again as a reference... --- ref: search for link named [bar] >>> not a link... return error [[] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# [Foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [

Foo [bar]: /baz

[bar]

] matched! markdown #214: [#⎵ [Foo]↵ [foo]:⎵ /url↵ >⎵ bar↵ ] 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "[Foo]" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[foo]: /url", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace560 it on entry: [0x5c49d1ace560] --- not HTML block? -- it position: 0 -- 0x5c49d1ace560 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Count: 1) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Parent (DOCUMENT) - Content: "[Foo]" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ace578 it on entry: [0x5c49d1ace578] --- not HTML block? -- it position: 2 -- 0x5c49d1ace578 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace578 -- 0x5c49d1ace59c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "[Foo]" - Number: 1 + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_OPEN, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + HEADER_OPEN (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "[Foo]" - Number: 1 + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (HEADER_OPEN), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [[Foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [

Foo

bar

] matched! markdown #215: [[foo]:⎵ /url↵ bar↵ ===↵ [foo]↵ ] -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fa4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="===", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "bar" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ace570 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- - * ---------------------------- DOCUMENT TREE AFTER RELINK + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER RELINK END --- ---- break or setext +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Count: 1) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Parent (DOCUMENT) - Content: "bar" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8f80 it on entry: [0x5c49d1ac8f80] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8f80 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fbc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - Number: 1 + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: HEADER_DOUBLE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + HEADER_DOUBLE (line/column: 3/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - Number: 1 + PARAGRAPH (line/column: 4/1) - Previous Sibling (HEADER_DOUBLE), Parent (DOCUMENT) - Content: "[foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

bar

foo

] matched! markdown #216: [[foo]:⎵ /url↵ ===↵ [foo]↵ ] >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace3a0 it on entry: [0x5c49d1ace3a0] --- not HTML block? -- it position: 0 -- 0x5c49d1ace3a0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="===", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [61]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace3a0 it on entry: [0x5c49d1ace3a0] --- not HTML block? -- it position: 0 -- 0x5c49d1ace3a0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace3a0 -- 0x5c49d1ace3a0 -- 0x5c49d1ace3c4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "===" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[foo]", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace3a0 it on entry: [0x5c49d1ace3a0] --- not HTML block? -- it position: 0 -- 0x5c49d1ace3a0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace3a0 -- 0x5c49d1ace3a0 -- 0x5c49d1ace3dc link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [[foo]] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "=== [foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/1) - Parent (DOCUMENT) - Content: "=== [foo]" - * -------------------------------------------- TREE END --- ---- inline to parse: [=== [foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]: /foo-url "foo | +---> resulting html: [

=== foo

] matched! markdown #217: [[foo]:⎵ /foo-url⎵ "foo"↵ [bar]:⎵ /bar-url↵ ⎵ ⎵ "bar"↵ [baz]:⎵ /baz-url↵ ↵ [foo],↵ [bar],↵ [baz]↵ ] "", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/foo-url "foo"}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/foo-url]... ---- add result as link reference [foo] [/foo-url] [foo]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[bar]: /bar-url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/bar-url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/bar-url]... ---- add result as link reference [bar] [/bar-url] [bar]... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[baz]: /baz-url", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/baz-url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/baz-url]... ---- add result as link reference [baz] [/baz-url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo],", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 44... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Parent (DOCUMENT) - Content: "[foo]," - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[bar],", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [[bar],] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Parent (DOCUMENT) - Content: "[foo], [bar]," - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="[baz]", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [[baz]] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Parent (DOCUMENT) - Content: "[foo], [bar], [baz]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 6/1) - Parent (DOCUMENT) - Content: "[foo], [bar], [baz]" - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo], [bar], [baz]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 102 convert character: 111 convert character: 111 convert character: 45 convert character: 117 convert character: 114 convert character: 108 URI converted: /foo-url not a valid link destination, try again as a reference... --- ref: search for link named [bar] convert character: 47 convert character: 98 convert character: 97 convert character: 114 convert character: 45 convert character: 117 convert character: 114 convert character: 108 URI converted: /bar-url not a valid link destination, try again as a reference... --- ref: search for link named [baz] convert character: 47 convert character: 98 convert character: 97 convert character: 122 convert character: 45 convert character: 117 convert character: 114 convert character: 108 URI converted: /baz-url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="[foo]", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1 | +---> resulting html: [

foo, bar, baz

] matched! markdown #218: [[foo]↵ ↵ >⎵ [foo]:⎵ /url↵ ] , list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 0... ---- not reference (3)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> [foo]: /url", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac8f98 it on entry: [0x5c49d1ac8f98] --- not HTML block? -- it position: 2 -- 0x5c49d1ac8f98 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [foo] [/url] []... ---- link reference +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "[foo]" - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Number: 1 - * -------------------------------------------- TREE END --- ---- inline to parse: [[foo]] not a valid link destination, try again as a reference... --- ref: search for link named [foo] convert character: 47 convert character: 117 convert character: 114 convert character: 108 URI converted: /url ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... | +---> resulting html: [

foo

] matched! markdown #219: [aaa↵ ↵ bbb↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa] ---- inline to parse: [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: | +---> resulting html: [

aaa

bbb

] matched! markdown #220: [aaa↵ bbb↵ ↵ ccc↵ ddd↵ ] 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="ccc", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "ccc" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="ddd", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [ddd] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "ccc ddd" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa bbb" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "ccc ddd" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa bbb] ---- inline to parse: [ccc ddd] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 | +---> resulting html: [

aaa bbb

ccc ddd

] matched! markdown #221: [aaa↵ ↵ ↵ bbb↵ ] -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa] ---- inline to parse: [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column | +---> resulting html: [

aaa

bbb

] matched! markdown #222: [⎵ ⎵ aaa↵ ⎵ bbb↵ ] 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac584c it on entry: [0x5c49d1ac584c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac584c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac584c -- 0x5c49d1ac5870 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "aaa bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (DOCUMENT) - Content: "aaa bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

aaa bbb

] matched! markdown #223: [aaa↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ bbb↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ccc↵ ] 97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac53d0 it on entry: [0x5c49d1ac53d0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac53d0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53d0 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 column: 7 indent 2147483647 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 2147483647 -- it position: 7 column: 8 indent 2147483647 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 2147483647 -- it position: 8 column: 9 indent 2147483647 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 2147483647 -- it position: 9 column: 10 indent 2147483647 -- it position: 9 +++ gap so far 10 blanks, working column: 1, it column 11, list indent: 2147483647 -- it position: 10 column: 11 indent 2147483647 -- it position: 10 +++ gap so far 11 blanks, working column: 1, it column 12, list indent: 2147483647 -- it position: 11 column: 12 indent 2147483647 -- it position: 11 +++ gap so far 12 blanks, working column: 1, it column 13, list indent: 2147483647 -- it position: 12 column: 13 indent 2147483647 -- it position: 12 +++ gap so far 13 blanks, working column: 1, it column 14, list indent: 2147483647 -- it position: 13 column: 14 indent 2147483647 -- it position: 13 +++ gap so far 13 blanks, working column: 1, it column 14, list indent: 2147483647 -- it position: 13 working block is a list? no and list_indent is 2147483647 -- it position: 13 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 13 +++ not a list or blockquote? -- it position: 13 any containers (other than line)? -- it position: 13 --- not empty? -- it position: 13 --- not indented block? -- it position: 13 setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5dcc -- 0x5c49d1ac5df0 link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 14 >= 0 + 4 +++ append to existing block code or paragraph? [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ccc", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 column: 7 indent 2147483647 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 2147483647 -- it position: 7 column: 8 indent 2147483647 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 2147483647 -- it position: 8 column: 9 indent 2147483647 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 2147483647 -- it position: 9 column: 10 indent 2147483647 -- it position: 9 +++ gap so far 10 blanks, working column: 1, it column 11, list indent: 2147483647 -- it position: 10 column: 11 indent 2147483647 -- it position: 10 +++ gap so far 11 blanks, working column: 1, it column 12, list indent: 2147483647 -- it position: 11 column: 12 indent 2147483647 -- it position: 11 +++ gap so far 12 blanks, working column: 1, it column 13, list indent: 2147483647 -- it position: 12 column: 13 indent 2147483647 -- it position: 12 +++ gap so far 13 blanks, working column: 1, it column 14, list indent: 2147483647 -- it position: 13 column: 14 indent 2147483647 -- it position: 13 +++ gap so far 14 blanks, working column: 1, it column 15, list indent: 2147483647 -- it position: 14 column: 15 indent 2147483647 -- it position: 14 +++ gap so far 15 blanks, working column: 1, it column 16, list indent: 2147483647 -- it position: 15 column: 16 indent 2147483647 -- it position: 15 +++ gap so far 16 blanks, working column: 1, it column 17, list indent: 2147483647 -- it position: 16 column: 17 indent 2147483647 -- it position: 16 +++ gap so far 17 blanks, working column: 1, it column 18, list indent: 2147483647 -- it position: 17 column: 18 indent 2147483647 -- it position: 17 +++ gap so far 18 blanks, working column: 1, it column 19, list indent: 2147483647 -- it position: 18 column: 19 indent 2147483647 -- it position: 18 +++ gap so far 19 blanks, working column: 1, it column 20, list indent: 2147483647 -- it position: 19 column: 20 indent 2147483647 -- it position: 19 +++ gap so far 20 blanks, working column: 1, it column 21, list indent: 2147483647 -- it position: 20 column: 21 indent 2147483647 -- it position: 20 +++ gap so far 21 blanks, working column: 1, it column 22, list indent: 2147483647 -- it position: 21 column: 22 indent 2147483647 -- it position: 21 +++ gap so far 22 blanks, working column: 1, it column 23, list indent: 2147483647 -- it position: 22 column: 23 indent 2147483647 -- it position: 22 +++ gap so far 23 blanks, working column: 1, it column 24, list indent: 2147483647 -- it position: 23 column: 24 indent 2147483647 -- it position: 23 +++ gap so far 24 blanks, working column: 1, it column 25, list indent: 2147483647 -- it position: 24 column: 25 indent 2147483647 -- it position: 24 +++ gap so far 25 blanks, working column: 1, it column 26, list indent: 2147483647 -- it position: 25 column: 26 indent 2147483647 -- it position: 25 +++ gap so far 26 blanks, working column: 1, it column 27, list indent: 2147483647 -- it position: 26 column: 27 indent 2147483647 -- it position: 26 +++ gap so far 27 blanks, working column: 1, it column 28, list indent: 2147483647 -- it position: 27 column: 28 indent 2147483647 -- it position: 27 +++ gap so far 28 blanks, working column: 1, it column 29, list indent: 2147483647 -- it position: 28 column: 29 indent 2147483647 -- it position: 28 +++ gap so far 29 blanks, working column: 1, it column 30, list indent: 2147483647 -- it position: 29 column: 30 indent 2147483647 -- it position: 29 +++ gap so far 30 blanks, working column: 1, it column 31, list indent: 2147483647 -- it position: 30 column: 31 indent 2147483647 -- it position: 30 +++ gap so far 31 blanks, working column: 1, it column 32, list indent: 2147483647 -- it position: 31 column: 32 indent 2147483647 -- it position: 31 +++ gap so far 32 blanks, working column: 1, it column 33, list indent: 2147483647 -- it position: 32 column: 33 indent 2147483647 -- it position: 32 +++ gap so far 33 blanks, working column: 1, it column 34, list indent: 2147483647 -- it position: 33 column: 34 indent 2147483647 -- it position: 33 +++ gap so far 34 blanks, working column: 1, it column 35, list indent: 2147483647 -- it position: 34 column: 35 indent 2147483647 -- it position: 34 +++ gap so far 35 blanks, working column: 1, it column 36, list indent: 2147483647 -- it position: 35 column: 36 indent 2147483647 -- it position: 35 +++ gap so far 36 blanks, working column: 1, it column 37, list indent: 2147483647 -- it position: 36 column: 37 indent 2147483647 -- it position: 36 +++ gap so far 37 blanks, working column: 1, it column 38, list indent: 2147483647 -- it position: 37 column: 38 indent 2147483647 -- it position: 37 +++ gap so far 38 blanks, working column: 1, it column 39, list indent: 2147483647 -- it position: 38 column: 39 indent 2147483647 -- it position: 38 +++ gap so far 39 blanks, working column: 1, it column 40, list indent: 2147483647 -- it position: 39 column: 40 indent 2147483647 -- it position: 39 +++ gap so far 39 blanks, working column: 1, it column 40, list indent: 2147483647 -- it position: 39 working block is a list? no and list_indent is 2147483647 -- it position: 39 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 39 +++ not a list or blockquote? -- it position: 39 any containers (other than line)? -- it position: 39 --- not empty? -- it position: 39 --- not indented block? -- it position: 39 setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac9894 -- 0x5c49d1ac98b8 link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 40 >= 0 + 4 +++ append to existing block code or paragraph? [ccc] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb ccc" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb ccc" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa bbb ccc] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 | +---> resulting html: [

aaa bbb ccc

] matched! markdown #224: [⎵ ⎵ ⎵ aaa↵ bbb↵ ] -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "aaa bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: | +---> resulting html: [

aaa bbb

] matched! markdown #225: [⎵ ⎵ ⎵ ⎵ aaa↵ bbb↵ ] 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa " + PARAGRAPH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa " + PARAGRAPH (line/column: 2/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
aaa

bbb

] matched! markdown #226: [aaa⎵ ⎵ ⎵ ⎵ ⎵ ↵ bbb⎵ ⎵ ⎵ ⎵ ⎵ ↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bbb ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bbb ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "aaa bbb " - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa bbb ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: | +---> resulting html: [

aaa
bbb

] matched! markdown #227: [⎵ ⎵ ↵ ↵ aaa↵ ⎵ ⎵ ↵ ↵ #⎵ aaa↵ ↵ ⎵ ⎵ ↵ ] 1 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 2 any containers (other than line)? -- it position: 2 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61b4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 2147483647 -- it position: 2 any containers (other than line)? -- it position: 2 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="# aaa", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 ---- header +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far -1 blanks, working column: 1, it column 0, list indent: 1 -- it position: 2 any containers (other than line)? -- it position: 2 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: HEADER_OPEN, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (HEADER_OPEN), Parent (DOCUMENT) - Content: "aaa" - Block is followed by at least one empty line + HEADER_OPEN (line/column: 6/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "aaa" - Number: 1 - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa] ---- inline to parse: [aaa] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> # Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [

aaa

aaa

] matched! markdown #228: [>⎵ #⎵ Foo↵ >⎵ bar↵ >⎵ baz↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ace570 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + HEADER_OPEN (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac8eb0 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/3) - Content: "baz" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="># Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: | +---> resulting html: [

Foo

bar baz

] matched! markdown #229: [>#⎵ Foo↵ >bar↵ >⎵ baz↵ ] 0 +++ found a blockquote... column: 2 indent 1 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac584c it on entry: [0x5c49d1ac584c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac584c ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 2 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) - Number: 1 + HEADER_OPEN (line/column: 1/2) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 2 indent 2147483647 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac584c it on entry: [0x5c49d1ac584c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac584c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac584c -- 0x5c49d1ac5870 link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac5d40 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/2) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + HEADER_OPEN (line/column: 1/2) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/2) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/2) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ace570 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/3) - Content: "baz" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 2/2) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/2) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/2) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/2) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/2) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" > # Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent | +---> resulting html: [

Foo

bar baz

] matched! markdown #230: [⎵ ⎵ ⎵ >⎵ #⎵ Foo↵ ⎵ ⎵ ⎵ >⎵ bar↵ ⎵ >⎵ baz↵ ] 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 +++ found a blockquote... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 6, it column 6, list indent: 1 -- it position: 5 working block is a list? no and list_indent is 1 -- it position: 5 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac772c it on entry: [0x5c49d1ac772c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac772c ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 6 & 4 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) - Number: 1 + HEADER_OPEN (line/column: 1/6) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 +++ found a blockquote... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 6, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? no and list_indent is 2147483647 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac772c it on entry: [0x5c49d1ac772c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac772c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac76f0 -- 0x5c49d1ac772c -- 0x5c49d1ac7750 link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1accf40 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/6) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + HEADER_OPEN (line/column: 1/6) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/6) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/6) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 +++ found a blockquote... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 4, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac7714 it on entry: [0x5c49d1ac7714] --- not HTML block? -- it position: 3 -- 0x5c49d1ac7714 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac76f0 -- 0x5c49d1ac7714 -- 0x5c49d1ac7738 link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac8eb0 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/4) - Content: "baz" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 2/6) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/6) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/6) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/6) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/6) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" > # Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 | +---> resulting html: [

Foo

bar baz

] matched! markdown #231: [⎵ ⎵ ⎵ ⎵ >⎵ #⎵ Foo↵ ⎵ ⎵ ⎵ ⎵ >⎵ bar↵ ⎵ ⎵ ⎵ ⎵ >⎵ baz↵ ] -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "> # Foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [> bar ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "> # Foo > bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [> baz ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "> # Foo > bar > baz " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "> # Foo > bar > baz " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> # Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent | +---> resulting html: [
> # Foo
> bar
> baz
] matched! markdown #232: [>⎵ #⎵ Foo↵ >⎵ bar↵ baz↵ ] 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 ---- header +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac8f90 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + HEADER_OPEN (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Last: PARAGRAPH, Count: 2) - Number: 1 + HEADER_OPEN (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "Foo" - Number: 1 + PARAGRAPH (line/column: 2/3) - Previous Sibling (HEADER_OPEN), Parent (BLOCKQUOTE) - Content: "bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far | +---> resulting html: [

Foo

bar baz

] matched! markdown #233: [>⎵ bar↵ baz↵ >⎵ foo↵ ] 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1acecd0 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/3) - Content: "foo" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar baz foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 | +---> resulting html: [

bar baz foo

] matched! markdown #234: [>⎵ foo↵ ---↵ ] indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="---", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: IN BLOCKQUOTE & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" + BREAK_DASH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> - foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 | +---> resulting html: [

foo


] matched! markdown #235: [>⎵ -⎵ foo↵ -⎵ bar↵ ] indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 3 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 1 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 4 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 1 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 1 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 | +---> resulting html: [
  • foo
  • bar
] matched! markdown #236: [>⎵ ⎵ ⎵ ⎵ ⎵ foo↵ ⎵ ⎵ ⎵ ⎵ bar↵ ] +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 3 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/3, it column 7, list indent + 4: 5 -- it position: 6) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 0) ---- blockquote (3) + code block (7) ---- got indent of 7 vs column 7 ---- got indented code block +++ add child to child? (list sub-block: 0) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 3 +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo " + CODE_BLOCK_INDENTED (line/column: 2/5) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo " + CODE_BLOCK_INDENTED (line/column: 2/5) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "bar " - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
foo
bar
] matched! markdown #237: [>⎵ ```↵ foo↵ ```↵ ] +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [foo] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 --- done ---- got fenced code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) + PARAGRAPH (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="```", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- adding info string [] -- indentation: 1 --- got next line [] --- found eof?! --- done ---- got fenced code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: CODE_BLOCK_GRAVE, Count: 3) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) + PARAGRAPH (line/column: 2/1) - Next Sibling (CODE_BLOCK_GRAVE), Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: CODE_BLOCK_GRAVE, Count: 3) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/3) - Parent (BLOCKQUOTE) + PARAGRAPH (line/column: 2/1) - Next Sibling (CODE_BLOCK_GRAVE), Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [

foo

] matched! markdown #238: [>⎵ foo↵ ⎵ ⎵ ⎵ ⎵ -⎵ bar↵ ] -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 +++ got a gap of 4 >= 4 blanks! (working column: 1, it column 5, list indent + 4: 2147483651 -- it position: 4) any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d60 -- 0x5c49d1ac5d9c link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ append to existing block code or paragraph? [- bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo - bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo - bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo - bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=">", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 1 found empty line (Last? | +---> resulting html: [

foo - bar

] matched! markdown #239: [>↵ ] not eos?!) blockquotes? WORKING --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=">", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 1 | +---> resulting html: [
] matched! markdown #240: [>↵ >⎵ ⎵ ↵ >⎵ ↵ ] found empty line (Last? not eos?!) blockquotes? WORKING --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far -3 blanks, working column: 3, it column 0, list indent: 2147483647 -- it position: 3 any containers (other than line)? -- it position: 3 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> ", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 2 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=">", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 1 found empty line ( | +---> resulting html: [
] matched! markdown #241: [>↵ >⎵ foo↵ >⎵ ⎵ ↵ ] Last? not eos?!) blockquotes? WORKING --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> foo", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac7700 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "foo" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH - Parent (BLOCKQUOTE) - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> ", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far -3 blanks, working column: 3, it column 0, list indent: 2147483647 -- it position: 3 any containers (other than line)? -- it position: 3 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: | +---> resulting html: [

foo

] matched! markdown #242: [>⎵ foo↵ ↵ >⎵ bar↵ ] 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 3 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: | +---> resulting html: [

foo

bar

] matched! markdown #243: [>⎵ foo↵ >⎵ bar↵ ] 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac8eb0 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far | +---> resulting html: [

foo bar

] matched! markdown #244: [>⎵ foo↵ >↵ >⎵ bar↵ ] 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac8f90 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/3) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Number: 1 + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Previous Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Number: 1 + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Previous Sibling (PARAGRAPH), Parent (BLOCKQUOTE) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = | +---> resulting html: [

foo

bar

] matched! markdown #245: [foo↵ >⎵ bar↵ ] 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acaa40 it on entry: [0x5c49d1acaa40] --- not HTML block? -- it position: 0 -- 0x5c49d1acaa40 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "foo" + BLOCKQUOTE (line/column: 2/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "foo" + BLOCKQUOTE (line/column: 2/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/3) - Parent (BLOCKQUOTE) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> aaa", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 | +---> resulting html: [

foo

bar

] matched! markdown #246: [>⎵ aaa↵ ***↵ >⎵ bbb↵ ] +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="***", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 2/1) - * ---------------------------- WORKING BLOCK END --- last block: IN BLOCKQUOTE & working block: not in block quote linked as child! ---- break or setext +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BREAK_ASTERISK, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa" + BREAK_ASTERISK (line/column: 2/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bbb", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 3) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (BLOCKQUOTE), Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bbb" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 3) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "aaa" + BREAK_ASTERISK (line/column: 2/1) - Next Sibling (BLOCKQUOTE), Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BREAK_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/3) - Parent (BLOCKQUOTE) - Content: "bbb" - * -------------------------------------------- TREE END --- ---- inline to parse: [aaa] ---- inline to parse: [bbb] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [

aaa


bbb

] matched! markdown #247: [>⎵ bar↵ baz↵ ] +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no | +---> resulting html: [

bar baz

] matched! markdown #248: [>⎵ bar↵ ↵ baz↵ ] and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> bar", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... | +---> resulting html: [

bar

baz

] matched! markdown #249: [>⎵ bar↵ >↵ baz↵ ] column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="baz", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 3 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/3) - Parent (BLOCKQUOTE) - Content: "bar" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> > > foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [

bar

baz

] matched! markdown #250: [>⎵ >⎵ >⎵ foo↵ bar↵ ] +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 +++ found a blockquote... column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 +++ found a blockquote... column: 6 indent 1 -- it position: 5 +++ gap so far 2 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 2 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 working block is a list? no and list_indent is 1 -- it position: 6 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac8ee8 it on entry: [0x5c49d1ac8ee8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac8ee8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ee8 -- 0x5c49d1ac8f0c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 7 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ec4 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "foo bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=">>> foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: | +---> resulting html: [

foo bar

] matched! markdown #251: [>>>⎵ foo↵ >⎵ bar↵ >>baz↵ ] 2 indent 1 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 1 -- it position: 1 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 +++ found a blockquote... column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 working block is a list? no and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ace3b0 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "bar" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">>baz", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 2 indent 2147483647 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 2147483647 -- it position: 1 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ace490 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 3/3) - Content: "baz" - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo bar" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo bar baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/5) - Parent (BLOCKQUOTE) - Content: "foo bar baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo bar baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> code", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: | +---> resulting html: [

foo bar baz

] matched! markdown #252: [>⎵ ⎵ ⎵ ⎵ ⎵ code↵ ↵ >⎵ ⎵ ⎵ ⎵ not⎵ code↵ ] 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 3 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/3, it column 7, list indent + 4: 5 -- it position: 6) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 0) ---- blockquote (3) + code block (7) ---- got indent of 7 vs column 7 ---- got indented code block +++ add child to child? (list sub-block: 0) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> not code", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 3 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 working block is a list? no and list_indent is 1 -- it position: 5 >> parse for list [110]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ace59c it on entry: [0x5c49d1ace59c] --- not HTML block? -- it position: 5 -- 0x5c49d1ace59c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace59c -- 0x5c49d1ace5fc link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 6 & 1 & 3 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/6) - Parent (BLOCKQUOTE) - Content: "not code" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Last: BLOCKQUOTE, Count: 2) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Next Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/7) - Parent (BLOCKQUOTE) - Content: "code " - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 3/1-3) - Previous Sibling (BLOCKQUOTE), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 3/6) - Parent (BLOCKQUOTE) - Content: "not code" - * -------------------------------------------- TREE END --- ---- inline to parse: [not code] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? | +---> resulting html: [
code

not code

] matched! markdown #253: [A⎵ paragraph↵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ >⎵ A⎵ block⎵ quote.↵ ] no and list_indent is 1 -- it position: 0 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace480 it on entry: [0x5c49d1ace480] --- not HTML block? -- it position: 0 -- 0x5c49d1ace480 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace480 -- 0x5c49d1ace504 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="with two lines.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ace480 it on entry: [0x5c49d1ace480] --- not HTML block? -- it position: 0 -- 0x5c49d1ace480 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace480 -- 0x5c49d1ace534 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" indented code", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> A block quote.", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac7ac8 it on entry: [0x5c49d1ac7ac8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac7ac8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ac8 -- 0x5c49d1ac7b70 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 4/5) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 6/1-3) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/3) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "A paragraph with two lines." - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 4/5) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 6/1-3) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/3) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 | +---> resulting html: [

A paragraph with two lines.

indented code

A block quote.

] matched! markdown #254: [1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ace4b0 it on entry: [0x5c49d1ace4b0] --- not HTML block? -- it position: 4 -- 0x5c49d1ace4b0 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace4b0 -- 0x5c49d1ace534 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac7ae0 it on entry: [0x5c49d1ac7ae0] --- not HTML block? -- it position: 4 -- 0x5c49d1ac7ae0 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ae0 -- 0x5c49d1ac7b94 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" indented code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 5 -- it position: 5 column: 6 indent 5 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 5 -- it position: 6 column: 7 indent 5 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 5 -- it position: 7 column: 8 indent 5 -- it position: 7 +++ got a gap of 8 >= 4 blanks! (working column/end: 1/1, it column 9, list indent + 4: 9 -- it position: 8) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 9 any containers (other than line)? -- it position: 8 --- not empty? -- it position: 8 +++ adding a CODE BLOCK here (indent: 9) ---- got indent of 9 vs column 9 ---- got indented code block +++ add child to list? (list sub-block: 9) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/9) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/9) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/9) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/9) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" > A block quote.", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 +++ found a blockquote... column: 7 indent 5 -- it position: 6 +++ gap so far 0 blanks, working column: 7, it column 7, list indent: 5 -- it position: 6 working block is a list? no and list_indent is 5 -- it position: 6 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 6 then compare 7 vs list_indent + 4 = 9 -- it position: 6 +++ this is a list item followed by this additional paragraph: 0 or 7 >= 5 blanks! (working column: 7 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7af8 it on entry: [0x5c49d1ac7af8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7af8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 -- 0x5c49d1ac7ba0 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/9) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/5-7) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/7) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/9) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/5-7) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/7) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [ | +---> resulting html: [
  1. A paragraph with two lines.

    indented code
    

    A block quote.

] matched! markdown #255: [-⎵ one↵ ↵ ⎵ two↵ ] 45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 working block is a list? no and list_indent is 3 -- it position: 1 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 1 then compare 2 vs list_indent + 4 = 7 -- it position: 1 +++ not a list or blockquote? -- it position: 1 any containers (other than line)? -- it position: 1 --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac4eec it on entry: [0x5c49d1ac4eec] --- not HTML block? -- it position: 1 -- 0x5c49d1ac4eec --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4eec -- 0x5c49d1ac4f10 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 2 & 1 & 2 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "two" - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---- inline to parse: [two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: | +---> resulting html: [
  • one

two

] matched! markdown #256: [-⎵ one↵ ↵ ⎵ ⎵ two↵ ] 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 1 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "two" - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---- inline to parse: [two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 | +---> resulting html: [
  • one

    two

] matched! markdown #257: [⎵ -⎵ ⎵ ⎵ ⎵ one↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ two↵ ] -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 working block is a list? YES and list_indent is 1 -- it position: 6 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac8fc8 it on entry: [0x5c49d1ac8fc8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac8fc8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fc8 -- 0x5c49d1ac8fec link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 7 & 2 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 working block is a list? no and list_indent is 7 -- it position: 5 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 7 -- it position: 5 then compare 6 vs list_indent + 4 = 11 -- it position: 5 +++ got a gap of 5 >= 4 blanks! (list indent: 7 and sub-block is 0) BOTTOM any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 6 ---- got indented code block +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 6 & 1 & 3 +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" + CODE_BLOCK_INDENTED (line/column: 3/6) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " two " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" + CODE_BLOCK_INDENTED (line/column: 3/6) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " two " - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" - one | +---> resulting html: [
  • one
 two
] matched! markdown #258: [⎵ -⎵ ⎵ ⎵ ⎵ one↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ two↵ ] ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 working block is a list? YES and list_indent is 1 -- it position: 6 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ace4c8 it on entry: [0x5c49d1ace4c8] --- not HTML block? -- it position: 6 -- 0x5c49d1ace4c8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace4c8 -- 0x5c49d1ace4ec link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 7 & 2 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 working block is a list? no and list_indent is 7 -- it position: 6 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 7 -- it position: 6 then compare 7 vs list_indent + 4 = 11 -- it position: 6 +++ this is a list item followed by this additional paragraph: 7 or 7 >= 7 blanks! (working column: 1 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ace4c8 it on entry: [0x5c49d1ace4c8] --- not HTML block? -- it position: 6 -- 0x5c49d1ace4c8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace480 -- 0x5c49d1ace4c8 -- 0x5c49d1ace4ec link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/2-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "two" - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---- inline to parse: [two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" > > 1. one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 | +---> resulting html: [
  • one

    two

] matched! markdown #259: [⎵ ⎵ ⎵ >⎵ >⎵ 1.⎵ ⎵ one↵ >>↵ >>⎵ ⎵ ⎵ ⎵ ⎵ two↵ ] -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 +++ found a blockquote... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 6, it column 6, list indent: 1 -- it position: 5 +++ found a blockquote... column: 7 indent 1 -- it position: 6 +++ gap so far 2 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 column: 8 indent 1 -- it position: 7 +++ gap so far 2 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 working block is a list? no and list_indent is 1 -- it position: 7 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 11 indent 1 -- it position: 10 +++ gap so far 1 blanks, working column: 10, it column 12, list indent: 1 -- it position: 11 column: 12 indent 1 -- it position: 11 +++ gap so far 1 blanks, working column: 10, it column 12, list indent: 1 -- it position: 11 working block is a list? YES and list_indent is 1 -- it position: 11 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 11 +++ not a list or blockquote? -- it position: 11 any containers (other than line)? -- it position: 11 --- not empty? -- it position: 11 --- not indented block? -- it position: 11 --- not fenced block? -- it position: 11 -- 0x5c49d1aced44 it on entry: [0x5c49d1aced44] --- not HTML block? -- it position: 11 -- 0x5c49d1aced44 --- not header? -- it position: 11 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 11 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 11 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acecc0 -- 0x5c49d1aced44 -- 0x5c49d1aced68 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 12 & 8 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 2 + LIST_PERIOD (line/column: 1/8-10) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">>", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 2 indent 2147483647 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 2147483647 -- it position: 1 +++ found a blockquote... any containers (other than line)? -- it position: 2 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 2 + LIST_PERIOD (line/column: 1/8-10) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 2 + LIST_PERIOD (line/column: 1/8-10) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=">> two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 6 -- it position: 0 +++ found a blockquote... column: 2 indent 6 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 6 -- it position: 1 +++ found a blockquote... column: 3 indent 6 -- it position: 2 +++ gap so far 2 blanks, working column: 2, it column 4, list indent: 6 -- it position: 3 column: 4 indent 6 -- it position: 3 +++ gap so far 3 blanks, working column: 2, it column 5, list indent: 6 -- it position: 4 column: 5 indent 6 -- it position: 4 +++ gap so far 4 blanks, working column: 2, it column 6, list indent: 6 -- it position: 5 column: 6 indent 6 -- it position: 5 +++ gap so far 5 blanks, working column: 2, it column 7, list indent: 6 -- it position: 6 column: 7 indent 6 -- it position: 6 +++ gap so far 6 blanks, working column: 2, it column 8, list indent: 6 -- it position: 7 column: 8 indent 6 -- it position: 7 +++ gap so far 6 blanks, working column: 2, it column 8, list indent: 6 -- it position: 7 working block is a list? no and list_indent is 6 -- it position: 7 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 6 -- it position: 7 then compare 8 vs list_indent + 4 = 10 -- it position: 7 +++ this is a list item followed by this additional paragraph: 6 or 8 >= 6 blanks! (working column: 2 -- it position: 7) +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1aced14 it on entry: [0x5c49d1aced14] --- not HTML block? -- it position: 7 -- 0x5c49d1aced14 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acecc0 -- 0x5c49d1aced14 -- 0x5c49d1aced38 link child save working child end paragraph handling ---- paragraph +++ add paragraph to list inside blockquote? (newest) working block indent = 8 when the list indent = 8/10 blockquote indent = 4/6 and first child = 12 -> list 6 vs para 6 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 2 + LIST_PERIOD (line/column: 1/8-10) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/12) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "one" + PARAGRAPH (line/column: 3/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 2 + LIST_PERIOD (line/column: 1/8-10) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/12) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "one" + PARAGRAPH (line/column: 3/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "two" - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---- inline to parse: [two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=">>- one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 2 indent 1 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: | +---> resulting html: [
  1. one

    two

] matched! markdown #260: [>>-⎵ one↵ >>↵ ⎵ ⎵ >⎵ ⎵ >⎵ two↵ ] 1 -- it position: 1 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac4f10 it on entry: [0x5c49d1ac4f10] --- not HTML block? -- it position: 4 -- 0x5c49d1ac4f10 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f10 -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 3 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 2 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=">>", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 2 indent 2147483647 -- it position: 1 +++ gap so far 0 blanks, working column: 2, it column 2, list indent: 2147483647 -- it position: 1 +++ found a blockquote... any containers (other than line)? -- it position: 2 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 2 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 2 + LIST_DASH (line/column: 1/3-4) - Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" > > two", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 +++ found a blockquote... column: 5 indent 3 -- it position: 4 +++ gap so far 1 blanks, working column: 5, it column 6, list indent: 3 -- it position: 5 column: 6 indent 3 -- it position: 5 +++ gap so far 1 blanks, working column: 5, it column 6, list indent: 3 -- it position: 5 +++ found a blockquote... column: 7 indent 3 -- it position: 6 +++ gap so far 2 blanks, working column: 6, it column 8, list indent: 3 -- it position: 7 column: 8 indent 3 -- it position: 7 +++ gap so far 2 blanks, working column: 6, it column 8, list indent: 3 -- it position: 7 working block is a list? no and list_indent is 3 -- it position: 7 >> parse for list [116]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 7 then compare 8 vs list_indent + 4 = 7 -- it position: 7 +++ this is a list item followed by this additional paragraph: 2 or 8 >= 3 blanks! (working column: 6 -- it position: 7) +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ace5b4 it on entry: [0x5c49d1ace5b4] --- not HTML block? -- it position: 7 -- 0x5c49d1ace5b4 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace5b4 -- 0x5c49d1ace5d8 link child save working child end paragraph handling ---- paragraph +++ add paragraph to list inside blockquote? (newest) working block indent = 8 when the list indent = 3/4 blockquote indent = 1/2 and first child = 5 -> list 3 vs para 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Number: 2 + LIST_DASH (line/column: 1/3-4) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/8) - Previous Sibling (LIST_DASH), Parent (BLOCKQUOTE) - Content: "two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Number: 2 + LIST_DASH (line/column: 1/3-4) - Next Sibling (PARAGRAPH), Parent (BLOCKQUOTE), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "one" + PARAGRAPH (line/column: 3/8) - Previous Sibling (LIST_DASH), Parent (BLOCKQUOTE) - Content: "two" - * -------------------------------------------- TREE END --- ---- inline to parse: [one] ---- inline to parse: [two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="-one", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45 | +---> resulting html: [
  • one

two

] matched! markdown #261: [-one↵ ↵ 2.two↵ ] ]... >> list blank missing [111]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac6190 it on entry: [0x5c49d1ac6190] --- not HTML block? -- it position: 0 -- 0x5c49d1ac6190 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac6190 -- 0x5c49d1ac6190 -- 0x5c49d1ac61c0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-one" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-one" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-one" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-one" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="2.two", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [50]... >> numbered list... >> list type [46]... >> list blank missing [116]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac4ee0 it on entry: [0x5c49d1ac4ee0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac4ee0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "-one" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "2.two" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "-one" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "2.two" - * -------------------------------------------- TREE END --- ---- inline to parse: [-one] ---- inline to parse: [2.two] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... | +---> resulting html: [

-one

2.two

] matched! markdown #262: [-⎵ foo↵ ↵ ↵ ⎵ ⎵ bar↵ ] column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 1 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 4/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 4/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [
  • foo

    bar

] matched! markdown #263: [1.⎵ ⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ ```↵ ⎵ ⎵ ⎵ ⎵ bar↵ ⎵ ⎵ ⎵ ⎵ ```↵ ↵ ⎵ ⎵ ⎵ ⎵ baz↵ ↵ ⎵ ⎵ ⎵ ⎵ >⎵ bam↵ ] >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" ```", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- adding info string [] -- indentation: 5 --- got next line [ bar] --- check indent: 1 vs 5 --- end count: 0 --- add: bar --- got next line [ ```] --- check indent: 1 vs 5 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_GRAVE (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" baz", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " + PARAGRAPH (line/column: 7/5) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " + PARAGRAPH (line/column: 7/5) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 7/5) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " + PARAGRAPH (line/column: 7/5) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" > bam", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 +++ found a blockquote... column: 7 indent 5 -- it position: 6 +++ gap so far 0 blanks, working column: 7, it column 7, list indent: 5 -- it position: 6 working block is a list? no and list_indent is 5 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 6 then compare 7 vs list_indent + 4 = 9 -- it position: 6 +++ this is a list item followed by this additional paragraph: 0 or 7 >= 5 blanks! (working column: 7 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac5d78 it on entry: [0x5c49d1ac5d78] --- not HTML block? -- it position: 6 -- 0x5c49d1ac5d78 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5d78 -- 0x5c49d1ac5d9c link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 4) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " + PARAGRAPH (line/column: 7/5) - Next Sibling (BLOCKQUOTE), Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" + BLOCKQUOTE (line/column: 9/5-7) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 9/7) - Parent (BLOCKQUOTE) - Content: "bam" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 4) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_GRAVE (line/column: 3/5) - Next Sibling (PARAGRAPH), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " + PARAGRAPH (line/column: 7/5) - Next Sibling (BLOCKQUOTE), Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "baz" + BLOCKQUOTE (line/column: 9/5-7) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 9/7) - Parent (BLOCKQUOTE) - Content: "bam" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [baz] ---- inline to parse: [bam] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  1. foo

    bar
    

    baz

    bam

] matched! markdown #264: [-⎵ Foo↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ bar↵ ↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ baz↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 3 -- it position: 3 column: 4 indent 3 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 3 -- it position: 4 column: 5 indent 3 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 3 -- it position: 5 column: 6 indent 3 -- it position: 5 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/1, it column 7, list indent + 4: 7 -- it position: 6) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 7 ---- got indented code block +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" baz", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 3 -- it position: 3 column: 4 indent 3 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 3 -- it position: 4 column: 5 indent 3 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 3 -- it position: 5 column: 6 indent 3 -- it position: 5 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/1, it column 7, list indent + 4: 7 -- it position: 6) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 7 ---- got indented code block +++ append indented code block? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar baz " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "Foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar baz " - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="123456789. ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 | +---> resulting html: [
  • Foo

    bar
    
    
    baz
    
] matched! markdown #265: [123456789.⎵ ok↵ ] -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 12 indent 1 -- it position: 11 +++ gap so far 0 blanks, working column: 11, it column 12, list indent: 1 -- it position: 11 working block is a list? YES and list_indent is 1 -- it position: 11 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 11 +++ not a list or blockquote? -- it position: 11 any containers (other than line)? -- it position: 11 --- not empty? -- it position: 11 --- not indented block? -- it position: 11 --- not fenced block? -- it position: 11 -- 0x5c49d1ac5db4 it on entry: [0x5c49d1ac5db4] --- not HTML block? -- it position: 11 -- 0x5c49d1ac5db4 --- not header? -- it position: 11 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 11 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 11 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5d30 -- 0x5c49d1ac5db4 -- 0x5c49d1ac5dcc link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 12 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-11) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 123456789 + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-11) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 123456789 + PARAGRAPH (line/column: 1/12) - Parent (LIST_PERIOD) - Content: "ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1234567890. not ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [
  1. ok
] matched! markdown #266: [1234567890.⎵ not⎵ ok↵ ] , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b88 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "1234567890. not ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "1234567890. not ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [1234567890. not ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="0. ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [

1234567890. not ok

] matched! markdown #267: [0.⎵ ok↵ ] 48]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac4f04 it on entry: [0x5c49d1ac4f04] --- not HTML block? -- it position: 3 -- 0x5c49d1ac4f04 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f04 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 0 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 0 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="003. ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 | +---> resulting html: [
  1. ok
] matched! markdown #268: [003.⎵ ok↵ ] working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [48]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 1 -- it position: 5 working block is a list? YES and list_indent is 1 -- it position: 5 >> parse for list [111]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac4f1c it on entry: [0x5c49d1ac4f1c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac4f1c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4f1c -- 0x5c49d1ac4f34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 6 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="-1. not ok", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
  1. ok
] matched! markdown #269: [-1.⎵ not⎵ ok↵ ] 1 -- it position: 0 >> parse for list [45]... >> list type [45]... >> list blank missing [49]... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac8ea0 it on entry: [0x5c49d1ac8ea0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac8ea0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8ea0 -- 0x5c49d1ac8f18 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-1. not ok" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "-1. not ok" - * -------------------------------------------- TREE END --- ---- inline to parse: [-1. not ok] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... | +---> resulting html: [

-1. not ok

] matched! markdown #270: [-⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ bar↵ ] >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac4ef8 it on entry: [0x5c49d1ac4ef8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac4ef8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac4ee0 -- 0x5c49d1ac4ef8 -- 0x5c49d1ac4f1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 3 -- it position: 3 column: 4 indent 3 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 3 -- it position: 4 column: 5 indent 3 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 3 -- it position: 5 column: 6 indent 3 -- it position: 5 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/1, it column 7, list indent + 4: 7 -- it position: 6) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 7 ---- got indented code block +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_DASH) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar " - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 10. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 | +---> resulting html: [
  • foo

    bar
    
] matched! markdown #271: [⎵ ⎵ 10.⎵ ⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ bar↵ ] column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 7 indent 1 -- it position: 6 +++ gap so far 1 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 column: 8 indent 1 -- it position: 7 +++ gap so far 1 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 working block is a list? YES and list_indent is 1 -- it position: 7 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 7 +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac8fd4 it on entry: [0x5c49d1ac8fd4] --- not HTML block? -- it position: 7 -- 0x5c49d1ac8fd4 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fd4 -- 0x5c49d1ac8ff8 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 8 & 3 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=8, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 8 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 8 -- it position: 1 column: 2 indent 8 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 8 -- it position: 2 column: 3 indent 8 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 8 -- it position: 3 column: 4 indent 8 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 8 -- it position: 4 column: 5 indent 8 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 8 -- it position: 5 column: 6 indent 8 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 8 -- it position: 6 column: 7 indent 8 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 8 -- it position: 7 column: 8 indent 8 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 8 -- it position: 8 column: 9 indent 8 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 8 -- it position: 9 column: 10 indent 8 -- it position: 9 +++ gap so far 10 blanks, working column: 1, it column 11, list indent: 8 -- it position: 10 column: 11 indent 8 -- it position: 10 +++ got a gap of 11 >= 4 blanks! (working column/end: 1/1, it column 12, list indent + 4: 12 -- it position: 11) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 12 any containers (other than line)? -- it position: 11 --- not empty? -- it position: 11 +++ adding a CODE BLOCK here (indent: 12) ---- got indent of 12 vs column 12 ---- got indented code block +++ add child to list? (list sub-block: 12) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 10 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=8, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 10 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "foo" + CODE_BLOCK_INDENTED (line/column: 3/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "bar " - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" indented code", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 | +---> resulting html: [
  1. foo

    bar
    
] matched! markdown #272: [⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ paragraph↵ ↵ ⎵ ⎵ ⎵ ⎵ more⎵ code↵ ] -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="paragraph", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [112]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b1c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" more code", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "more code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "indented code " - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (DOCUMENT) - Content: "paragraph" - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "more code " - * -------------------------------------------- TREE END --- ---- inline to parse: [paragraph] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. indented code", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no | +---> resulting html: [
indented code

paragraph

more code
] matched! markdown #273: [1.⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ paragraph↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ more⎵ code↵ ] and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/3, it column 8, list indent + 4: 5 -- it position: 7) TOP has-empty-line ---- gap return with f_list_subblock of 8 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 +++ adding a CODE BLOCK here (indent: 8) ---- got indent of 8 vs column 8 ---- got indented code block +++ add child to child? (list sub-block: 8) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" paragraph", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 working block is a list? no and list_indent is 4 -- it position: 3 >> parse for list [112]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 3 then compare 4 vs list_indent + 4 = 8 -- it position: 3 +++ this is a list item followed by this additional paragraph: 4 or 4 >= 4 blanks! (working column: 1 -- it position: 3) +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac7ad4 it on entry: [0x5c49d1ac7ad4] --- not HTML block? -- it position: 3 -- 0x5c49d1ac7ad4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ad4 -- 0x5c49d1ac7b40 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" more code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 4 -- it position: 4 column: 5 indent 4 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 4 -- it position: 5 column: 6 indent 4 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 4 -- it position: 6 column: 7 indent 4 -- it position: 6 +++ got a gap of 7 >= 4 blanks! (working column/end: 1/1, it column 8, list indent + 4: 8 -- it position: 7) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 8 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 +++ adding a CODE BLOCK here (indent: 8) ---- got indent of 8 vs column 8 ---- got indented code block +++ add child to list? (list sub-block: 8) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + PARAGRAPH (line/column: 3/4) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" + CODE_BLOCK_INDENTED (line/column: 5/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "more code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + PARAGRAPH (line/column: 3/4) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" + CODE_BLOCK_INDENTED (line/column: 5/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "more code " - * -------------------------------------------- TREE END --- ---- inline to parse: [paragraph] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. indented code", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column | +---> resulting html: [
  1. indented code
    

    paragraph

    more code
    
] matched! markdown #274: [1.⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ paragraph↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ more⎵ code↵ ] 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 3, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 3, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/3, it column 8, list indent + 4: 5 -- it position: 7) TOP has-empty-line ---- gap return with f_list_subblock of 8 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 +++ adding a CODE BLOCK here (indent: 8) ---- got indent of 8 vs column 8 ---- got indented code block +++ add child to child? (list sub-block: 8) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: " indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: " indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: " indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Parent (LIST_PERIOD) - Content: " indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" paragraph", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 working block is a list? no and list_indent is 4 -- it position: 3 >> parse for list [112]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 3 then compare 4 vs list_indent + 4 = 8 -- it position: 3 +++ this is a list item followed by this additional paragraph: 4 or 4 >= 4 blanks! (working column: 1 -- it position: 3) +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac7ad4 it on entry: [0x5c49d1ac7ad4] --- not HTML block? -- it position: 3 -- 0x5c49d1ac7ad4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ad4 -- 0x5c49d1ac7b40 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: " indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: " indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: " indented code " + PARAGRAPH (line/column: 3/4) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" more code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 4 -- it position: 4 column: 5 indent 4 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 4 -- it position: 5 column: 6 indent 4 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 4 -- it position: 6 column: 7 indent 4 -- it position: 6 +++ got a gap of 7 >= 4 blanks! (working column/end: 1/1, it column 8, list indent + 4: 8 -- it position: 7) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 8 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 +++ adding a CODE BLOCK here (indent: 8) ---- got indent of 8 vs column 8 ---- got indented code block +++ add child to list? (list sub-block: 8) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: " indented code " + PARAGRAPH (line/column: 3/4) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" + CODE_BLOCK_INDENTED (line/column: 5/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "more code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Last: CODE_BLOCK_INDENTED, Count: 3) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/8) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: " indented code " + PARAGRAPH (line/column: 3/4) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "paragraph" + CODE_BLOCK_INDENTED (line/column: 5/8) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "more code " - * -------------------------------------------- TREE END --- ---- inline to parse: [paragraph] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3 | +---> resulting html: [
  1.  indented code
    

    paragraph

    more code
    
] matched! markdown #275: [⎵ ⎵ ⎵ foo↵ ↵ bar↵ ] , list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (DOCUMENT) - Content: "foo" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="bar", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] --- not HTML block? -- it position: 0 -- 0x5c49d1ac5840 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo" - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [

foo

bar

] matched! markdown #276: [-⎵ ⎵ ⎵ ⎵ foo↵ ↵ ⎵ ⎵ bar↵ ] , it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 2, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 3 blanks, working column: 2, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 3 blanks, working column: 2, it column 6, list indent: 1 -- it position: 5 working block is a list? YES and list_indent is 1 -- it position: 5 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 6 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 6 -- it position: 1 column: 2 indent 6 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 column: 3 indent 6 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 working block is a list? no and list_indent is 6 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 6 -- it position: 2 then compare 3 vs list_indent + 4 = 10 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 | +---> resulting html: [
  • foo

bar

] matched! markdown #277: [-⎵ ⎵ foo↵ ↵ ⎵ ⎵ ⎵ bar↵ ] -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/4) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/4) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 working block is a list? no and list_indent is 4 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 3 then compare 4 vs list_indent + 4 = 8 -- it position: 3 +++ this is a list item followed by this additional paragraph: 4 or 4 >= 4 blanks! (working column: 1 -- it position: 3) +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="-", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... | +---> resulting html: [
  • foo

    bar

] matched! markdown #278: [-↵ ⎵ ⎵ foo↵ -↵ ⎵ ⎵ ```↵ ⎵ ⎵ bar↵ ⎵ ⎵ ```↵ -↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ baz↵ ] any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" foo", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acb1f8 it on entry: [0x5c49d1acb1f8] --- not HTML block? -- it position: 2 -- 0x5c49d1acb1f8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1f8 -- 0x5c49d1acb21c link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1acb1ec it on entry: [0x5c49d1acb1ec] --- not HTML block? -- it position: 1 -- 0x5c49d1acb1ec --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1ec -- 0x5c49d1acb1ec link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 2 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" ```", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [ bar] --- check indent: 1 vs 3 --- end count: 0 --- add: bar --- got next line [ ```] --- check indent: 1 vs 3 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ append code block or blockquote to list? 3 -- 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 4/3) - Parent (LIST_DASH) - Content: "bar " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1acb1ec it on entry: [0x5c49d1acb1ec] --- not HTML block? -- it position: 1 -- 0x5c49d1acb1ec --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x5c49d1acb1e0 -- 0x5c49d1acb1ec -- 0x5c49d1acb1ec link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 2 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 4/3) - Parent (LIST_DASH) - Content: "bar " + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 3 -- it position: 3 column: 4 indent 3 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 3 -- it position: 4 column: 5 indent 3 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 3 -- it position: 5 column: 6 indent 3 -- it position: 5 +++ got a gap of 6 >= 4 blanks! (working column/end: 1/1, it column 7, list indent + 4: 7 -- it position: 6) TOP has-parent ---- gap return with f_list_subblock of 7 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 +++ adding a CODE BLOCK here (indent: 7) ---- got indent of 7 vs column 7 ---- got indented code block +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 4/3) - Parent (LIST_DASH) - Content: "bar " + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) + CODE_BLOCK_INDENTED (line/column: 8/7) - Parent (LIST_DASH) - Content: "baz " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 4/3) - Parent (LIST_DASH) - Content: "bar " + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_INDENTED, Count: 1) + CODE_BLOCK_INDENTED (line/column: 8/7) - Parent (LIST_DASH) - Content: "baz " - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- ", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45 | +---> resulting html: [
  • foo
  • bar
    
  • baz
    
] matched! markdown #279: [-⎵ ⎵ ⎵ ↵ ⎵ ⎵ foo↵ ] ]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far -2 blanks, working column: 2, it column 0, list indent: 1 -- it position: 4 any containers (other than line)? -- it position: 4 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1acaa70 it on entry: [0x5c49d1acaa70] --- not HTML block? -- it position: 4 -- 0x5c49d1acaa70 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == END REACHED! setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa70 -- 0x5c49d1acaa70 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" foo", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - Content: "foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="-", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • foo
] matched! markdown #280: [-↵ ↵ ⎵ ⎵ foo↵ ] +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=0, f_last_line=" foo", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 0 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 0 -- it position: 1 column: 2 indent 0 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 0 -- it position: 2 column: 3 indent 0 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 0 -- it position: 2 working block is a list? no and list_indent is 0 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 0 -- it position: 2 then compare 3 vs list_indent + 4 = 4 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 0 blanks! (working column: 1 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_DASH) + PARAGRAPH (line/column: 3/3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_DASH) + PARAGRAPH (line/column: 3/3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [] ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [

foo

] matched! markdown #281: [-⎵ foo↵ -↵ -⎵ bar↵ ] >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="-", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac584c it on entry: [0x5c49d1ac584c] --- not HTML block? -- it position: 1 -- 0x5c49d1ac584c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac584c -- 0x5c49d1ac584c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 2 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... | +---> resulting html: [
  • foo
  • bar
] matched! markdown #282: [-⎵ foo↵ -⎵ ⎵ ⎵ ↵ -⎵ bar↵ ] >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- ", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far -2 blanks, working column: 2, it column 0, list indent: 2147483647 -- it position: 4 any containers (other than line)? -- it position: 4 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == END REACHED! setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5870 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 2 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_DASH) + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: | +---> resulting html: [
  • foo
  • bar
] matched! markdown #283: [1.⎵ foo↵ 2.↵ 3.⎵ bar↵ ] 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="2.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [50]... >> numbered list... >> list type [46]... +++ found a list... any containers (other than line)? -- it position: 2 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == END REACHED! setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5858 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 3 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH - Parent (LIST_PERIOD) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="3. bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 4 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 4 -- it position: 0 working block is a list? no and list_indent is 4 -- it position: 0 >> parse for list [51]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 4 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 4 -- it position: 3 working block is a list? YES and list_indent is 4 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 1 & 3 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Next Sibling (LIST_PERIOD), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH - Parent (LIST_PERIOD) + LIST_PERIOD (line/column: 3/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 3/4) - Parent (LIST_PERIOD) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Next Sibling (LIST_PERIOD), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH - Parent (LIST_PERIOD) + LIST_PERIOD (line/column: 3/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 3/4) - Parent (LIST_PERIOD) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="*", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... | +---> resulting html: [
  1. foo
  2. bar
] matched! markdown #284: [*↵ ] any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x7ffc66b20724 it on entry: [0x7ffc66b20724] --- not HTML block? -- it position: 1 -- 0x7ffc66b20724 --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x7ffc66b20718 -- 0x7ffc66b20724 -- 0x7ffc66b20724 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 0 & 1 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_ASTERISK) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_ASTERISK) - * -------------------------------------------- TREE END --- ---- inline to parse: [] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... | +---> resulting html: [
] matched! markdown #285: [foo↵ *↵ ↵ foo↵ 1.↵ ] >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acaa40 it on entry: [0x5c49d1acaa40] --- not HTML block? -- it position: 0 -- 0x5c49d1acaa40 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="*", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1acaa4c it on entry: [0x5c49d1acaa4c] --- not HTML block? -- it position: 1 -- 0x5c49d1acaa4c --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa4c -- 0x5c49d1acaa4c link child save working child end paragraph handling ---- paragraph +++ append empty list to paragraph? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="foo", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acaa40 it on entry: [0x5c49d1acaa40] --- not HTML block? -- it position: 0 -- 0x5c49d1acaa40 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no columns (w/wp/lp): 1 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="1.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... any containers (other than line)? -- it position: 2 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == END REACHED! setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa58 link child save working child end paragraph handling ---- paragraph +++ append empty list to paragraph? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo 1." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo *" - Block is followed by at least one empty line + PARAGRAPH (line/column: 4/1) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT) - Content: "foo 1." - * -------------------------------------------- TREE END --- ---- inline to parse: [foo *] >>> found some mark... >>> just mark... ---- inline to parse: [foo 1.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 | +---> resulting html: [

foo *

foo 1.

] matched! markdown #286: [⎵ 1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 working block is a list? no and list_indent is 1 -- it position: 1 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 1 blanks, working column: 4, it column 6, list indent: 1 -- it position: 5 column: 6 indent 1 -- it position: 5 +++ gap so far 1 blanks, working column: 4, it column 6, list indent: 1 -- it position: 5 working block is a list? YES and list_indent is 1 -- it position: 5 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac8fbc it on entry: [0x5c49d1ac8fbc] --- not HTML block? -- it position: 5 -- 0x5c49d1ac8fbc --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fbc -- 0x5c49d1ac9040 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 6 & 2 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? no and list_indent is 2147483647 -- it position: 5 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac7aec it on entry: [0x5c49d1ac7aec] --- not HTML block? -- it position: 5 -- 0x5c49d1ac7aec --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7aec -- 0x5c49d1ac7ba0 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=" indented code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 6 -- it position: 1 column: 2 indent 6 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 column: 3 indent 6 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 6 -- it position: 3 column: 4 indent 6 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 6 -- it position: 4 column: 5 indent 6 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 6 -- it position: 5 column: 6 indent 6 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 6 -- it position: 6 column: 7 indent 6 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 6 -- it position: 7 column: 8 indent 6 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 6 -- it position: 8 column: 9 indent 6 -- it position: 8 +++ got a gap of 9 >= 4 blanks! (working column/end: 1/1, it column 10, list indent + 4: 10 -- it position: 9) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 10 any containers (other than line)? -- it position: 9 --- not empty? -- it position: 9 +++ adding a CODE BLOCK here (indent: 10) ---- got indent of 10 vs column 10 ---- got indented code block +++ add child to list? (list sub-block: 10) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/10) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/10) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/10) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/10) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=" > A block quote.", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 6 -- it position: 1 column: 2 indent 6 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 column: 3 indent 6 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 6 -- it position: 3 column: 4 indent 6 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 6 -- it position: 4 column: 5 indent 6 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 6 -- it position: 5 column: 6 indent 6 -- it position: 5 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 6 -- it position: 5 +++ found a blockquote... column: 8 indent 6 -- it position: 7 +++ gap so far 0 blanks, working column: 8, it column 8, list indent: 6 -- it position: 7 working block is a list? no and list_indent is 6 -- it position: 7 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 6 -- it position: 7 then compare 8 vs list_indent + 4 = 10 -- it position: 7 +++ this is a list item followed by this additional paragraph: 0 or 8 >= 6 blanks! (working column: 8 -- it position: 7) +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac7b04 it on entry: [0x5c49d1ac7b04] --- not HTML block? -- it position: 7 -- 0x5c49d1ac7b04 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b04 -- 0x5c49d1ac7bac link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 6) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/10) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/6-8) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/8) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/2-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/6) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/10) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/6-8) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/8) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 working block is a list? YES and list_indent is 1 -- it position: 6 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7af8 it on entry: [0x5c49d1ac7af8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7af8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph | +---> resulting html: [
  1. A paragraph with two lines.

    indented code
    

    A block quote.

] matched! markdown #287: [⎵ ⎵ 1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 7 & 3 & no parent +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 column: 7 indent 2147483647 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? no and list_indent is 2147483647 -- it position: 6 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7af8 it on entry: [0x5c49d1ac7af8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7af8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 -- 0x5c49d1ac7bac link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" indented code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 7 -- it position: 7 column: 8 indent 7 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 7 -- it position: 8 column: 9 indent 7 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 7 -- it position: 9 column: 10 indent 7 -- it position: 9 +++ got a gap of 10 >= 4 blanks! (working column/end: 1/1, it column 11, list indent + 4: 11 -- it position: 10) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 11 any containers (other than line)? -- it position: 10 --- not empty? -- it position: 10 +++ adding a CODE BLOCK here (indent: 11) ---- got indent of 11 vs column 11 ---- got indented code block +++ add child to list? (list sub-block: 11) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" > A block quote.", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 +++ found a blockquote... column: 9 indent 7 -- it position: 8 +++ gap so far 0 blanks, working column: 9, it column 9, list indent: 7 -- it position: 8 working block is a list? no and list_indent is 7 -- it position: 8 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 7 -- it position: 8 then compare 9 vs list_indent + 4 = 11 -- it position: 8 +++ this is a list item followed by this additional paragraph: 0 or 9 >= 7 blanks! (working column: 9 -- it position: 8) +++ not a list or blockquote? -- it position: 8 any containers (other than line)? -- it position: 8 --- not empty? -- it position: 8 --- not indented block? -- it position: 8 --- not fenced block? -- it position: 8 -- 0x5c49d1ac7b10 it on entry: [0x5c49d1ac7b10] --- not HTML block? -- it position: 8 -- 0x5c49d1ac7b10 --- not header? -- it position: 8 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 8 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 8 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b10 -- 0x5c49d1ac7bb8 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/7-9) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/9) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/7-9) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/9) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column | +---> resulting html: [
  1. A paragraph with two lines.

    indented code
    

    A block quote.

] matched! markdown #288: [⎵ ⎵ ⎵ 1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 7 indent 1 -- it position: 6 +++ gap so far 1 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 column: 8 indent 1 -- it position: 7 +++ gap so far 1 blanks, working column: 6, it column 8, list indent: 1 -- it position: 7 working block is a list? YES and list_indent is 1 -- it position: 7 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 7 +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac7b04 it on entry: [0x5c49d1ac7b04] --- not HTML block? -- it position: 7 -- 0x5c49d1ac7b04 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b04 -- 0x5c49d1ac7b88 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 8 & 4 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 column: 7 indent 2147483647 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 2147483647 -- it position: 7 column: 8 indent 2147483647 -- it position: 7 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 2147483647 -- it position: 7 working block is a list? no and list_indent is 2147483647 -- it position: 7 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 7 +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac7b04 it on entry: [0x5c49d1ac7b04] --- not HTML block? -- it position: 7 -- 0x5c49d1ac7b04 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b04 -- 0x5c49d1ac7bb8 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=8, f_last_line=" indented code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 8 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 8 -- it position: 1 column: 2 indent 8 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 8 -- it position: 2 column: 3 indent 8 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 8 -- it position: 3 column: 4 indent 8 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 8 -- it position: 4 column: 5 indent 8 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 8 -- it position: 5 column: 6 indent 8 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 8 -- it position: 6 column: 7 indent 8 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 8 -- it position: 7 column: 8 indent 8 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 8 -- it position: 8 column: 9 indent 8 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 8 -- it position: 9 column: 10 indent 8 -- it position: 9 +++ gap so far 10 blanks, working column: 1, it column 11, list indent: 8 -- it position: 10 column: 11 indent 8 -- it position: 10 +++ got a gap of 11 >= 4 blanks! (working column/end: 1/1, it column 12, list indent + 4: 12 -- it position: 11) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 12 any containers (other than line)? -- it position: 11 --- not empty? -- it position: 11 +++ adding a CODE BLOCK here (indent: 12) ---- got indent of 12 vs column 12 ---- got indented code block +++ add child to list? (list sub-block: 12) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=8, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/12) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=8, f_last_line=" > A block quote.", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 8 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 8 -- it position: 1 column: 2 indent 8 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 8 -- it position: 2 column: 3 indent 8 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 8 -- it position: 3 column: 4 indent 8 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 8 -- it position: 4 column: 5 indent 8 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 8 -- it position: 5 column: 6 indent 8 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 8 -- it position: 6 column: 7 indent 8 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 8 -- it position: 7 column: 8 indent 8 -- it position: 7 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 8 -- it position: 7 +++ found a blockquote... column: 10 indent 8 -- it position: 9 +++ gap so far 0 blanks, working column: 10, it column 10, list indent: 8 -- it position: 9 working block is a list? no and list_indent is 8 -- it position: 9 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 8 -- it position: 9 then compare 10 vs list_indent + 4 = 12 -- it position: 9 +++ this is a list item followed by this additional paragraph: 0 or 10 >= 8 blanks! (working column: 10 -- it position: 9) +++ not a list or blockquote? -- it position: 9 any containers (other than line)? -- it position: 9 --- not empty? -- it position: 9 --- not indented block? -- it position: 9 --- not fenced block? -- it position: 9 -- 0x5c49d1ac7b1c it on entry: [0x5c49d1ac7b1c] --- not HTML block? -- it position: 9 -- 0x5c49d1ac7b1c --- not header? -- it position: 9 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 9 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 9 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b1c -- 0x5c49d1ac7bc4 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 8) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/12) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/8-10) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/10) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/4-6) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/8) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/12) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/8-10) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/10) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 | +---> resulting html: [
  1. A paragraph with two lines.

    indented code
    

    A block quote.

] matched! markdown #289: [⎵ ⎵ ⎵ ⎵ 1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 2147483651 -- it position: 4) TOP has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ with two lines. ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" indented code", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ indented code ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented code " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented code " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" > A block quote.", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ append to existing block code or paragraph? [ > A block quote. ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented c [...]" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: CODE_BLOCK_INDENTED, Count: 1) - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 1/5) - Parent (DOCUMENT) - Content: "1. A paragraph with two lines. indented c [...]" - Block is followed by at least one empty line - * -------------------------------------------- TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 | +---> resulting html: [
1.  A paragraph
    with two lines.

        indented code

    > A block quote.
] matched! markdown #290: [⎵ ⎵ 1.⎵ ⎵ A⎵ paragraph↵ with⎵ two⎵ lines.↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ indented⎵ code↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ >⎵ A⎵ block⎵ quote.↵ ] -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 working block is a list? YES and list_indent is 1 -- it position: 6 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7af8 it on entry: [0x5c49d1ac7af8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7af8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 7 & 3 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b64 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" indented code", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 7 blanks, working column: 1, it column 8, list indent: 7 -- it position: 7 column: 8 indent 7 -- it position: 7 +++ gap so far 8 blanks, working column: 1, it column 9, list indent: 7 -- it position: 8 column: 9 indent 7 -- it position: 8 +++ gap so far 9 blanks, working column: 1, it column 10, list indent: 7 -- it position: 9 column: 10 indent 7 -- it position: 9 +++ got a gap of 10 >= 4 blanks! (working column/end: 1/1, it column 11, list indent + 4: 11 -- it position: 10) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 11 any containers (other than line)? -- it position: 10 --- not empty? -- it position: 10 +++ adding a CODE BLOCK here (indent: 11) ---- got indent of 11 vs column 11 ---- got indented code block +++ add child to list? (list sub-block: 11) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_INDENTED, Count: 2) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" > A block quote.", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 +++ found a blockquote... column: 9 indent 7 -- it position: 8 +++ gap so far 0 blanks, working column: 9, it column 9, list indent: 7 -- it position: 8 working block is a list? no and list_indent is 7 -- it position: 8 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 7 -- it position: 8 then compare 9 vs list_indent + 4 = 11 -- it position: 8 +++ this is a list item followed by this additional paragraph: 0 or 9 >= 7 blanks! (working column: 9 -- it position: 8) +++ not a list or blockquote? -- it position: 8 any containers (other than line)? -- it position: 8 --- not empty? -- it position: 8 --- not indented block? -- it position: 8 --- not fenced block? -- it position: 8 -- 0x5c49d1ac7b10 it on entry: [0x5c49d1ac7b10] --- not HTML block? -- it position: 8 -- 0x5c49d1ac7b10 --- not header? -- it position: 8 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 8 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 8 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b10 -- 0x5c49d1ac7bb8 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/7-9) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/9) - Parent (BLOCKQUOTE) - Content: "A block quote." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 3) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/7) - Next Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD) - Content: "A paragraph with two lines." + CODE_BLOCK_INDENTED (line/column: 4/11) - Next Sibling (BLOCKQUOTE), Previous Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "indented code " + BLOCKQUOTE (line/column: 6/7-9) - Previous Sibling (CODE_BLOCK_INDENTED), Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 6/9) - Parent (BLOCKQUOTE) - Content: "A block quote." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---- inline to parse: [A block quote.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" 1. A paragraph", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 | +---> resulting html: [
  1. A paragraph with two lines.

    indented code
    

    A block quote.

] matched! markdown #291: [⎵ ⎵ 1.⎵ ⎵ A⎵ paragraph↵ ⎵ ⎵ ⎵ ⎵ with⎵ two⎵ lines.↵ ] column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 column: 7 indent 1 -- it position: 6 +++ gap so far 1 blanks, working column: 5, it column 7, list indent: 1 -- it position: 6 working block is a list? YES and list_indent is 1 -- it position: 6 >> parse for list [65]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac7af8 it on entry: [0x5c49d1ac7af8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac7af8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7af8 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 7 & 3 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" with two lines.", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [119]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac7ae0 it on entry: [0x5c49d1ac7ae0] --- not HTML block? -- it position: 4 -- 0x5c49d1ac7ae0 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ae0 -- 0x5c49d1ac7b94 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/3-5) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/7) - Parent (LIST_PERIOD) - Content: "A paragraph with two lines." - * -------------------------------------------- TREE END --- ---- inline to parse: [A paragraph with two lines.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> 1. > Blockquote", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1 | +---> resulting html: [
  1. A paragraph with two lines.
] matched! markdown #292: [>⎵ 1.⎵ >⎵ Blockquote↵ continued⎵ here.↵ ] , it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 1 -- it position: 5 +++ found a blockquote... column: 8 indent 1 -- it position: 7 +++ gap so far 0 blanks, working column: 8, it column 8, list indent: 1 -- it position: 7 working block is a list? no and list_indent is 1 -- it position: 7 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 7 +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac7b04 it on entry: [0x5c49d1ac7b04] --- not HTML block? -- it position: 7 -- 0x5c49d1ac7b04 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b04 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 8 & 6 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="continued here.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac7ab0 it on entry: [0x5c49d1ac7ab0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac7ab0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b64 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [continued here.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote continued here." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote continued here." - * -------------------------------------------- TREE END --- ---- inline to parse: [Blockquote continued here.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="> 1. > Blockquote", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far | +---> resulting html: [
  1. Blockquote continued here.

] matched! markdown #293: [>⎵ 1.⎵ >⎵ Blockquote↵ >⎵ continued⎵ here.↵ ] 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 +++ found a blockquote... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 1 -- it position: 2 working block is a list? no and list_indent is 1 -- it position: 2 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 1 -- it position: 5 +++ found a blockquote... column: 8 indent 1 -- it position: 7 +++ gap so far 0 blanks, working column: 8, it column 8, list indent: 1 -- it position: 7 working block is a list? no and list_indent is 1 -- it position: 7 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 7 +++ not a list or blockquote? -- it position: 7 any containers (other than line)? -- it position: 7 --- not empty? -- it position: 7 --- not indented block? -- it position: 7 --- not fenced block? -- it position: 7 -- 0x5c49d1ac7b04 it on entry: [0x5c49d1ac7b04] --- not HTML block? -- it position: 7 -- 0x5c49d1ac7b04 --- not header? -- it position: 7 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 7 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 7 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7b04 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 8 & 6 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="> continued here.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 +++ found a blockquote... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 3, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac7ac8 it on entry: [0x5c49d1ac7ac8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac7ac8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac7ab0 -- 0x5c49d1ac7ac8 -- 0x5c49d1ac7b7c link child save working child end paragraph handling ---- paragraph +++ link following blockquote? 0x5c49d1ac5d40 - * ---------------------------- B TREE: + PARAGRAPH (line/column: 2/3) - Content: "continued here." - * ---------------------------- B TREE END --- - * ---------------------------- LAST BLOCK TREE: + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote" - * ---------------------------- LAST BLOCK TREE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote continued here." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: BLOCKQUOTE, Count: 1) - Block is followed by at least one empty line + BLOCKQUOTE (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_PERIOD, Count: 1) - Number: 1 + LIST_PERIOD (line/column: 1/3-5) - Parent (BLOCKQUOTE), Has Children (First: BLOCKQUOTE, Count: 1) - Number: 1 + BLOCKQUOTE (line/column: 1/6-8) - Parent (LIST_PERIOD), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/8) - Parent (BLOCKQUOTE) - Content: "Blockquote continued here." - * -------------------------------------------- TREE END --- ---- inline to parse: [Blockquote continued here.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... | +---> resulting html: [
  1. Blockquote continued here.

] matched! markdown #294: [-⎵ foo↵ ⎵ ⎵ -⎵ bar↵ ⎵ ⎵ ⎵ ⎵ -⎵ baz↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ -⎵ boo↵ ] >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 3, last parent end-column: 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [45]... >> list type [45]... +++ found a list... column: 7 indent 2147483647 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? YES and list_indent is 2147483647 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ace5a8 it on entry: [0x5c49d1ace5a8] --- not HTML block? -- it position: 6 -- 0x5c49d1ace5a8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace5a8 -- 0x5c49d1ace5cc link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 5, last parent end-column: 4 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - boo", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 2147483647 -- it position: 5 column: 6 indent 2147483647 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 column: 7 indent 2147483647 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? no and list_indent is 2147483647 -- it position: 6 >> parse for list [45]... >> list type [45]... +++ found a list... column: 9 indent 2147483647 -- it position: 8 +++ gap so far 0 blanks, working column: 8, it column 9, list indent: 2147483647 -- it position: 8 working block is a list? YES and list_indent is 2147483647 -- it position: 8 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 8 +++ not a list or blockquote? -- it position: 8 any containers (other than line)? -- it position: 8 --- not empty? -- it position: 8 --- not indented block? -- it position: 8 --- not fenced block? -- it position: 8 -- 0x5c49d1ace5c0 it on entry: [0x5c49d1ace5c0] --- not HTML block? -- it position: 8 -- 0x5c49d1ace5c0 --- not header? -- it position: 8 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 8 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 8 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace5c0 -- 0x5c49d1ace5e4 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 7, last parent end-column: 6 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 3/7) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 4/7-8) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/9) - Parent (LIST_DASH) - Content: "boo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 3/7) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 4/7-8) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/9) - Parent (LIST_DASH) - Content: "boo" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---- inline to parse: [boo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45 | +---> resulting html: [
  • foo
    • bar
      • baz
        • boo
] matched! markdown #295: [-⎵ foo↵ ⎵ -⎵ bar↵ ⎵ ⎵ -⎵ baz↵ ⎵ ⎵ ⎵ -⎵ boo↵ ] ]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 2 & 2 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/2-3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 5 & 3 & 3 +++ link new? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/3-4) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - boo", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? YES and list_indent is 2147483647 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 6 & 4 & 4 +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "boo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "boo" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---- inline to parse: [boo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="10) foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... | +---> resulting html: [
  • foo
  • bar
  • baz
  • boo
] matched! markdown #296: [10)⎵ foo↵ ⎵ ⎵ ⎵ ⎵ -⎵ bar↵ ] >> numbered list... >> list type [41]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Count: 1) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PARENTHESIS) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [45]... >> list type [45]... +++ found a list... column: 7 indent 2147483647 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? YES and list_indent is 2147483647 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ace3e8 it on entry: [0x5c49d1ace3e8] --- not HTML block? -- it position: 6 -- 0x5c49d1ace3e8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace3a0 -- 0x5c49d1ace3e8 -- 0x5c49d1ace40c link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 5, last parent end-column: 4 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Count: 1) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) - Number: 10 + PARAGRAPH (line/column: 1/5) - Next Sibling (LIST_DASH), Parent (LIST_PARENTHESIS) - Content: "foo" + LIST_DASH (line/column: 2/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_PARENTHESIS), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/7) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Count: 1) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) - Number: 10 + PARAGRAPH (line/column: 1/5) - Next Sibling (LIST_DASH), Parent (LIST_PARENTHESIS) - Content: "foo" + LIST_DASH (line/column: 2/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_PARENTHESIS), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/7) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="10) foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [41]... | +---> resulting html: [
  1. foo
    • bar
] matched! markdown #297: [10)⎵ foo↵ ⎵ ⎵ ⎵ -⎵ bar↵ ] +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Count: 1) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PARENTHESIS) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? YES and list_indent is 2147483647 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac58a0 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 6 & 4 & 4 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PARENTHESIS) - Content: "foo" + LIST_DASH (line/column: 2/4-5) - Previous Sibling (LIST_PARENTHESIS), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/6) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PARENTHESIS, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_PARENTHESIS (line/column: 1/1-4) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 10 + PARAGRAPH (line/column: 1/5) - Parent (LIST_PARENTHESIS) - Content: "foo" + LIST_DASH (line/column: 2/4-5) - Previous Sibling (LIST_PARENTHESIS), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/6) - Parent (LIST_DASH) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- - foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
  1. foo
  • bar
] matched! markdown #298: [-⎵ -⎵ foo↵ ] 45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 1 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 3 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) + LIST_DASH (line/column: 1/3-4) - Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) + LIST_DASH (line/column: 1/3-4) - Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. - 2. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no | +---> resulting html: [
    • foo
] matched! markdown #299: [1.⎵ -⎵ 2.⎵ foo↵ ] and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 1 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 1 -- it position: 5 working block is a list? YES and list_indent is 1 -- it position: 5 >> parse for list [50]... >> numbered list... >> list type [46]... +++ found a list... column: 9 indent 1 -- it position: 8 +++ gap so far 0 blanks, working column: 8, it column 9, list indent: 1 -- it position: 8 working block is a list? YES and list_indent is 1 -- it position: 8 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 8 +++ not a list or blockquote? -- it position: 8 any containers (other than line)? -- it position: 8 --- not empty? -- it position: 8 --- not indented block? -- it position: 8 --- not fenced block? -- it position: 8 -- 0x5c49d1ace5c0 it on entry: [0x5c49d1ace5c0] --- not HTML block? -- it position: 8 -- 0x5c49d1ace5c0 --- not header? -- it position: 8 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 8 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 8 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ace560 -- 0x5c49d1ace5c0 -- 0x5c49d1ace5e4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 9 & 6 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 1 + LIST_DASH (line/column: 1/4-5) - Parent (LIST_PERIOD), Has Children (First: LIST_PERIOD, Count: 1) + LIST_PERIOD (line/column: 1/6-8) - Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 1/9) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: LIST_DASH, Count: 1) - Number: 1 + LIST_DASH (line/column: 1/4-5) - Parent (LIST_PERIOD), Has Children (First: LIST_PERIOD, Count: 1) + LIST_PERIOD (line/column: 1/6-8) - Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 1/9) - Parent (LIST_PERIOD) - Content: "foo" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- # Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [ | +---> resulting html: [
      1. foo
] matched! markdown #300: [-⎵ #⎵ Foo↵ -⎵ Bar↵ ⎵ ⎵ ---↵ ⎵ ⎵ baz↵ ] 45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [35]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 ---- header +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- Bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [66]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "Bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ---", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! >>> sub-block? 0 - * ---------------------------- DOCUMENT TREE SO FAR: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "Bar" - * ---------------------------- DOCUMENT TREE SO FAR END --- - * ---------------------------- WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- WORKING BLOCK END --- last block: not in block quote & working block: not in block quote - * ---------------------------- LAST BLOCK: + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "Bar" - * ---------------------------- LAST BLOCK END --- - * ---------------------------- TOP WORKING BLOCK: + LINE (line/column: 3/1) - * ---------------------------- TOP WORKING BLOCK END --- --- unlink: 182 --- parent 0x5c49d1ace3b0 --- next 0 --- previous 0 - * ---------------------------- DOCUMENT TREE AFTER UNLINK + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - * ---------------------------- DOCUMENT TREE AFTER UNLINK END --- ---- setext fully handled ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_SINGLE, Count: 1) + HEADER_SINGLE (line/column: 3/3) - Parent (LIST_DASH) - Content: "Bar" - Number: 2 - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ append list item? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_SINGLE, Last: TEXT, Count: 2) + HEADER_SINGLE (line/column: 3/3) - Next Sibling (TEXT), Parent (LIST_DASH) - Content: "Bar" - Number: 2 + TEXT (line/column: 4/3) - Previous Sibling (HEADER_SINGLE), Parent (LIST_DASH) - Content: " baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_OPEN, Count: 1) + HEADER_OPEN (line/column: 1/3) - Parent (LIST_DASH) - Content: "Foo" - Number: 1 + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: HEADER_SINGLE, Last: TEXT, Count: 2) + HEADER_SINGLE (line/column: 3/3) - Next Sibling (TEXT), Parent (LIST_DASH) - Content: "Bar" - Number: 2 + TEXT (line/column: 4/3) - Previous Sibling (HEADER_SINGLE), Parent (LIST_DASH) - Content: " baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [Bar] ---- inline to parse: [ baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • Foo

  • Bar

    baz
] matched! markdown #301: [-⎵ foo↵ -⎵ bar↵ +⎵ baz↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="+ baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [43]... >> list type [43]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_PLUS, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_PLUS), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + LIST_PLUS (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_PLUS) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_PLUS, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_PLUS), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + LIST_PLUS (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_PLUS) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
  • foo
  • bar
  • baz
] matched! markdown #302: [1.⎵ foo↵ 2.⎵ bar↵ 3)⎵ baz↵ ] 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="2. bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [50]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 1 & 3 +++ link new? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 2/4) - Parent (LIST_PERIOD) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="3) baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [51]... >> numbered list... >> list type [41]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 1 & 3 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PARENTHESIS, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Next Sibling (LIST_PARENTHESIS), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 2/4) - Parent (LIST_PERIOD) - Content: "bar" + LIST_PARENTHESIS (line/column: 3/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 3/4) - Parent (LIST_PARENTHESIS) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PARENTHESIS, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo" + LIST_PERIOD (line/column: 2/1-3) - Next Sibling (LIST_PARENTHESIS), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 2/4) - Parent (LIST_PERIOD) - Content: "bar" + LIST_PARENTHESIS (line/column: 3/1-3) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 3/4) - Parent (LIST_PARENTHESIS) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="Foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [70]... >> not a list mark... but after calling parse_list() we have list_indent = 1 | +---> resulting html: [
  1. foo
  2. bar
  1. baz
] matched! markdown #303: [Foo↵ -⎵ bar↵ -⎵ baz↵ ] -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1acaa40 it on entry: [0x5c49d1acaa40] --- not HTML block? -- it position: 0 -- 0x5c49d1acaa40 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "Foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bar", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "Foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "Foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_DASH), Parent (DOCUMENT) - Content: "Foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [Foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="The number of windows in my house i | +---> resulting html: [

Foo

  • bar
  • baz
] matched! markdown #304: [The⎵ number⎵ of⎵ windows⎵ in⎵ my⎵ house⎵ is↵ 14.⎵ ⎵ The⎵ number⎵ of⎵ doors⎵ is⎵ 6.↵ ] s", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [84]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9870 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "The number of windows in my house is" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="14. The number of doors is 6.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [49]... >> numbered list... but after calling parse_list() we have list_indent = 2147483647 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9828 link child save working child end paragraph handling ---- paragraph +++ append to existing block code or paragraph? [14. The number of doors is 6.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "The number of windows in my house is 14. The number of [...]" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "The number of windows in my house is 14. The number of [...]" - * -------------------------------------------- TREE END --- ---- inline to parse: [The number of windows in my house is 14. The number of doors is 6.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="The number of windows in my house i | +---> resulting html: [

The number of windows in my house is 14. The number of doors is 6.

] matched! markdown #305: [The⎵ number⎵ of⎵ windows⎵ in⎵ my⎵ house⎵ is↵ 1.⎵ ⎵ The⎵ number⎵ of⎵ doors⎵ is⎵ 6.↵ ] s", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [84]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac96c0 it on entry: [0x5c49d1ac96c0] --- not HTML block? -- it position: 0 -- 0x5c49d1ac96c0 --- not header? -- it position: 0 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 0 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 0 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96c0 -- 0x5c49d1ac9870 link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? no parent columns (w/wp/lp): 1 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Parent (DOCUMENT) - Content: "The number of windows in my house is" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="1. The number of doors is 6.", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 1 blanks, working column: 3, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [84]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 setup character create paragraph add content -- 0x5c49d1ac96c0 -- 0x5c49d1ac96f0 -- 0x5c49d1ac981c link child save working child end paragraph handling ---- early paragraph WITHOUT list sub-block = 5 >= 0 + 4 +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT) - Content: "The number of windows in my house is" + LIST_PERIOD (line/column: 2/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (LIST_PERIOD) - Content: "The number of doors is 6." - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: PARAGRAPH, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/1) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT) - Content: "The number of windows in my house is" + LIST_PERIOD (line/column: 2/1-3) - Previous Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (LIST_PERIOD) - Content: "The number of doors is 6." - * -------------------------------------------- TREE END --- ---- inline to parse: [The number of windows in my house is] ---- inline to parse: [The number of doors is 6.] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [ | +---> resulting html: [

The number of windows in my house is

  1. The number of doors is 6.
] matched! markdown #306: [-⎵ foo↵ ↵ -⎵ bar↵ ↵ ↵ -⎵ baz↵ ] 45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 3 >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- baz", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 3 >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 6/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 3/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/3) - Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 6/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • foo

  • bar

  • baz

] matched! markdown #307: [-⎵ foo↵ ⎵ ⎵ -⎵ bar↵ ⎵ ⎵ ⎵ ⎵ -⎵ baz↵ ↵ ↵ ⎵ ⎵ ⎵ ⎵ ⎵ ⎵ bim↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 3, last parent end-column: 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - baz", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [45]... >> list type [45]... +++ found a list... column: 7 indent 2147483647 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? YES and list_indent is 2147483647 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac8fc8 it on entry: [0x5c49d1ac8fc8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac8fc8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fc8 -- 0x5c49d1ac8fec link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 5, last parent end-column: 4 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line=" bim", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 7 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 7 -- it position: 1 column: 2 indent 7 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 7 -- it position: 2 column: 3 indent 7 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 7 -- it position: 3 column: 4 indent 7 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 7 -- it position: 4 column: 5 indent 7 -- it position: 4 +++ gap so far 5 blanks, working column: 1, it column 6, list indent: 7 -- it position: 5 column: 6 indent 7 -- it position: 5 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 column: 7 indent 7 -- it position: 6 +++ gap so far 6 blanks, working column: 1, it column 7, list indent: 7 -- it position: 6 working block is a list? no and list_indent is 7 -- it position: 6 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 7 -- it position: 6 then compare 7 vs list_indent + 4 = 11 -- it position: 6 +++ this is a list item followed by this additional paragraph: 7 or 7 >= 7 blanks! (working column: 1 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac8fc8 it on entry: [0x5c49d1ac8fc8] --- not HTML block? -- it position: 6 -- 0x5c49d1ac8fc8 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac8f80 -- 0x5c49d1ac8fc8 -- 0x5c49d1ac8fec link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 7) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "baz" + PARAGRAPH (line/column: 6/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bim" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=7, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 2/5) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "bar" + LIST_DASH (line/column: 3/5-6) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/7) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "baz" + PARAGRAPH (line/column: 6/7) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "bim" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---- inline to parse: [bim] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: | +---> resulting html: [
  • foo
    • bar
      • baz

        bim

] matched! markdown #308: [-⎵ foo↵ -⎵ bar↵ ↵ ↵ ↵ -⎵ baz↵ -⎵ bim↵ ] 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 0 then compare 1 vs list_indent + 4 = 7 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ac5840 it on entry: [0x5c49d1ac5840] it column 1 vs 1 * checking for comment: +---> state 0 current end of string: [ -->] +---> state 0 current end of string: [-->] +---> state 1 current end of string: [->] +---> state 2 current end of string: [>] ---- got HTML block +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + TAG (line/column: 4/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- baz", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 1 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + LIST_DASH (line/column: 6/1-2) - Previous Sibling (TAG), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- bim", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 5) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + LIST_DASH (line/column: 6/1-2) - Next Sibling (LIST_DASH), Previous Sibling (TAG), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "bim" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 5) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "foo" + LIST_DASH (line/column: 2/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "bar" + TAG (line/column: 4/1) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + LIST_DASH (line/column: 6/1-2) - Next Sibling (LIST_DASH), Previous Sibling (TAG), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "baz" + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "bim" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ---- inline to parse: [bim] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is | +---> resulting html: [
  • foo
  • bar
  • baz
  • bim
] matched! markdown #309: [-⎵ ⎵ ⎵ foo↵ ↵ ⎵ ⎵ ⎵ ⎵ notcode↵ ↵ -⎵ ⎵ ⎵ foo↵ ↵ ↵ ↵ ⎵ ⎵ ⎵ ⎵ code↵ ] 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 2 blanks, working column: 2, it column 5, list indent: 1 -- it position: 4 column: 5 indent 1 -- it position: 4 +++ gap so far 2 blanks, working column: 2, it column 5, list indent: 1 -- it position: 4 working block is a list? YES and list_indent is 1 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5c10 it on entry: [0x5c49d1ac5c10] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5c10 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5be0 -- 0x5c49d1ac5c10 -- 0x5c49d1ac5c34 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 5 & 1 & no parent +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" notcode", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [110]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ad03f0 it on entry: [0x5c49d1ad03f0] --- not HTML block? -- it position: 4 -- 0x5c49d1ad03f0 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ad03c0 -- 0x5c49d1ad03f0 -- 0x5c49d1ad0444 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="- foo", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 5 -- it position: 0 working block is a list? no and list_indent is 5 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 5 >> list type [45]... +++ found a list... column: 3 indent 5 -- it position: 2 +++ gap so far 1 blanks, working column: 2, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 2 blanks, working column: 2, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 2 blanks, working column: 2, it column 5, list indent: 5 -- it position: 4 working block is a list? YES and list_indent is 5 -- it position: 4 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 2 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ad03f0 it on entry: [0x5c49d1ad03f0] --- not HTML block? -- it position: 4 -- 0x5c49d1ad03f0 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ad03c0 -- 0x5c49d1ad03f0 -- 0x5c49d1ad0414 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 5 -- it position: 0 working block is a list? no and list_indent is 5 -- it position: 0 >> parse for list [60]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 0 then compare 1 vs list_indent + 4 = 9 -- it position: 0 +++ not a list or blockquote? -- it position: 0 any containers (other than line)? -- it position: 0 --- not empty? -- it position: 0 --- not indented block? -- it position: 0 --- not fenced block? -- it position: 0 -- 0x5c49d1ad03c0 it on entry: [0x5c49d1ad03c0] it column 1 vs 1 * checking for comment: +---> state 0 current end of string: [ -->] +---> state 0 current end of string: [-->] +---> state 1 current end of string: [->] +---> state 2 current end of string: [>] ---- got HTML block +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 1 & 1 & 2 +++ link new? 0x5c49d1ad02f0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" + TAG (line/column: 7/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" + TAG (line/column: 7/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + TAG (line/column: 7/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: TAG, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" + TAG (line/column: 7/1) - Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" code", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ got a gap of 4 >= 4 blanks! (working column/end: 1/1, it column 5, list indent + 4: 5 -- it position: 4) TOP has-empty-line has-parent ---- gap return with f_list_subblock of 0 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? no columns (w/wp/lp): 5 & 1 & 1 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: CODE_BLOCK_INDENTED, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" + TAG (line/column: 7/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 9/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "code " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: CODE_BLOCK_INDENTED, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "foo" + PARAGRAPH (line/column: 3/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "notcode" + LIST_DASH (line/column: 5/1-2) - Next Sibling (TAG), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "foo" + TAG (line/column: 7/1) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (LIST_DASH), Parent (DOCUMENT) - Content: " " - Block is followed by at least one empty line + CODE_BLOCK_INDENTED (line/column: 9/5) - Previous Sibling (TAG), Parent (DOCUMENT) - Content: "code " - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [notcode] ---- inline to parse: [foo] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - | +---> resulting html: [
  • foo

    notcode

  • foo

code
] matched! markdown #310: [-⎵ a↵ ⎵ -⎵ b↵ ⎵ ⎵ -⎵ c↵ ⎵ ⎵ ⎵ -⎵ d↵ ⎵ ⎵ -⎵ e↵ ⎵ -⎵ f↵ -⎵ g↵ ] b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac53f4 it on entry: [0x5c49d1ac53f4] --- not HTML block? -- it position: 3 -- 0x5c49d1ac53f4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53f4 -- 0x5c49d1ac5400 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 2 & 2 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - c", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 5 & 3 & 3 +++ link new? 0x5c49d1ad1560 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - d", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? YES and list_indent is 2147483647 -- it position: 5 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 6 & 4 & 4 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - e", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [101]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 5 & 3 & 5 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 5) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" + LIST_DASH (line/column: 5/3-4) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "e" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - f", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5870 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 2 & 4 +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 6) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" + LIST_DASH (line/column: 5/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "e" + LIST_DASH (line/column: 6/2-3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/4) - Parent (LIST_DASH) - Content: "f" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- g", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [103]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 3 +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 7) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" + LIST_DASH (line/column: 5/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "e" + LIST_DASH (line/column: 6/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/4) - Parent (LIST_DASH) - Content: "f" + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "g" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 7) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" + LIST_DASH (line/column: 5/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/5) - Parent (LIST_DASH) - Content: "e" + LIST_DASH (line/column: 6/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/4) - Parent (LIST_DASH) - Content: "f" + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "g" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---- inline to parse: [d] ---- inline to parse: [e] ---- inline to parse: [f] ---- inline to parse: [g] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1acaa64 it on entry: [0x5c49d1acaa64] --- not HTML block? -- it position: 3 -- 0x5c49d1acaa64 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 -- 0x5c49d1acaa70 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac8f90 | +---> resulting html: [
  • a
  • b
  • c
  • d
  • e
  • f
  • g
] matched! markdown #311: [1.⎵ a↵ ↵ ⎵ ⎵ 2.⎵ b↵ ↵ ⎵ ⎵ ⎵ 3.⎵ c↵ ] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" 2. b", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 working block is a list? no and list_indent is 4 -- it position: 2 >> parse for list [50]... >> numbered list... >> list computed gap 3 vs first child 4 >> list type [46]... +++ found a list... column: 6 indent 4 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 4 -- it position: 5 working block is a list? YES and list_indent is 4 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 5 then compare 6 vs list_indent + 4 = 8 -- it position: 5 +++ this is a list item followed by this additional paragraph: 6 or 6 >= 4 blanks! (working column: 5 -- it position: 5) +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=" 3. c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 6 -- it position: 1 column: 2 indent 6 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 column: 3 indent 6 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 6 -- it position: 3 column: 4 indent 6 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 6 -- it position: 3 working block is a list? no and list_indent is 6 -- it position: 3 >> parse for list [51]... >> numbered list... >> list computed gap 4 vs first child 6 >> list type [46]... +++ found a list... column: 7 indent 6 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 6 -- it position: 6 working block is a list? YES and list_indent is 6 -- it position: 6 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 6 -- it position: 6 then compare 7 vs list_indent + 4 = 10 -- it position: 6 +++ this is a list item followed by this additional paragraph: 7 or 7 >= 6 blanks! (working column: 6 -- it position: 6) +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac5888 it on entry: [0x5c49d1ac5888] --- not HTML block? -- it position: 6 -- 0x5c49d1ac5888 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5888 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 6) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Next Sibling (LIST_PERIOD), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" + LIST_PERIOD (line/column: 5/4-6) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 5/7) - Parent (LIST_PERIOD) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Next Sibling (LIST_PERIOD), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" + LIST_PERIOD (line/column: 5/4-6) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 3 + PARAGRAPH (line/column: 5/7) - Parent (LIST_PERIOD) - Content: "c" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 | +---> resulting html: [
  1. a

  2. b

  3. c

] matched! markdown #312: [-⎵ a↵ ⎵ -⎵ b↵ ⎵ ⎵ -⎵ c↵ ⎵ ⎵ ⎵ -⎵ d↵ ⎵ ⎵ ⎵ ⎵ -⎵ e↵ ] working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 working block is a list? no and list_indent is 2147483647 -- it position: 1 >> parse for list [45]... >> list type [45]... +++ found a list... column: 4 indent 2147483647 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? YES and list_indent is 2147483647 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1acaa64 it on entry: [0x5c49d1acaa64] --- not HTML block? -- it position: 3 -- 0x5c49d1acaa64 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa64 -- 0x5c49d1acaa70 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 4 & 2 & 2 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - c", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 5 & 3 & 3 +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - d", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 working block is a list? no and list_indent is 2147483647 -- it position: 3 >> parse for list [45]... >> list type [45]... +++ found a list... column: 6 indent 2147483647 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 2147483647 -- it position: 5 working block is a list? YES and list_indent is 2147483647 -- it position: 5 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 5 +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 6 & 4 & 4 +++ link new? 0x5c49d1ad1800 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - e", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 2147483647 -- it position: 3 column: 4 indent 2147483647 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 column: 5 indent 2147483647 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [45]... >> list type [45]... +++ found a list... column: 7 indent 2147483647 -- it position: 6 +++ gap so far 0 blanks, working column: 6, it column 7, list indent: 2147483647 -- it position: 6 working block is a list? YES and list_indent is 2147483647 -- it position: 6 >> parse for list [101]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 6 +++ not a list or blockquote? -- it position: 6 any containers (other than line)? -- it position: 6 --- not empty? -- it position: 6 --- not indented block? -- it position: 6 --- not fenced block? -- it position: 6 -- 0x5c49d1ac5888 it on entry: [0x5c49d1ac5888] --- not HTML block? -- it position: 6 -- 0x5c49d1ac5888 --- not header? -- it position: 6 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 6 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 6 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5888 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ append paragraph continuation instead of list? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d - e" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 4) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/2-3) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/4) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 3/3-4) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 3/5) - Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 4/4-5) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/6) - Parent (LIST_DASH) - Content: "d - e" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---- inline to parse: [d - e] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... +++ found a list... column: | +---> resulting html: [
  • a
  • b
  • c
  • d - e
] matched! markdown #313: [1.⎵ a↵ ↵ ⎵ ⎵ 2.⎵ b↵ ↵ ⎵ ⎵ ⎵ ⎵ 3.⎵ c↵ ] 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac53f4 it on entry: [0x5c49d1ac53f4] --- not HTML block? -- it position: 3 -- 0x5c49d1ac53f4 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53f4 -- 0x5c49d1ac5400 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" 2. b", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 working block is a list? no and list_indent is 4 -- it position: 2 >> parse for list [50]... >> numbered list... >> list computed gap 3 vs first child 4 >> list type [46]... +++ found a list... column: 6 indent 4 -- it position: 5 +++ gap so far 0 blanks, working column: 5, it column 6, list indent: 4 -- it position: 5 working block is a list? YES and list_indent is 4 -- it position: 5 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 5 then compare 6 vs list_indent + 4 = 8 -- it position: 5 +++ this is a list item followed by this additional paragraph: 6 or 6 >= 4 blanks! (working column: 5 -- it position: 5) +++ not a list or blockquote? -- it position: 5 any containers (other than line)? -- it position: 5 --- not empty? -- it position: 5 --- not indented block? -- it position: 5 --- not fenced block? -- it position: 5 -- 0x5c49d1ac587c it on entry: [0x5c49d1ac587c] --- not HTML block? -- it position: 5 -- 0x5c49d1ac587c --- not header? -- it position: 5 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 5 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 5 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac587c -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: LIST_PERIOD, Count: 2) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=6, f_last_line=" 3. c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 6 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 6 -- it position: 1 column: 2 indent 6 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 6 -- it position: 2 column: 3 indent 6 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 6 -- it position: 3 column: 4 indent 6 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 6 -- it position: 4 column: 5 indent 6 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 6 -- it position: 4 working block is a list? no and list_indent is 6 -- it position: 4 >> parse for list [51]... >> numbered list... >> list computed gap 5 vs first child 6 but after calling parse_list() we have list_indent = 6 -- it position: 4 then compare 5 vs list_indent + 4 = 10 -- it position: 4 +++ got a gap of 4 >= 4 blanks! (list indent: 6 and sub-block is 0) BOTTOM any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 +++ adding a CODE BLOCK here (indent: 0) ---- got indent of 5 vs column 5 ---- got indented code block +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 5 & 1 & 5 +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT) - Content: "3. c " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Last: CODE_BLOCK_INDENTED, Count: 3) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Next Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 - Block is followed by at least one empty line + PARAGRAPH (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "a" + LIST_PERIOD (line/column: 3/3-5) - Next Sibling (CODE_BLOCK_INDENTED), Previous Sibling (LIST_PERIOD), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Number: 2 - Block is followed by at least one empty line + PARAGRAPH (line/column: 3/6) - Parent (LIST_PERIOD) - Content: "b" + CODE_BLOCK_INDENTED (line/column: 5/5) - Previous Sibling (LIST_PERIOD), Parent (DOCUMENT) - Content: "3. c " - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  1. a

  2. b

3. c
] matched! markdown #314: [-⎵ a↵ -⎵ b↵ ↵ -⎵ c↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ad03d0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 3 >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 4/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 4/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_DASH) - Content: "c" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... | +---> resulting html: [
  • a

  • b

  • c

] matched! markdown #315: [*⎵ a↵ *↵ ↵ *⎵ c↵ ] >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="*", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... any containers (other than line)? -- it position: 1 found empty line (Last? not eos?!) blockquotes? --- not empty? -- it position: 1 --- not indented block? -- it position: 1 --- not fenced block? -- it position: 1 -- 0x5c49d1ac53dc it on entry: [0x5c49d1ac53dc] --- not HTML block? -- it position: 1 -- 0x5c49d1ac53dc --- not header? -- it position: 1 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 1 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 1 == END REACHED! setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53dc -- 0x5c49d1ac53dc link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 0 & 1 & 2 +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" + LIST_ASTERISK (line/column: 2/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH - Parent (LIST_ASTERISK) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" + LIST_ASTERISK (line/column: 2/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_ASTERISK) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH - Parent (LIST_ASTERISK) - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" + LIST_ASTERISK (line/column: 2/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_ASTERISK) - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=0, f_last_line="* c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 0 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 0 -- it position: 0 working block is a list? no and list_indent is 0 -- it position: 0 >> parse for list [42]... >> list computed gap 1 vs first child 0 >> list type [42]... +++ found a list... column: 3 indent 0 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 0 -- it position: 2 working block is a list? YES and list_indent is 0 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 0 -- it position: 2 then compare 3 vs list_indent + 4 = 4 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 0 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 3) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" + LIST_ASTERISK (line/column: 2/1-2) - Next Sibling (LIST_ASTERISK), Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_ASTERISK) + LIST_ASTERISK (line/column: 4/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_ASTERISK) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 3) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" + LIST_ASTERISK (line/column: 2/1-2) - Next Sibling (LIST_ASTERISK), Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH - Parent (LIST_ASTERISK) + LIST_ASTERISK (line/column: 4/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_ASTERISK) - Content: "c" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [] ---- inline to parse: [c] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • a

  • c

] matched! markdown #316: [-⎵ a↵ -⎵ b↵ ↵ ⎵ ⎵ c↵ -⎵ d↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 1 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- d", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 3 >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/3) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---- inline to parse: [d] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • a

  • b

    c

  • d

] matched! markdown #317: [-⎵ a↵ -⎵ b↵ ↵ ⎵ ⎵ [ref]:⎵ /url↵ -⎵ d↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1acfa80 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line=" [ref]: /url", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 3 -- it position: 1 column: 2 indent 3 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 column: 3 indent 3 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 3 -- it position: 2 working block is a list? no and list_indent is 3 -- it position: 2 >> parse for list [91]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 1 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acecd8 it on entry: [0x5c49d1acecd8] --- not HTML block? -- it position: 2 -- 0x5c49d1acecd8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- parse link text... ---- check for colon: 58... ---- skip blanks... ---- parse link destination... ---- ref: destination {/url}... ---- ref: read no < bracket destination... ---- ref: got no < bracket destination [/url]... ---- add result as link reference [ref] [/url] []... ---- link reference ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=3, f_last_line="- d", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 3 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 3 -- it position: 0 working block is a list? no and list_indent is 3 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 3 >> list type [45]... +++ found a list... column: 3 indent 3 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 3 -- it position: 2 working block is a list? YES and list_indent is 3 -- it position: 2 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 3 -- it position: 2 then compare 3 vs list_indent + 4 = 7 -- it position: 2 +++ this is a list item followed by this additional paragraph: 3 or 3 >= 3 blanks! (working column: 2 -- it position: 2) +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acecd8 it on entry: [0x5c49d1acecd8] --- not HTML block? -- it position: 2 -- 0x5c49d1acecd8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acecc0 -- 0x5c49d1acecd8 -- 0x5c49d1acece4 link child save working child end paragraph handling ---- paragraph +++ add sibling to list? (list sub-block: 3) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/3) - Parent (LIST_DASH) - Content: "b" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [d] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • a

  • b

  • d

] matched! markdown #318: [-⎵ a↵ -⎵ ```↵ ⎵ ⎵ b↵ ↵ ↵ ⎵ ⎵ ```↵ -⎵ c↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1accf40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- ```", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [ b] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 --- check indent: 3 vs 3 --- add: b --- got next line [] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) --- what about an empty line? --- check indent: 0 vs 3 --- add: --- got next line [] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) --- what about an empty line? --- check indent: 0 vs 3 --- add: --- got next line [ ```] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ```", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 --- check indent: 3 vs 3 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 2/3) - Parent (LIST_DASH) - Content: "b " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- c", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 2/3) - Parent (LIST_DASH) - Content: "b " + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 3) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/1-2) - Next Sibling (LIST_DASH), Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) + CODE_BLOCK_GRAVE (line/column: 2/3) - Parent (LIST_DASH) - Content: "b " + LIST_DASH (line/column: 7/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 7/3) - Parent (LIST_DASH) - Content: "c" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [c] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 | +---> resulting html: [
  • a
  • b
    
    
    
  • c
] matched! markdown #319: [-⎵ a↵ ⎵ ⎵ -⎵ b↵ ↵ ⎵ ⎵ ⎵ ⎵ c↵ -⎵ d↵ ] >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 3, last parent end-column: 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" c", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 5 -- it position: 3 column: 4 indent 5 -- it position: 3 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 column: 5 indent 5 -- it position: 4 +++ gap so far 4 blanks, working column: 1, it column 5, list indent: 5 -- it position: 4 working block is a list? no and list_indent is 5 -- it position: 4 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 4 then compare 5 vs list_indent + 4 = 9 -- it position: 4 +++ this is a list item followed by this additional paragraph: 5 or 5 >= 5 blanks! (working column: 1 -- it position: 4) +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 5) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line="- d", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 5 -- it position: 0 working block is a list? no and list_indent is 5 -- it position: 0 >> parse for list [45]... >> list computed gap 1 vs first child 5 >> list type [45]... +++ found a list... column: 3 indent 5 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 5 -- it position: 2 working block is a list? YES and list_indent is 5 -- it position: 2 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 2 then compare 3 vs list_indent + 4 = 9 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 4 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Next Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "b" + PARAGRAPH (line/column: 4/5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH) - Content: "c" + LIST_DASH (line/column: 5/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 5/3) - Parent (LIST_DASH) - Content: "d" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---- inline to parse: [d] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: | +---> resulting html: [
  • a
    • b

      c

  • d
] matched! markdown #320: [*⎵ a↵ ⎵ ⎵ >⎵ b↵ ⎵ ⎵ >↵ *⎵ c↵ ] 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac53e8 it on entry: [0x5c49d1ac53e8] --- not HTML block? -- it position: 2 -- 0x5c49d1ac53e8 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac53d0 -- 0x5c49d1ac53e8 -- 0x5c49d1ac53f4 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ace490 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 +++ found a blockquote... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 5, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ append code block or blockquote to list? 5 -- 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_ASTERISK) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" >", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 +++ found a blockquote... any containers (other than line)? -- it position: 3 found empty line (Last? not eos?!) blockquotes? WORKING LAST - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_ASTERISK) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - Block is followed by at least one empty line - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_ASTERISK) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* c", list?=(not list), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [99]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no columns (w/wp/lp): 3 & 1 & 5 +++ link new? 0x5c49d1ac8eb0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_ASTERISK) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 4/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_ASTERISK) - Content: "c" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: LIST_ASTERISK, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_ASTERISK) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 4/1-2) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 4/3) - Parent (LIST_ASTERISK) - Content: "c" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [c] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [ | +---> resulting html: [
  • a

    b

  • c
] matched! markdown #321: [-⎵ a↵ ⎵ ⎵ >⎵ b↵ ⎵ ⎵ ```↵ ⎵ ⎵ c↵ ⎵ ⎵ ```↵ -⎵ d↵ ] 45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac5d40 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" > b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 +++ found a blockquote... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 5, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? no and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ append code block or blockquote to list? 5 -- 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: BLOCKQUOTE, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" ```", list?=(not list), f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- adding info string [] -- indentation: 3 --- got next line [ c] --- check indent: 1 vs 3 --- add: c --- got next line [ ```] --- check indent: 1 vs 3 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ append code block or blockquote to list? 3 -- 5 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 3) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Next Sibling (CODE_BLOCK_GRAVE), Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" + CODE_BLOCK_GRAVE (line/column: 3/3) - Previous Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "c " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="- d", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 2147483647 -- it position: 0 working block is a list? no and list_indent is 2147483647 -- it position: 0 >> parse for list [45]... >> list type [45]... +++ found a list... column: 3 indent 2147483647 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? YES and list_indent is 2147483647 -- it position: 2 >> parse for list [100]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac5864 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? LIST columns (w/wp/lp): 3 & 1 & 2 +++ link new? 0x5c49d1ace570 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 3) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Next Sibling (CODE_BLOCK_GRAVE), Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" + CODE_BLOCK_GRAVE (line/column: 3/3) - Previous Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "c " + LIST_DASH (line/column: 6/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "d" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Last: LIST_DASH, Count: 2) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Next Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: CODE_BLOCK_GRAVE, Count: 3) + PARAGRAPH (line/column: 1/3) - Next Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "a" + BLOCKQUOTE (line/column: 2/3-5) - Next Sibling (CODE_BLOCK_GRAVE), Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) - Number: 1 + PARAGRAPH (line/column: 2/5) - Parent (BLOCKQUOTE) - Content: "b" + CODE_BLOCK_GRAVE (line/column: 3/3) - Previous Sibling (BLOCKQUOTE), Parent (LIST_DASH) - Content: "c " + LIST_DASH (line/column: 6/1-2) - Previous Sibling (LIST_DASH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 6/3) - Parent (LIST_DASH) - Content: "d" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---- inline to parse: [d] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [45]... >> list type [45]... | +---> resulting html: [
  • a

    b

    c
    
  • d
] matched! markdown #322: [-⎵ a↵ ] +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="- a", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [ | +---> resulting html: [
  • a
] matched! markdown #323: [-⎵ a↵ ⎵ ⎵ -⎵ b↵ ] 45]... >> list type [45]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [97]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1acaa58 it on entry: [0x5c49d1acaa58] --- not HTML block? -- it position: 2 -- 0x5c49d1acaa58 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1acaa40 -- 0x5c49d1acaa58 -- 0x5c49d1acaa64 link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1ac8f90 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_DASH) - Content: "a" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" - b", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [45]... >> list type [45]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 3, last parent end-column: 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_DASH, Count: 1) - Block is followed by at least one empty line + LIST_DASH (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_DASH, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_DASH), Parent (LIST_DASH) - Content: "a" + LIST_DASH (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_DASH), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_DASH) - Content: "b" - * -------------------------------------------- TREE END --- ---- inline to parse: [a] ---- inline to parse: [b] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="1. ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [49]... >> numbered list... >> list type [46]... | +---> resulting html: [
  • a
    • b
] matched! markdown #324: [1.⎵ ```↵ ⎵ ⎵ ⎵ foo↵ ⎵ ⎵ ⎵ ```↵ ↵ ⎵ ⎵ ⎵ bar↵ ] +++ found a list... column: 4 indent 1 -- it position: 3 +++ gap so far 0 blanks, working column: 3, it column 4, list indent: 1 -- it position: 3 working block is a list? YES and list_indent is 1 -- it position: 3 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- adding info string [] -- indentation: 4 --- got next line [ foo] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 --- check indent: 4 vs 4 --- end count: 0 --- add: foo --- got next line [ ```] - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line=" ```", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 1 -- it position: 1 column: 2 indent 1 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 1 -- it position: 2 column: 3 indent 1 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 column: 4 indent 1 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 1 -- it position: 3 working block is a list? no and list_indent is 1 -- it position: 3 >> parse for list [96]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 3 +++ not a list or blockquote? -- it position: 3 --- check indent: 4 vs 4 --- end count: 3 --- found end mark?! --- done ---- got fenced code block +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 4 & 1 & no parent +++ link new? 0x5c49d1ac7700 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo " - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo " - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Count: 1) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Parent (LIST_PERIOD) - Content: "foo " - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line=" bar", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 4 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 4 -- it position: 1 column: 2 indent 4 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 4 -- it position: 2 column: 3 indent 4 -- it position: 2 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 column: 4 indent 4 -- it position: 3 +++ gap so far 3 blanks, working column: 1, it column 4, list indent: 4 -- it position: 3 working block is a list? no and list_indent is 4 -- it position: 3 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 4 -- it position: 3 then compare 4 vs list_indent + 4 = 8 -- it position: 3 +++ this is a list item followed by this additional paragraph: 4 or 4 >= 4 blanks! (working column: 1 -- it position: 3) +++ not a list or blockquote? -- it position: 3 any containers (other than line)? -- it position: 3 --- not empty? -- it position: 3 --- not indented block? -- it position: 3 --- not fenced block? -- it position: 3 -- 0x5c49d1ac5864 it on entry: [0x5c49d1ac5864] --- not HTML block? -- it position: 3 -- 0x5c49d1ac5864 --- not header? -- it position: 3 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 3 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 3 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5864 -- 0x5c49d1ac5888 link child save working child end paragraph handling ---- paragraph +++ add child to list? (list sub-block: 4) ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "foo " + PARAGRAPH (line/column: 5/4) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=4, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? YES) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_PERIOD, Count: 1) - Block is followed by at least one empty line + LIST_PERIOD (line/column: 1/1-3) - Parent (DOCUMENT), Has Children (First: CODE_BLOCK_GRAVE, Last: PARAGRAPH, Count: 2) - Number: 1 - Block is followed by at least one empty line + CODE_BLOCK_GRAVE (line/column: 1/4) - Next Sibling (PARAGRAPH), Parent (LIST_PERIOD) - Content: "foo " + PARAGRAPH (line/column: 5/4) - Previous Sibling (CODE_BLOCK_GRAVE), Parent (LIST_PERIOD) - Content: "bar" - * -------------------------------------------- TREE END --- ---- inline to parse: [bar] ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Block is followed by at least one empty line - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=1, f_last_line="* foo", list?=(no parent), f_working_block->end_column()=1, has empty line? YES) column: 1 indent 1 -- it position: 0 +++ gap so far 0 blanks, working column: 1, it column 1, list indent: 1 -- it position: 0 working block is a list? no and list_indent is 1 -- it position: 0 >> parse for list [42]... | +---> resulting html: [
  1. foo
    

    bar

] matched! markdown #325: [*⎵ foo↵ ⎵ ⎵ *⎵ bar↵ ↵ ⎵ ⎵ baz↵ ] >> list type [42]... +++ found a list... column: 3 indent 1 -- it position: 2 +++ gap so far 0 blanks, working column: 2, it column 3, list indent: 1 -- it position: 2 working block is a list? YES and list_indent is 1 -- it position: 2 >> parse for list [102]... >> not a list mark... but after calling parse_list() we have list_indent = 1 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? LIST last parent is list? no parent columns (w/wp/lp): 3 & 1 & no parent +++ link new? 0x5c49d1acecd0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 1/3) - Parent (LIST_ASTERISK) - Content: "foo" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line=" * bar", list?=LIST, f_working_block->end_column()=1, has empty line? no) column: 1 indent 2147483647 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 2147483647 -- it position: 1 column: 2 indent 2147483647 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 column: 3 indent 2147483647 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 2147483647 -- it position: 2 working block is a list? no and list_indent is 2147483647 -- it position: 2 >> parse for list [42]... >> list type [42]... +++ found a list... column: 5 indent 2147483647 -- it position: 4 +++ gap so far 0 blanks, working column: 4, it column 5, list indent: 2147483647 -- it position: 4 working block is a list? YES and list_indent is 2147483647 -- it position: 4 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 2147483647 -- it position: 4 +++ not a list or blockquote? -- it position: 4 any containers (other than line)? -- it position: 4 --- not empty? -- it position: 4 --- not indented block? -- it position: 4 --- not fenced block? -- it position: 4 -- 0x5c49d1ac5870 it on entry: [0x5c49d1ac5870] --- not HTML block? -- it position: 4 -- 0x5c49d1ac5870 --- not header? -- it position: 4 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 4 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 4 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5870 -- 0x5c49d1ac5894 link child save working child end paragraph handling ---- paragraph +++ link sub-list? working parent column: 3, last parent end-column: 2 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_ASTERISK), Parent (LIST_ASTERISK) - Content: "foo" + LIST_ASTERISK (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=LIST, f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? not eos?!) - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_ASTERISK), Parent (LIST_ASTERISK) - Content: "foo" + LIST_ASTERISK (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" - * ---------------------------- DOCUMENT TREE AFTER EMPTY LINE END - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE: + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" - * ---------------------------- LAST BLOCK TREE AFTER EMPTY LINE END --- ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Count: 1) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_ASTERISK), Parent (LIST_ASTERISK) - Content: "foo" + LIST_ASTERISK (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=5, f_last_line=" baz", list?=LIST, f_working_block->end_column()=1, has empty line? YES) column: 1 indent 5 -- it position: 0 +++ gap so far 1 blanks, working column: 1, it column 2, list indent: 5 -- it position: 1 column: 2 indent 5 -- it position: 1 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 column: 3 indent 5 -- it position: 2 +++ gap so far 2 blanks, working column: 1, it column 3, list indent: 5 -- it position: 2 working block is a list? no and list_indent is 5 -- it position: 2 >> parse for list [98]... >> not a list mark... but after calling parse_list() we have list_indent = 5 -- it position: 2 then compare 3 vs list_indent + 4 = 9 -- it position: 2 +++ not a list or blockquote? -- it position: 2 any containers (other than line)? -- it position: 2 --- not empty? -- it position: 2 --- not indented block? -- it position: 2 --- not fenced block? -- it position: 2 -- 0x5c49d1ac5858 it on entry: [0x5c49d1ac5858] --- not HTML block? -- it position: 2 -- 0x5c49d1ac5858 --- not header? -- it position: 2 process_thematic_break_or_setext_heading() called! --- not thematic break? -- it position: 2 ---- process_reference_definition()... ---- not reference (1)... --- not reference? -- it position: 2 == it is not at the end, we're good, right? setup character create paragraph add content -- 0x5c49d1ac5840 -- 0x5c49d1ac5858 -- 0x5c49d1ac587c link child save working child end paragraph handling ---- paragraph +++ working parent is list? no last parent is list? LIST columns (w/wp/lp): 3 & 1 & 4 +++ link new? 0x5c49d1ace3b0 ---------------- process containers... - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_ASTERISK), Parent (LIST_ASTERISK) - Content: "foo" + LIST_ASTERISK (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" + PARAGRAPH (line/column: 4/3) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT) - Content: "baz" - * ---------------------------- DOCUMENT TREE BEFORE CHECKING CONTAINERS END +++ checking for containers (list_indent=2147483647, f_last_line="", list?=(not list), f_working_block->end_column()=1, has empty line? no) any containers (other than line)? -- it position: 0 found empty line (completely empty + Last? EOS) - * -------------------------------------------- TREE: + DOCUMENT (line/column: 1/1) - Has Children (First: LIST_ASTERISK, Last: PARAGRAPH, Count: 2) - Block is followed by at least one empty line + LIST_ASTERISK (line/column: 1/1-2) - Next Sibling (PARAGRAPH), Parent (DOCUMENT), Has Children (First: PARAGRAPH, Last: LIST_ASTERISK, Count: 2) + PARAGRAPH (line/column: 1/3) - Next Sibling (LIST_ASTERISK), Parent (LIST_ASTERISK) - Content: "foo" + LIST_ASTERISK (line/column: 2/3-4) - Previous Sibling (PARAGRAPH), Parent (LIST_ASTERISK), Has Children (First: PARAGRAPH, Count: 1) - Block is followed by at least one empty line + PARAGRAPH (line/column: 2/5) - Parent (LIST_ASTERISK) - Content: "bar" + PARAGRAPH (line/column: 4/3) - Previous Sibling (LIST_ASTERISK), Parent (DOCUMENT) - Content: "baz" - * -------------------------------------------- TREE END --- ---- inline to parse: [foo] ---- inline to parse: [bar] ---- inline to parse: [baz] ------------------------------------------------------------------------------- commonmark_test_suite  cm: run against commonmark test suite ------------------------------------------------------------------------------- /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:203 ............................................................................... /home/alexis/snapwebsites/snapcpp/contrib/commonmarkcpp/tests/catch_commonmark.cpp:299: FAILED:  CATCH_REQUIRE( result == html ) with expansion:  "
  • foo
    • bar

baz

" == "
  • foo

    • bar

    baz

"  SECTION: verify runtime vs compile time eventdispatcher version numbers =============================================================================== test cases: 5 |  3 passed | 2 failed assertions: 2235990 | 2235987 passed | 3 failed Command exited with non-zero status 42 0.68user 0.09system 0:00.78elapsed 99%CPU (0avgtext+0avgdata 7040maxresident)k 0inputs+4376outputs (0major+598minor)pagefaults 0swaps info: test logs were saved in: "../../BUILD/Debug/contrib/commonmarkcpp/tests/tests.log". error: test(s) failed. Build, Tests/Coverage, or Upload failed.

Back to list