Commits


rename gen-emoji-matcher.sh -> genemoji.sh


fix compilation; add missing header


document reply-last-input and M-r


make `reply-last-input' work on gopher too


reply-last-input was an idea by thfr


sync changelog


reply-last-input: reply input requests on demand Telescope now remebers the last URL (per tab!) that replied with 1X (input request.) The new command reply-last-input allows to resend a query to that URL. It's particularly useful with capsules that make a heavy uses of 10 replies (search engines or similar, interactive pages, etc) because it both saves a network roundtrip and the user from looking for the "search" link all across the page ;-) idea from a conversation with thfr@, thanks!


ui_require_input: take a fn pointer instead of the protocol number


only memcpy into imsg->data if datalen is not zero Passing a NULL pointer to memcpy is UB no matter if len is 0 (commit by claudio@, backporting for telescope.)


set_scroll_position: further semplifications Simplify it even further. There's no need to keep the curfound variable *at all*: if we end the loop, current_line is not found.


set_scroll_position: always set current_line There's a small chance we may end up finding the topline but not the current line if a page content is abruptedly changed. While here also drop `curfound = 1': it's a dead assignment since it returns in that conditions. Bug found while reading the output of clang' scan-build, but not thanks to clang. scan-build complained about the `curfound' variable, and by re-reading the code I spotted the missing case.


gemini_parse_reply: return code and don't close connection clang static analyzer found a possible use after free: if the code is not 2X in gemini_parse_reply we call close_conn. Then, in net_read we set req->done_header, but req may have been free'd! Actually, this is almost impossible to trigger. close_conn never ends up calling free(req) on its first try, because tls_close takes a while and is rescheduled by libevent. (The check req->ctx != NULL in close_conn is always true if it's a gemini request.) Nevertheless, it's clear to move close_conn out of gemini_parse_reply and simply return the response code: it feels wrong that a "parsing function" takes logic decisions.


declare data as uint8_t *; pointer arith on void * is a GNU extension


add some more warnings to the mix


fix tests for build out-of-tree now `make distcheck' works as advertised