Previously, mosh used extensive -I flags and all of the mosh-local
makes it really hard to tell what the proper dependency graph is, so
instead remove the -I arguments in favvor of $(top_srcdir) and qualify
the paths wherever they are used.
* Reduce the size of Terminal::Cell.
* Change colors and attributes in Terminal::Rendition to bitfields/bitmask.
* Change Cells to use UTF-8 strings instead of vector<wchar_t>. Store Rows in a vector instead of a deque.
* Add various Framebuffer::append() methods for more efficient passing of single and repeated characters.
* Change title/icon strings from deques to a vector typedef-- this is more for tidiness than any real performance.
terminfo does not have reliable information on this, so we hardcode a whitelist
of terminal type prefixes. This is the list from Debian's default screenrc,
plus "screen" itself (which also covers tmux).
Closes#172.
Closes#191.
“If two pointers p and q of the same type point to different that are
not members of the same object or elements of the same array or to
different functions, or if only one of them is null, the results of
p<q, p>q, p<=q, and p>=q are unspecified.”
Signed-off-by: Anders Kaseorg <andersk@mit.edu>