After discussing on IRC (thanks!) i think is legit (according to the
specification) to have URL like that:
titan://invalid/path/to/script;mime=text/plain;size=1;token=foo?query=bar
There is no sense to share it between multiple threads parsing a
gemini stream as the status of the parser (preformatted or not) from
one could leaks into another.
no string typed on the command line);
- fixed chrash when completing bookmark entry with non word character
(e.g. '[');
- added macro 'gemini-parser:with-initialized-parser';
- added source metadata (sourceline and source-line-id to results of
gemini parsing to IR (see: sexp->text-rows).
function local to thread local;
- fixed 'line-oriented-widget:append-new-rows'; uses slots instead of
accessors as, for example, message window skips invisible lines
when specialzed (on message-window) method 'rows' is called.
i got rid of slot support-text in message-window, so that class does
not maintain a state.
- changed behaivour of split-line
(split-line (format nil "~2%")) ; => ("" "")
That is an emtpy line is returned as empty string and not skipped
Thanks to people from IRC and cl-ppcre maintainer for help!
- [breaking changes] changed 'hooks:*before-prepare-for-rendering-message*
with 'hooks:*before-rendering-message-text*.
- added some messages to debug protocol;
- asking for query event got minimum priority to prevent being
hidden by informational messages on the command line (e.g the
message that inform the user that the client is going back in
history);
- always stream contents that are repsonses to a query;
- added gemini-client:request-dispatch and rewritten
gemini-client:slurp-gemini-url based on the former.
the implementation more or less follow
gemini://mozz.us/files/rfc_gemini_favicon.gmi but it does render the
first character of the file instead of checking for emoji
characters.
way (in a different thread)
- [gemini] prevent links to be appended even when user is opening a new document;
- [gemini] added a notification when download of a gemini document has terminated.
thread) the contents of a gemini file parsed so far without waiting
for the whole document to be read from the socket.
This feature should prevent blocking the client when the server
never close the socket (i.e. for streamed contents).
using 'gemini-page-theme' class some elements of the rendered page
(header prefix, bullet and so on) can be customized.
users can use configuration files directive to change the appearance of said elements
(both character and color or font variants);
- removed unused argument from command line switch: '-m'.