Commit Graph
100 Commits
Author SHA1 Message Date
david parsons 2e2ddad4db set the version to 3.0.0b 2023-12-11 19:50:46 -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 parsons faa5150346 add the new runtime flag ALT_AS_TITLE; if an image has no title, use the alt text as the title 2023-02-21 11:03:12 -08:00
david parsons 5d13c2828d add config.sed to the list of config files (to avoid HILARIOUS errors if I simply rsync a discount to a different machine 2023-01-26 18:17:11 -08:00
david parsons 34d18df915 up to v 3.0.0a 2022-10-27 11:35:18 -07:00
david parsons 262c7c7dba fix code indentation in a test program in configure; tweak title
generation in xmlpage to stop gcc & clang from complaining about
dangling elses
2022-10-27 11:19:39 -07:00
david parsons e451aac683 add a new testcase to verify that -> ... <- works properly 2022-10-22 20:33:57 -07:00
david parsons ef25172009 start tweaking in preprocessor support; start with a rough m4 framework 2022-10-22 20:33:17 -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 37b22a997e match the descriptions for MKD_STRICT in mkdio.h.in & markdown.h 2022-10-04 12:27:16 -07:00
david parsons 583969803f hunt down and remove all references to the NORELAXED flag (now STRICT) 2022-10-04 12:22:55 -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 e12437122a rolling in the v2.2.7c fix to tag behavior patch 2022-10-04 12:07:49 -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 10c99d3a64 left out <sys/wait.h> 2022-08-02 09:45:17 -07:00
david parsons 97784f4ca5 don't use WNOHANG in waitpid; check child status to see if the formatter exited normally or abended & return the original code fragment if the latter 2022-08-02 09:34:31 -07:00
david parsons 5b6e5b0e07 change the external code block formatting option into an actual external code block formatter 2022-08-01 13:41:33 -07:00
david parsons 26ba488a8a make the new function hoptdescribe(), which is exactly like hoptusage() except it has an additional verbose flag that tells it to do a more described list of the options 2022-07-31 23:34:13 -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 4cdcac0d90 by request change the document type from html 4.0 to whatever the current version of html is (currently 5) 2022-06-19 17:47:30 -07:00
david parsons 63f542f34d silence the commands to make the exerciser programs 2022-06-18 09:08:48 -07:00
david parsons b81982c8a7 didn't catch one of the -C's in the exerciser makes? 2022-06-18 08:56:18 -07:00
david parsons 487c07f4cf working around the embedded gnuism is harder that I thought 2022-06-18 02:29:03 -07:00
david parsons 85684a0b79 bitten by a GNUism; I was using make -C to build the exercisers, which isn't portable 2022-06-18 02:23:20 -07:00
david parsons 4fecf0bd46 xmlpage had a variable declaration in the middle of a block 2022-06-18 02:11:23 -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 066d0ed47c I had a variable defined in the middle of a block, which is a C nocando. 2022-06-18 01:22:16 -07:00
david parsons 1c3c0e9d39 Merge branch 'main' of github.com:Orc/discount into main 2022-06-18 00:27:36 -07:00
david parsons a0d2a96024 when checking character classes move the utf-8 check in front of all of the other checks; some versions of MSC have a debug mode so if a character isn't either 7-bit ascii or EOF the character class check functions will abort the program. Like, um, yeah, way to creep those standards, people! 2022-05-30 13:32:29 -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 e42b39d8ed pass @LD_LIBRARY_PATH@ to function checkers in tests/exercisers 2022-05-13 22:11:59 -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 78e91047cd ugh. Prefixed the wrong thing with TOPDIR 2022-05-13 21:35:29 -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 b3f7b306e7 clean up the internals of mkd_copy_flags() 2022-05-13 19:20:23 -07:00
david parsons 76deae28d2 forgot to put a prototype into mkdio.h.in 2022-05-13 18:21:25 -07:00
david parsons b79887284a add a flag copy function 2022-05-13 16:38:45 -07:00
david parsons 2739f6de43 messed up pandoc header flagging; it defaulted to NOHEADER in populate() 2022-04-22 02:18:22 -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 0137688a6b clean up fenced code marker detection 2022-04-11 09:53:53 -07:00
david parsons 543628f9f4 the toplevel compilation pass needs to back out of an unclosed bit of fenced code 2022-04-08 23:54:20 -07:00
david parsons 6c1d704075 tweak the fenced code disaster 2022-04-08 23:18:24 -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 e2358b85c0 document the -toc flag in the markdown program 2022-04-04 00:46:56 -07:00
david parsons 0571211c84 I wasn't properly uniqifying the top level of compiled fragments for toc labels 2022-03-28 10:18:11 -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 343845b66d rework the whole TOC uniquifier so it only runs at the end of a compilation; put code in (#ifdeffed out) to recursively uniquify names if I ever decide to throw a wider net when generating a TOC 2022-03-23 16:08:07 -07:00
david parsons b0c4415947 don't use diff -c (Busybox diff doesn't support it) but just dump the diff output to /dev/null 2022-03-22 17:30:37 -07:00
david parsons 599617843e implement a toc label uniquifier 2022-03-22 17:01:14 -07:00
david parsons 5b0d7fd8e8 oops, forgot to add space2nl to sccs 2022-03-22 09:10:52 -07:00
david parsons 1473d6b678 Merge branch 'main' of github.com:Orc/discount into main 2022-03-21 14:00:29 -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 26d6ea4634 clean up acLookfor so it doesn't do a break 3 where a return would do 2021-11-08 11:12:29 -08: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 f02cee798f accidentally mixed code and declarations in theme.c, which makes old versions of gcc puke 2020-11-27 08:09:06 -08:00
david parsons 0ba5f4198f ugh, forgot to in AC_CHECK_ATTRIBUTE 2020-11-27 07:54:19 -08:00
david parsons f2d1c079cc I need to use AC_UPPERCASE in AC_CHECK_ATTRIBUTE 2020-11-27 07:48:58 -08:00
david parsons fec9d47332 strip out some inadvertant bsdisms/gnuisms from configure.inc 2020-11-27 07:37:39 -08:00
david parsons c766bc5569 changed the main branch name to 'main', so the what's my branch name? tool needs to know about that 2020-06-14 12:33:20 -07:00
david parsons 90f4342678 split pgm_options into itself + flagprocs so that the new flag set/clear functions can be placed into the library w/o bringing in the rest of pgm_options 2020-05-27 14:30:31 -07:00
david parsons bbfb1a7f87 strip out the unused prototypes for mkd_flag_set & mkd_flag_clear (discount3 uses mkd_set_flag_num & mkd_clr_flag_num) 2020-05-26 20:23:48 -07:00
david parsons c444b233db add v2compat to the libmarkdown library in the cmakefile 2020-05-26 17:15:16 -07:00
david parsons c4b97d6cf7 use mkd_free_flags() in all the demo programs 2020-04-08 12:26:13 -07:00
david parsons e3042eb904 add a free_flags() function to complement the flag blob maker 2020-04-08 11:46:26 -07:00
david parsons e42188e6c4 didn't include $(MKDLIB) as a requirement for pandoc headers, leading to hilarity when I did a make -j 2020-04-08 01:24:14 -07:00
david parsons 29fd434453 restructure the dd accumulator in definition_block() so that the goto isn't *quite* so horribly an abuse of block structure 2020-04-08 01:21:56 -07:00
david parsons 53965d67c8 add a testcase for empty ## 2020-03-28 23:21:58 -07:00
david parsons 1003923bca fix a malloc overflow when doing mkd_anchor_format() 2020-03-28 23:14:23 -07:00
david parsons 2e900346a0 make the published mkd_flag_t opaque and add a new function (mkd_flags()) to generate a flag structure and return it in malloced memory 2020-03-07 19:56:22 -08:00
david parsons 12e8c9c715 messed up the number of bits in a byte? 2020-01-26 12:45:48 -08:00
david parsons 5a59d221aa document mkd_e_code() 2020-01-24 09:16:58 -08:00
david parsons 61b336fd28 have v2compat convert from the 2.2.6 flags, not the flags that live in the limbo between 2.2.6 and v3 2019-12-18 10:17:41 -08:00
david parsons dfb7e00281 start gluing up a v2 compatability layer 2019-12-15 21:08:36 -08:00
david parsons 74a3544bf5 fix up theme default settings in configure.sh 2019-12-10 22:40:50 -08:00
david parsons 43c5c0496b fix up theme default settings 2019-12-10 22:37:51 -08:00
david parsons e677e83165 update the header verification program so it works with the new flag format; cosmetically tweak mkdio.h.in & markdown.h to make it easier to automatically diff the two enums 2019-12-10 09:24:46 -08:00
david parsons c5ea5bbadf redo the mkd_flag_t set functions to more closely fit how I'm using them and to have more descriptive names 2019-12-08 09:39:23 -08:00
david parsons 9d1b68af38 do more checking for null pointer flags in the published interface 2019-12-08 08:47:09 -08:00
david parsons eb3cea8983 more cleanup of null pointer dereference crashes during pandoc header processing 2019-10-29 18:41:45 -07:00
david parsons fd801c6951 don't COPY_FLAGS null flags; just initialize to 0s 2019-12-08 08:16:22 -08:00
david parsons b9e867b574 redo the whole flags dealie as an opaque blob 2019-12-07 22:49:52 -08:00
david parsons d74c180a8c Merge github.com:Orc/discount into v3 2019-07-30 13:56:32 -07:00
david parsons aeadbe2549 Pull in patches for msvc & plan9 builds 2019-06-15 16:30:27 -07:00
david parsons 4b67316d6e mkd2html wasn't properly handling two arguments for input & output files. While I was at it, add the -G option to use gfm_in() to read the input file in (and preserve newlines) 2019-04-15 08:28:20 -07:00
david parsons 5a4f0170ca mkd2html wasn't properly handling two arguments for input & output files. While I was at it, add the -G option to use gfm_in() to read the input file in (and preserve newlines) 2019-04-15 08:24:53 -07:00
david parsons 1bec1a0ef2 since github checkboxes are configured to be input objects by default, don't have a bare --github-checkbox non-intuitively set them to html entities 2019-04-15 07:15:35 -07:00