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
Before this patch, the software tried to open all the text MIME type
in the main window regardless any setting in the configuration file
that imposed to use a program to open a file based on a regular
expression (e.g. `open "^((gemini://)|(\\.)|(/)).+txt$" with "vi"',
did not worked).
encoded, but non-gemini, file;
- [rpc] added tour links slot for gemni window (server);
- added loading configuration file for GUI (RPC client) at start;
- refactored metadata slot thei is now used by a TUI window and the server side gemini window;
- added optional string bag parameter to 'text-utils:trim-blanks'.
moreover used this slots when downloading a gemini stream
This changes means that the parsing of gemini stream is no more done
in program events but during the downloading thread.
See, for example the changes in: 'gemini-viewer:make-gemini-download-event'
- added a parameter to prevent notification when downloading a gemini stream
see 'gemini-viewer:request-stream-gemini-document-thread';
- added a more human friendly constants for each gemini status code
(e.g. +success+ for code 20).
- as the gemini parser has status added a parameter ('initialize-parser') to
'gemini-parser:parse-gemini-file' (default to nil, do not initialize);
- initialize the gemini parser when needed.
content with an external program.
using "no wait" directive can be followed by "buffer NUMBER" to
customize the cache (in Mib) to be cached before opening the partial
downloaded data.
When a fragment is present in a uri/iri it is used as a regular
expression to search in the *source* of the text, the window's content
is moved to shows the *rendered* line where matching occurred.
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).
and a gemini text is streaming;
if there is some gemini text streaming the function
'ui:clean-temporary-file' will remove the file that the streaming
thread is using for caching. So when the gemini rendering thread
returns will try to remove the already deleted file, leading to a
crash.
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.