This may be useful for users who find prediction's activity right of
the cursor distracting.
Prediction underscoring is still a little weird sometimes, it replays
a history of known/unknown changes as acks come in from the server.
Consolidate multiple printfs.
Break up multiline strings with string concatentation, for better
clarity and shorter lines.
Use fputs where appropriate.
This also has the benefit of producing a single constant string with
copyright and versions in the binaries.
Recent versions of tmux master gave us an 80x23 window. tmux has been
fixed to default to 80x24, and also to allow setting window sizes in
control mode. These flags fortunately do not conflict with older
versions tmux. So we use them to avoid problems going forward.
On some Linux systems this is the default. On most other operating
systems accepting IPv4 connections on a IPv6 socket only happens when
explicitly requested. Even on Linux it depends on the sysctl config.
This change makes it independent from the system's defaults whether IPv4
connections will be accepted too through the same socket.
JuiceSSH apparently has a bug where ECH for one character (ESC [ 1 X) does
not actually erase the character, in its code that receives and interprets
Mosh state updates. This was hidden before because Mosh <= 1.2.5 never sent
this sequence, it sent ESC [ X instead as an optimization.
Do the better optimization of sending spaces for short sequences of blanks
instead.
This uses the same utility function that mosh-client/mosh-server do.
This resolves portability issues with the 'locale' command.
This fixes OpenBSD 6.0 and probably Haiku builds.
Unaligned data on ARM architectures do not perform efficiently unaligned
memory access, and in the case of ARMv7 and iOS it completely breaks. The OCB
algorithm dereferences a uint64x2_t pointer, and is replaced by a
memcpy to avoid penalties when trying to align it.
More info https://brewx.qualcomm.com/bws/content/gi/common/appseng/en/knowledgebase/docs/kb95.html
Also makes this bit of code more readable, but the overall handling of
Unicode characters in Actions and Transitions is messy, and may get
reworked later.
These should output to stdout and exit with status 0. Passing
std-options to AM_INIT_AUTOMAKE causes ‘make installcheck’ (hence also
‘make distcheck’) to verify this.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
A character cell can only be either narrow or wide. It's more
convenient to represent that as an int containing 1 or 2, but slightly
more correct to represent it as a "boolean" single-bit integer.
The terminal framebuffer was not resetting the wrap state of a row
when a previously-wrapping line was overwritten by a non-wrapping
line. Restore previous, subtle behavior of line wrap. Fix wrap
verification bug now exposed by emulation-wrap-across-frames.test.
Also hoist some getters, mostly for clarity.
Fixes#820.