| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Otherwise, container will just happily kill the buffer and with it the
loader process before it would have had the chance to stream out the
input into the external process.
|
|
|
|
|
|
|
|
| |
* disallow Stream interface usage on non-blocking PosixStreams
* do not read estream of forkserver byte-by-byte (it's slow)
* do not call writeData with a zero len in formdata
* do not quote numbers in mailcap quoteFile
* remove some unused stuff
|
|
|
|
| |
also spawn less processes in some cases
|
|
|
|
| |
TODO should be configurable
|
|
|
|
| |
it broke line info in console since it's never fully loaded
|
| |
|
| |
|
|
|
|
| |
useful for filtering stuff through commands like rdrview
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At last all BufferSources are unified.
To achieve the same effect as the previous CLONE source type, we now
use the "fromcache" flag in Request. This *forces* the document to be
streamed from the disk; if the file no longer exists for some reason,
an error is returned (i.e. the document is not re-downloaded).
For a document to be cached, it has to be the main document of the
buffer (i.e. no additional resources requested with fetch()), and
also not an x-htmloutput HTML file (for those, the original source is
saved). The result is that toggleSource now always returns the actual
source for e.g. markdown files, not the HTML-transformed version.
Also, it is now possible to view the source of a document that is
still being downloaded.
buffer.sstream has almost been eliminated; it still exists, but only as
a pseudo-buffer to interface with EncoderStream and DecoderStream. It no
longer holds the entire source of a buffer at any point, and is cleared
as soon as the buffer is completely loaded.
|
| |
|
| |
|
|
|
|
|
| |
Instead, use a stream: scheme and associate hostnames with file
descriptors directly from the pager.
|
| |
|
|
|
|
|
|
| |
* move out half width <-> full width converters
* snake_case -> camelCase
* improve toScreamingSnakeCase slicing
|
|
|
|
| |
Previously we were overwriting it, and that looked a little strange.
|
| |
|
|
|
|
|
| |
Move forkBuffer into forkserver (why was it in container anyway), remove
unused mainproc variable, etc.
|
|
|
|
|
| |
* pass 0 so e.g. git does not hang
* use sigtstp so e.g. cgi scripts can clean up if needed
|
|
|
|
| |
Pointless; it just returned a default zero-initialized object.
|
|
|
|
|
| |
cursorWordEnd & cursorWordBegin must only change the current line if
no new word was found.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add functions for moving to the beginning/end of words (vi `b', `e').
* As it turns out, there are many possible interpretations of what a
word is. Now we have a function for each reasonable interpretation,
and the default settings match those of vi (and w3m in w3m.toml).
(Exception: it's still broken on line boundaries... TODO)
* Remove `bounds` from lineedit, it was horrible API design and mostly
useless. In the future, an API similar to what pager now has could
be added.
* Update docs, and fix some spacing issues with symbols in the tables.
|
|
|
|
| |
It is mostly unnecessary, and conflicts with our use of termcap anyway.
|
|
|
|
| |
They only had type definitions, no need to put them in separate modules.
|
| |
|
|
|
|
|
|
|
|
| |
* css/cascade: copy stylesheet in applyMediaQuery (so that changes
are reverted on re-style)
* buffer: clear prevstyled in windowChange (to avoid using cached
results from previous cascading passes); set window.attrs
* pager: avoid windowChange if new attrs are identical to the old ones
|
| |
|
| |
|
| |
|
|
|
|
| |
much better
|
|
|
|
|
|
|
|
| |
One is a false-positive (in dom).
The other one in pager is something I hadn't noticed before, that's
nice. For now I want to avoid making a change that may break things, so
I just removed the dead code.
|
|
|
|
|
|
| |
Now it actually does what it was supposed to do.
Also, clarify what it does in config.md
|
|
|
|
|
|
| |
We need to select (first byte of first char)..(last byte of last char).
Also, in line/block mode we no longer add the final newline to
selections.
|
| |
|
|
|
|
|
|
| |
This was documented, but not implemented until now.
Also, improve the loader module's protocol documentation.
|
| |
|
|
|
|
|
| |
This way we can at least view HTML source of x-htmloutput filtered
buffers. TODO: make it render the actual source instead.
|
|
|
|
|
| |
It may fail if the buffer process could not successfully create a server
socket.
|
| |
|
|
|
|
|
|
|
| |
* Makefile: fix parallel build, add new binaries to install target
* twtstr: split out libunicode-related stuff to luwrap
* config: quote default gopher2html URL env var for unquote
* adapter/: get rid of types/url dependency, use CURL url in all cases
|
|
|
|
|
| |
Avoid computing e.g. charwidth data for http which does not need it
at all.
|
|
|
|
|
|
| |
This is better than %u as it is backwards compatible (i.e. does not rely on
other user agents doing whatever upon encountering an unknown substitution
template.)
|
|
|
|
|
|
|
|
|
| |
* Paths are now parsed through an unified code path with some useful
additions like environment variable substitution.
* Fix a bug in parseConfigValue where strings would be appended to
existing arrays (and not override them).
* Fix beforeLast calling afterLast for some reason.
* Add a default CGI directory.
|
|
|
|
|
| |
Default is vi-style, but w3m-style marks work as well; see
bonus/w3m.toml.
|
| |
|
|
|
|
|
|
|
|
| |
{ & } acts like in vi (except the cursor is not moved to the line
beginning).
No reason to leave externInto undocumented, as it is even used in
the default config.
|
|
|
|
|
|
|
|
|
|
| |
* Add select & copy selection functionality to container
* Fix bug in generateSwapOutput where output could be misplaced
because of zero-width cells
* Add fromJSPromise, call runJSJobs in every iteration of the
headed event loop
* "await" pager actions that output a promise
* Change default view source keybinding to `\'
|
|
|
|
|
| |
* bindings/quickjs: importc and use correct pointer types
* add constcharp module for when it is unavoidable
|
| |
|
|
|
|
|
| |
pager.tty refers to infile, not outfile. rename to avoid further
confusion
|
|
|
|
| |
now it's a function
|