Commit Graph
272 Commits
Author SHA1 Message Date
jessica parsons 52db5cfdc9 add an explicit 'int' to the main declaration in 300.c; also add an exit(0) for whiny C compilers; lowercase the title in limits.t 2026-06-19 12:51:51 -07:00
jessica parsons 2ae87732d9 add code to do maximum recursion depth, and default it to 200 2026-06-16 01:54:15 -07:00
jessica parsons a55e87e63d add a 'section_break' flag into the line structure to keep the contents of adjacent blockquote chunks as separate blocks inside the blockquote 2026-06-09 12:07:54 -07:00
jessica parsons 39be61ef2c go back and tweak the effing fenced code disaster area so that it will break fenced code out into its own div and consume html & footnotes at the top level. 2026-05-31 14:12:03 -07:00
jessica parsons 286f43f7d4 forgot to add a test case for linkylink extended attributes 2025-08-30 01:23:47 -07:00
jessica parsons 61c748f021 add support for extended attributes on [] & ![] links 2025-08-30 01:09:53 -07:00
jessica parsons 6ff6878cfd add support for % widths & heights for images (original implementation by mwfong-csl (on github); my implementation only because I couldn't figure out how to pull github patch requests into my master repository on pell) 2025-08-29 17:01:07 -07:00
jessica parsons ae3f28f5de fix the tests for expected output from markdown -b<prefix> 2024-10-07 01:33:09 -07:00
david parsons 01aacfdf02 add 3 testcases for mkd_basename (-b flag in the markdown program) 2024-10-07 01:25:16 -07:00
jessica parsons c454b323c9 add a test case for LaTeX single $ quotes 2024-09-05 15:13:17 -07:00
david parsons 5396375eca it's not an email address if it starts with a '@' 2024-02-06 21:26:16 -08:00
david parsons 2eea56e23f add a test case for >%class1 class2% 2024-02-06 15:17:19 -08:00
david parsons 9939a3fa20 make tools/rep.c fancier by expanding backslash escapes; add a crash test for a #header line with a bucketload of trailing spaces 2023-12-14 17:25:52 -08:00
david parsons 95ca643137 fix a bug in tab expansion where I was lazy, assumed that T() strings would always be null-terminated, but didn't null terminate the resulting string after a tab expansion 2023-12-14 02:21:47 -08:00
david parsons deca3b64b0 okay, the whole callback structure was a hot mess; change it so that every different callback has its own date & free function 2023-12-13 21:31:04 -08:00
david parsons 6fbfeb9116 fix a handful of places where I either didn't guard against underflows or null pointers; add test cases for them in crash.t 2023-12-11 19:42:37 -08:00
david parsons a096c1a3aa fix some brokenness in markdown extra footnotes that made adjacent footnotes not render properly 2023-08-13 19:54:21 -07:00
David Seifert 7afa5c6242 Make C99 clean
* Clang 16 (and likely GCC 14) will enforce strict C99 semantics
  and break old K&R C declarations and require correct C89
  function prototypes.

Bug: https://bugs.gentoo.org/870952
Clang: https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213/9
2022-10-27 11:08:49 -07:00
david parsons e451aac683 add a new testcase to verify that -> ... <- works properly 2022-10-22 20:33:57 -07:00
david parsons 4a73e7f7d6 have all of the extensions code guarded by checking against MKD_STRICT 2022-10-05 12:22:28 -07:00
david parsons 2206091f80 add a fistful of test cases for the new! improved! Markdown.pl compatible <tags> 2022-10-04 12:12:54 -07:00
david parsons eff5405d86 rework the tag handler to more closely adhere to Markdown.pl's observed behavior; also treat incomplete tags as actual tags in compatability mode (-fstrict) 2022-10-04 12:12:09 -07:00
david parsons 376656c77c the behavior of tags-starting-with-alpha-/-! was not like that of the reference implementation; fixed (in a very script-kiddy leaky fashion which I can't resolve with a runtime flag thanks to the 32 bit flags field in the 2.x series :-( 2022-10-04 11:49:20 -07:00
david parsons f8512ad0f0 streamline the exerciser make.include; use the toplevel .c.o rule to make objects, DON'T use $< when making executables because bsd make populates it with MKDLIB, which doesn't actually work 2022-07-30 23:29:36 -07:00
david parsons 6c015711e0 change fenced code behavior to not have a leading newline before the first line within the fence 2022-07-30 23:20:20 -07:00
david parsons 89f1dfdef7 more tweaking; when I include $(MKDLIB) as a dependency for an exerciser test, $< disappears when compiling on netbsd8? 2022-07-20 17:13:14 -07:00
david parsons 380229266f don't forget to set up LD_LIBRARY_PATH when running the exerciser tests 2022-07-30 07:50:08 -07:00
david parsons 6e03172bea tweak the makefiles to ensure that libmarkdown (a synthetic target) is make before any of the executables are assembled during a parallel make 2022-07-30 14:39:42 +00:00
david parsons 25f24b5bf4 rework how flags are initialized & configured for <?theme commands 2022-07-29 23:59:48 -07:00
david parsons 436a0c033e change from submakes to included makefiles 2022-06-22 13:43:51 -07:00
david parsons f4b7dd8b64 move the -lmarkdown to the END of the commandline where I link the flags exerciser program, because otherwise it doesn't get properly included in the link on one of my mips linux boxes? 2022-06-18 02:00:54 -07:00
david parsons 30ac4a5b1c shut up the 'nothing to be done' message in this submake. 2022-05-13 23:48:51 -07:00
david parsons 57ef3dd3d2 tweak the exerciser makefile a bit; have the toplevel makefile build the exerciser programs as part of make all 2022-05-13 22:33:56 -07:00
david parsons 5ae6841337 voidify the say() function in tests/exercisers/flags.c 2022-05-13 22:27:29 -07:00
david parsons fa3def69c7 in the flags exerciser, put all output to stdout, /not/ stderr 2022-05-13 22:19:51 -07:00
david parsons 8a04e31105 add some tests against null flag parameters 2022-05-13 21:55:54 -07:00
david parsons 39874c6072 use -I$(TOPDIR) & -L$(TOPDIR) when building things in tests/exercisers 2022-05-13 21:44:50 -07:00
david parsons 8d9707a4fa add spotless recursion; pass TOPDIR to the test/exercisers so I can construct an appropriate @LD_LIBRARY_PATH@ for running the test programs 2022-05-13 21:25:50 -07:00
david parsons 5fa07a501e clean the exercisers directory when cleaning everything else 2022-05-13 21:00:33 -07:00
david parsons d9847e36be add an exerciser to verify flag set, flag clear, and flag copy 2022-05-13 20:14:37 -07:00
david parsons 74f6bd9b49 checkline was still having problems with properly detecting fenced code blocks 2022-04-11 14:25:12 -07:00
david parsons 1321a22ecd first pass at collapsing fenced code blocks into regular paragraphs 2022-04-07 22:36:36 -07:00
david parsons 304344cf1f I was a little too aggressive when stripping out the recursive uniquification (& redo the test case to reflect starting sequences at zero instead of 1 2022-03-23 16:10:58 -07:00
david parsons 599617843e implement a toc label uniquifier 2022-03-22 17:01:14 -07:00
david parsons 38b2ce4b5c work around a bug with some implementations of tr that don't map \n to a newline 2022-03-21 13:56:44 -07:00
david parsons 618fdc5d5e attempt to fix the defect where footnote links in <>'s are not trimmed 2021-06-07 11:57:39 -07:00
david parsons 53965d67c8 add a testcase for empty ## 2020-03-28 23:21:58 -07:00
david parsons b9e867b574 redo the whole flags dealie as an opaque blob 2019-12-07 22:49:52 -08:00
david parsons b52ec440d4 strip out MKD_STRICT as a single flag (convert it into a composite flag that turns off a whole bunch of extensions); use that flagbit to disable github checkbox items, strip out MKD_DLIST as a single flag (convert it into a mask of MKD_DLDISCOUNT|MKD_DLEXTRA, and rework pgm_options so that 'strict' and 'relaxed' apply only to emphasis and 'standard' is the flag that sets & clears flags to make it closer to the standard. Version 3 because I'm fucking with the published interface 2019-04-14 20:56:55 -07:00
david parsons 18b65b162c add two more tests (unfinished fenced code block, paragraph then fenced code block) to codeblock.t 2019-02-10 10:05:34 -08:00