Commits


code: add wrappers for common failure cases Certain calls to well-known functions sometimes result in similar error handling across the code base. Sometimes there's a need to centralise the failure case. Achieve this for common wrappers to often-used functions. The transformation is achieved via coccinelle, commited with this patch. Note that coccinelle can be told to ignore code blocks with comment delimiters. This transformation applies just to telescope's code, and not any of the bundled depdencies in telescope (libgrapheme).


constify the parser structs


untangle a bit buffers and parsers Now buffers have a nicer interface, taking explicitly the buffer where they push stuff, and the code that deals with buffers doesn't need to peek into the parsers. The parsers now are 'pure' structs without state attached to them, the state was moved to the buffer.


parsers: add a parseline method all our parsers just need a line to parse and don't always need the free method. The gemtext parser could also be simplified with this, but defer it for later.


some headers cleanup try to not include headers from headers, and remove some redundant include. This helps in modularizing the codebase and also helps during incremental compilations.


include compat.h explicitly in all files don't do it in telescope.h, remove telescope.h from gencmd.awk and sort the headers in parse.y while here.


move all the sources back in the root directory subdir is just messier for no good reason