Skip to content

Commit bd8d8c4

Browse files
committed
Markdown: Ignore leading whitespaces when getting heading and detect \#
1 parent 87d0d57 commit bd8d8c4

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

Units/parser-markdown.r/simple-markdown.d/expected.tags

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ F input.md /^F$/;" s chapter:C end:106 sectionMarker:-
2828
G input.md /^ G$/;" s chapter:C end:109 sectionMarker:-
2929
H input.md /^ H$/;" s chapter:C end:112 sectionMarker:-
3030
I input.md /^ I$/;" s chapter:C end:128 sectionMarker:-
31+
C\\# input.md /^# C\\#$/;" c end:129 sectionMarker:#
3132
x input.md /^function x$/;" f
3233
y input.md /^function y$/;" f
3334
z input.md /^z()$/;" f

Units/parser-markdown.r/simple-markdown.d/input.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,4 @@ text
126126
- ignored
127127
-
128128

129+
# C\#

parsers/markdown.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ static int makeSectionMarkdownTag (const vString* const name, const int kind, co
137137
static vString *get_heading(const int kind, const unsigned char *line,
138138
const int line_len, bool *delimited)
139139
{
140+
int pos = 0;
140141
int start = kind + 1;
141142
int end = line_len - 1;
142143
vString *name = vStringNew();
@@ -145,7 +146,8 @@ static vString *get_heading(const int kind, const unsigned char *line,
145146
Assert (line_len > start);
146147

147148
*delimited = false;
148-
while (line[end] == line[0])
149+
while (isspace(line[pos])) ++pos;
150+
while (line[end] == line[pos] && end - 1 >= 0 && line[end - 1] != '\\')
149151
{
150152
--end;
151153
*delimited = true;

0 commit comments

Comments
 (0)