Commits


move defaults.c prototypes in defaults.h


convert the remainig uses of phos_uri to the iri API


apply load-url-use-heuristic for command line arguments too This semplifies a bit the handling. humanify_url() now takes the base URL which we can then use when not using the heuristics. Command-line arguments now take an implicit base of <file://$PWD/> when the heuristics are disabled, so that foo.gmi resolves to the local file even without <./>. See github issue #10.


make do_load_url and friends return void The 0/1 difference was once important since it would give the caller an idea whether the page was loaded immediately or asynchronously. This doesn't matter anymore. Furthermore, this whole family of function can't really fail (as telescope doesn't handle memory allocation failures gracefully.)


make clear to which struct every L_* flag is supposed to belong to


start to refactor the rendering Previously each vline (visual line) had a full copy of its associated string, this changes it so it only slices a part of the parent line. Reduces significantly the memory usage. This actually worsen the emojify-link glitch reported by Freezr after the some recent refactoring in the wrapping code. Not a big deal since I'm about to restructure the whole rendering bit by bit (hopefully!)


remove wrap_one, use an extra parameter for wrap_text


use libgrapheme for text reflowing unlike the previous hack, libgrapheme is UNICODE 15.0 compliant (at the time of writing) and provides some nice API. While here, drop the hard wrap method for preformatted blocks: always use the normal wrapping. Since libgrapheme is not yet widely available, future commits will probably add a bundled version to ease packaging. I'll also start to replace various home-grown UNICODE/utf8 handling routines with functions from libgrapheme.


garbage collect even more IMSG types these are unused after the fs/ui merge.


s/IMSG_GET_RAW/IMSG_GET and gc unused IMSG_GET_FILE


garbage collect `dequeue_first_download'


drop the `buffer' flag for enqueue_download it's unused as write_buffer now writes a buffer to the disk.


merge update_cert and tofu_update into tofu_update_persist


merge tofu_add and save_cert into tofu_save


move bookmark_page off fs.c